Todoist MCP Server
Provides tools for managing projects, tasks, sections, labels, comments, and batch operations via the Todoist API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Todoist MCP Servershow my tasks for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Todoist MCP Server
MCP server for Todoist API integration. Published to PyPI
Status
✅ Full Functionality - Now using Todoist unified API v1 with proper pagination support
v0.4.0 - Major expansion: Sections support, Labels management, and Batch operations
Important API Notes
Todoist has numerous API versions with incompatible ID systems:
v1 Unified API (Todoist official ): Uses alphanumeric IDs (e.g.,
69mF7QcCj9JmXxp8)v2 REST API: Uses numeric IDs (e.g.,
7246645180)
This incompatibility means certain features like server-side search are not available in this MCP implementation, as search only exists in v2 but returns IDs incompatible with v1 operations.
Related MCP server: Todoist MCP
Features
Full cursor-based pagination for all endpoints
Configurable limit parameter for all list endpoints
Multi-auth support (environment, config file, runtime)
Complete task and project management capabilities
Sections support (v0.4.0): CRUD operations for project sections
Labels management (v0.4.0): CRUD operations for labels
Batch operations (v0.4.0): Move, update, complete multiple tasks at once
Comment CRUD operations for tasks and projects
Move tasks between projects, sections, and parents
Error handling with detailed error messages
Limitations
No server-side search (due to v1/v2 API incompatibility)
Client-side filtering only for task queries
Installation
pip install todoist-mcpClaude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"todoist": {
"command": "uvx",
"args": ["todoist-mcp"],
"env": {
"TODOIST_API_TOKEN": "your_token_here"
}
}
}
}AmazonQ Developer CLI Configuration
Add to your .amazonq/mcp.json:
{
"mcpServers": {
"todoist": {
"command": "uvx",
"args": ["todoist-mcp"],
"env": {
"TODOIST_API_TOKEN": "your_token_here"
}
}
}
}Alternative: Using mcp-gen
For complex MCP configuration management such as in providing configurations for different contexts ot teams, use mcp-gen with YAML:
See https://github.com/OAuthBringer/mcp-gen/examples for more full examples
# mcp-config.yaml
servers:
todoist:
command: uvx
args: [todoist-mcp]
env:
TODOIST_API_TOKEN: {{ secrets.TODOIST_API_TOKEN }}
```
Then generate your configuration:
```bash
`mcp-gen generate -c mcp-config.yaml -s secrets-file.yaml`Configuration
Authentication options (in order of precedence):
Runtime: Pass token when creating client
Config file:
~/.config/todoist/config.jsonwith{"api_token": "your_token"}Environment: Set
TODOIST_API_TOKEN
Available Tools
Projects
get_projects- List projects with pagination (limit, cursor)get_project- Get single project by IDadd_project- Create new project
Tasks
get_tasks- List tasks with pagination and filtersget_task- Get single task by IDadd_task- Create new task with all propertiesupdate_task- Update existing taskmove_task- Move task to different project, section, or parent
Sections (v0.4.0)
get_sections- List sections for a project with paginationget_section- Get single section by IDadd_section- Create new section in projectupdate_section- Update section namedelete_section- Delete a section
Labels (v0.4.0)
get_labels- List all labels with paginationget_label- Get single label by IDadd_label- Create new labelupdate_label- Update label propertiesdelete_label- Delete a label
Batch Operations (v0.4.0)
batch_move_tasks- Move multiple tasks to project/sectionbatch_update_labels- Add/remove labels from multiple tasksbatch_update_tasks- Update multiple tasks with same propertiesbatch_complete_tasks- Complete multiple tasks at once
Comments
get_comments- List comments for task/project with paginationget_comment- Get single comment by IDadd_comment- Add comment to task or projectupdate_comment- Update existing commentdelete_comment- Delete a comment
Technical Details
Built with FastMCP v2.3.3+
Python 3.11+
Direct API v1 integration using httpx
No dependency on todoist-api-python SDK
Development
# Clone repository
git clone https://github.com/OAuthBringer/todoist-mcp
cd todoist-mcp
# Create virtual environment
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
# Install dependencies
uv pip install -e .
uv pip install -e ".[dev]"
# Run tests
pytestThis server cannot be deployed
Maintenance
Related MCP Connectors
Read teams, spaces, lists and tasks; create, update and comment on tasks and track time.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
- KaneraOAuthapp.kanera
Manage Kanera workspaces, boards, cards, checklists, comments, notes, automations, and reports.
Related MCP Servers
- AlicenseBqualityCmaintenanceComplete Todoist REST API v2 integration with support for tasks, projects, sections, comments, and labels management3522863MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Todoist task management platform through its API, supporting all features from the official Todoist TypeScript Client.228MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Todoist for comprehensive task and project management, including creating tasks with natural language, managing projects, sections, labels, comments, and tracking productivity statistics.2284MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Todoist tasks, projects, comments, and labels through natural language commands. Provides complete CRUD operations securely via the Todoist REST API v2.Apache 2.0