todoist-mcp
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-mcpAdd a task to buy milk tomorrow at 9 AM with high priority"
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
A Python MCP server for Todoist that provides safe task rescheduling.
The official Todoist MCP server's task-update tool silently drops reminders
and flattens recurring tasks when changing due dates. This server fixes that
by routing all date changes through a custom reschedule_task tool that
preserves both.
Tools
Read
Tool | Description |
| Fetch a single task by ID |
| Filter tasks by Todoist query string, project, or label |
| Tasks due on or between dates |
| List all projects |
| List sections in a project |
| Get comments on a task |
| Overdue + today summary, or all tasks in a project |
Write
Tool | Description |
| Create a task (supports due_string, priority, labels) |
| Update content, description, priority, or labels — no due-date params |
| Mark a task done |
| Create a project |
| Create a section |
| Add a comment to a task |
Rescheduling
Tool | Description |
| Move a task to a new date, safely preserving recurring patterns and reminders |
update_task deliberately has no due-date parameters in its schema. The model
cannot use it to change dates even if instructed to — reschedule_task is the
only path.
Setup
Prerequisites
A Todoist API token (find it at Todoist → Settings → Integrations → API token)
Install
git clone https://github.com/kpanko/todoist-mcp
cd todoist-mcp
cp .env.example .env
# edit .env and add your token
uv syncConfigure Claude Code
Add to your MCP config (.claude/mcp_config.json or Claude Desktop's
claude_desktop_config.json):
{
"mcpServers": {
"todoist": {
"command": "uv",
"args": [
"--project", "/path/to/todoist-mcp",
"run", "todoist-mcp"
]
}
}
}The server reads TODOIST_API_TOKEN from the environment or from a .env
file in the project root. No OAuth or browser auth required — works in
headless background services.
Dependencies
todoist-api-python— official REST clientfastmcp— MCP server frameworktodoistScheduler— local dependency providing the reschedule logic (reminders via Sync API, recurrence string preservation)
Why not use the official server?
The official server at https://ai.todoist.net/mcp requires OAuth (browser
flow), making it unsuitable for background services. It also exposes an
update_task tool that accepts due-date parameters, which the Todoist REST
API handles by dropping reminders and converting recurring tasks to one-time
tasks.
This 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/kpanko/todoist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server