{
  "name": "todoist",
  "display_name": "Todoist",
  "description": "Interact with Todoist to manage your tasks.",
  "repository": {
    "type": "git",
    "url": "https://github.com/abhiz123/todoist-mcp-server"
  },
  "homepage": "https://github.com/abhiz123/todoist-mcp-server",
  "author": {
    "name": "abhiz123"
  },
  "license": "MIT",
  "categories": [
    "Productivity"
  ],
  "installations": {
    "npm": {
      "type": "npm",
      "command": "npx",
      "args": [
        "-y",
        "@abhiz123/todoist-mcp-server"
      ],
      "env": {
        "TODOIST_API_TOKEN": "${TODOIST_API_TOKEN}"
      }
    }
  },
  "tags": [
    "task management",
    "todoist",
    "natural language processing"
  ],
  "examples": [
    {
      "title": "Creating Tasks",
      "description": "Example commands for creating tasks",
      "prompt": "\"Create task 'Team Meeting'\""
    },
    {
      "title": "Getting Tasks",
      "description": "Example commands for retrieving tasks",
      "prompt": "\"Show all my tasks\""
    },
    {
      "title": "Updating Tasks",
      "description": "Example commands for updating tasks",
      "prompt": "\"Update documentation task to be due next week\""
    },
    {
      "title": "Completing Tasks",
      "description": "Example commands for completing tasks",
      "prompt": "\"Mark the PR review task as complete\""
    },
    {
      "title": "Deleting Tasks",
      "description": "Example commands for deleting tasks",
      "prompt": "\"Delete the PR review task\""
    }
  ],
  "arguments": {
    "TODOIST_API_TOKEN": {
      "description": "API token to authenticate with the Todoist service",
      "required": true,
      "example": "your_api_token_here"
    }
  },
  "tools": [
    {
      "name": "todoist_create_task",
      "description": "Create a new task in Todoist with optional description, due date, and priority",
      "inputSchema": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "The content/title of the task"
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the task (optional)"
          },
          "due_string": {
            "type": "string",
            "description": "Natural language due date like 'tomorrow', 'next Monday', 'Jan 23' (optional)"
          },
          "priority": {
            "type": "number",
            "description": "Task priority from 1 (normal) to 4 (urgent) (optional)",
            "enum": [
              1,
              2,
              3,
              4
            ]
          }
        },
        "required": [
          "content"
        ]
      }
    },
    {
      "name": "todoist_get_tasks",
      "description": "Get a list of tasks from Todoist with various filters",
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "description": "Filter tasks by project ID (optional)"
          },
          "filter": {
            "type": "string",
            "description": "Natural language filter like 'today', 'tomorrow', 'next week', 'priority 1', 'overdue' (optional)"
          },
          "priority": {
            "type": "number",
            "description": "Filter by priority level (1-4) (optional)",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of tasks to return (optional)",
            "default": 10
          }
        }
      }
    },
    {
      "name": "todoist_update_task",
      "description": "Update an existing task in Todoist by searching for it by name and then updating it",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_name": {
            "type": "string",
            "description": "Name/content of the task to search for and update"
          },
          "content": {
            "type": "string",
            "description": "New content/title for the task (optional)"
          },
          "description": {
            "type": "string",
            "description": "New description for the task (optional)"
          },
          "due_string": {
            "type": "string",
            "description": "New due date in natural language like 'tomorrow', 'next Monday' (optional)"
          },
          "priority": {
            "type": "number",
            "description": "New priority level from 1 (normal) to 4 (urgent) (optional)",
            "enum": [
              1,
              2,
              3,
              4
            ]
          }
        },
        "required": [
          "task_name"
        ]
      }
    },
    {
      "name": "todoist_delete_task",
      "description": "Delete a task from Todoist by searching for it by name",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_name": {
            "type": "string",
            "description": "Name/content of the task to search for and delete"
          }
        },
        "required": [
          "task_name"
        ]
      }
    },
    {
      "name": "todoist_complete_task",
      "description": "Mark a task as complete by searching for it by name",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_name": {
            "type": "string",
            "description": "Name/content of the task to search for and complete"
          }
        },
        "required": [
          "task_name"
        ]
      }
    }
  ]
}