Todoist MCP Server
Provides tools for managing projects, tasks, sections, labels, comments, and batch operations via the Todoist API.
Click on "Install 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.
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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OAuthBringer/todoist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server