todoist-mcp
Todoist MCP is an integration server for interacting with Todoist via Model Context Protocol, supporting functionalities like task, project, section, comment, and label management. It allows users to create, update, retrieve, and manage Todoist tasks and projects using natural language through APIs implemented from the Todoist TypeScript Client.
Todoist MCP
Connect this Model Context Protocol server to your LLM to interact with Todoist.
Functionality
This integration implements all the APIs available from the Todoist TypeScript Client, providing access to:
Task Management
- 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
Project Management
- Create, retrieve, update, and delete projects
Section Management
- Create, retrieve, update, and delete sections within projects
Comment Management
- Add, retrieve, update, and delete comments for tasks or projects
Label Management
- Create, retrieve, update, and delete labels
- Manage shared labels
Collaboration
- Get collaborators for projects
Setup
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.
Distribution
Smithery
Install Todoist MCP on Claude Desktop using Smithery:
npx -y @smithery/cli install @miottid/todoist-mcp --client claude