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.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- AlicenseBqualityCmaintenanceComplete Todoist REST API v2 integration with support for tasks, projects, sections, comments, and labels management35273 npm63MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Todoist task management platform through its API, supporting all features from the official Todoist TypeScript Client.273 npmMIT
- 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.273 npm4MIT
- 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