Connect this Model Context Protocol server to your LLM to interact with Todoist.
This integration implements all the APIs available from the Todoist TypeScript Client, providing access to:
- Create tasks (with content, descriptions, due dates, priorities, labels, and more)
- Create tasks with natural language (e.g., "Submit report by Friday 5pm #Work")
- Retrieve tasks (individual, filtered, or all tasks)
- Retrieve completed tasks (by completion date or due date)
- Get productivity statistics
- Update tasks
- Move tasks (individually or in batches)
- Close/reopen tasks
- Delete tasks
- Create, retrieve, update, and delete projects
- Create, retrieve, update, and delete sections within projects
- Add, retrieve, update, and delete comments for tasks or projects
- Create, retrieve, update, and delete labels
- Manage shared labels
- Get collaborators for projects
Build the server app:
npm install
npm run build
Configure Claude:
You must install the Claude desktop app which supports MCP.
You can get your Todoist API key from Todoist > Settings > Integrations > Developer.
Then, in your claude_desktop_config.json
, add a new MCP server:
{
"mcpServers": {
"todoist-mcp": {
"command": "node",
"args": ["/path/to/repo/build/index.js"],
"env": {
"TODOIST_API_KEY": "your_todoist_api_key"
}
}
}
}
You can now launch Claude desktop app and ask to update Todoist.
Install Todoist MCP on Claude Desktop using Smithery:
npx -y @smithery/cli install @miottid/todoist-mcp --client claude