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.