Important
Deprecation Notice: This repository is deprecated.
Doist now maintains the official Todoist MCP tools in the new repository: Doist/todoist-ai. Please migrate to the new tools for continued support and updates.
More details here.
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