Todoist MCP Server
The Todoist MCP Server enables natural language task management in Todoist by integrating with Claude or any MCP-compatible LLM.
Capabilities include:
Task Management: Create, update, complete, and delete tasks with support for descriptions, due dates, priorities, project/section assignments, and assignees.
Batch Operations: Efficiently manage multiple tasks, projects, sections, and labels simultaneously.
Smart Search & Filtering: Find tasks using natural language queries and filter by project, section, due date, priority, and labels.
Project & Section Management: Create, update, and organize projects and sections in hierarchical structures with customizable properties (colors, view styles, etc.).
Label Management: Create, update, and manage both personal and shared labels, including name, color, order, and favorite status.
Rich Task Details: Support for detailed task properties including subtasks, parent-child relationships, and various date formats.
Name-Based Operations: Perform actions using name matching when IDs aren't available.
Allows natural language task management of Todoist projects, tasks, sections, and labels. Includes features for creating, updating, completing, and deleting tasks, filtering by various criteria, and managing projects and labels.
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 Server add 'buy groceries' to my shopping list project"
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 Extended
An MCP (Model Context Protocol) server implementation that integrates Claude - or any MCP compatible LLM if you're crafty - with Todoist, enabling natural language task management via MCP tools. The tools in this server allows Claude to interact with your Todoist tasks, projects, sections, and labels using everyday language, while also optimized for LLM workflow efficiency.
Features Overview
Task Management: Create, update, complete, and delete tasks using everyday language
Label Management: Create, update, and manage personal labels and task labels
Project Management: Create, update, and manage Todoist projects
Section Organization: Create and manage sections within projects
Smart Search: Find tasks and labels using partial name matches
Flexible Filtering: Filter tasks by project, section, due date, priority, and labels
Rich Task Details: Support for descriptions, due dates, priority levels, and project/section assignment
Batch Operations: Tools have built in batch operation support and custom parameters for efficient usage with LLM workflows
For a complete list of available tools as well as their usage, see tools.md.
Related MCP server: Todoist MCP Server Extended
Quick Installation Guide
Assuming you already have npm installed.
A more comprehensive installation guide can be found in the How-to Guide.
Installing via Smithery
To install Todoist MCP Server Extended for Claude Desktop via Smithery:
Run following command in cmd\pwsh:
npx -y @smithery/cli install @Chrusic/todoist-mcp-server-extended --client claudeAlso compatible with cline or windsurf, by changing last parameter to --client cline or --client windsurf
Installing via npm
Run following command in cmd\pwsh:
npm install -g @chrusic/todoist-mcp-server-extendedSetup
Grab a Todoist API Token
Log in to your Todoist account
Navigate to
Settings → IntegrationsFind your API token under
DeveloperPress
Copy API Token
For more information about the Todoist API, visit the official Todoist API documentation.
Add MCP Server and API Token Claude Desktop Client
In your
claude_desktop_config.jsonfile, paste the following json snippet between:"mcpServers":{ }:"todoist": { "command": "npx", "args": ["-y", "@chrusic/todoist-mcp-server-extended"], "env": { "TODOIST_API_TOKEN": "PASTE-YOUR-API-TOKEN-HERE" } }When all put together, it should look something like this:
{ "mcpServers": { "todoist": { "command": "npx", "args": ["-y", "@chrusic/todoist-mcp-server-extended"], "env": { "TODOIST_API_TOKEN": "PASTE-YOUR-API-TOKEN-HERE" } } } }Claude Desktop client will then start the MCP server and load the tools on the next client (re)start.
Example Usage
Some simple suggestions on what to ask Claude. Note that sometimes you have to be very direct to get claude to use the tools:
"Using the MCP tool: todoist_get_tasks, list all my tasks for the day."
"Create task 'Review PR' in project 'Work' section 'To Do'"
"Add label 'Important' to task 'Review PR'"
"Show all tasks with label 'Important' in project 'Work'"
"Move task 'Documentation' to section 'In Progress'"
"Mark the documentation task as complete"
"Give me some suggestions for listed tasks I can do today as I'm going shopping in town."
"Break task X down in to smaller subtasks and add due dates, x, y, z."
Contributing
Contributions are welcome! Feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Issues and Support
If you encounter any issues or need support, please file an issue on the GitHub repository.
Available Tools
19 toolstodoist_complete_taskC
Mark one or more tasks as complete in Todoist
Inputs: tasks, task_id, task_name.
todoist_create_personal_labelC
Create one or more personal labels in Todoist
Inputs: labels, name, color, order, +1 more.
todoist_create_projectC
Create one or more projects with support for nested hierarchies
Inputs: projects, name, parent_id, color, +2 more.
todoist_create_project_sectionC
Create one or more sections in Todoist projects
Inputs: sections, project_id, name, order.
todoist_create_taskC
Create one or more tasks in Todoist with full parameter support
Inputs: tasks, content, description, project_id, +14 more.
todoist_delete_personal_labelC
Delete a personal label from Todoist
Inputs: label_id (required).
todoist_delete_taskC
Delete one or more tasks from Todoist
Inputs: tasks, task_id, task_name.
todoist_get_personal_labelB
Get a personal label by ID
Inputs: label_id (required).
todoist_get_personal_labelsB
Get all personal labels from Todoist
Inputs: no named parameters.
todoist_get_projectsC
Get projects with optional filtering and hierarchy information
Inputs: project_ids, include_sections, include_hierarchy.
todoist_get_project_sectionsC
Get sections from one or more projects in Todoist
Inputs: projects, project_id, project_name, include_empty.
todoist_get_tasksC
Get a list of tasks from Todoist with various filters - handles both single and batch retrieval
Inputs: project_id, section_id, label, filter, +4 more.
todoist_update_personal_labelC
Update one or more existing personal labels in Todoist
Inputs: labels, label_id, label_name, name, +3 more.
todoist_update_projectC
Update one or more projects in Todoist
Inputs: projects, project_id, name, color, +2 more.
todoist_update_taskC
Update one or more tasks in Todoist with full parameter support
Inputs: tasks, task_id, task_name, content, +14 more.
todoist_update_task_labelsC
Update the labels of one or more tasks in Todoist
Inputs: tasks, task_id, task_name, labels.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Most tools have distinct purposes targeting specific resources and actions, but there is some overlap between todoist_update_task and todoist_update_task_labels, which could cause confusion as both modify tasks. The descriptions clarify that one handles general updates while the other focuses on labels, but the boundaries are not entirely clear.
All tool names follow a consistent pattern: 'todoist_' prefix, a verb (e.g., create, get, update, delete), and a noun (e.g., task, project, label). This uniformity makes the set predictable and easy to navigate, with no deviations in style or structure.
With 19 tools, the count is slightly high but reasonable for a comprehensive Todoist integration covering tasks, projects, labels, and sections. It includes CRUD operations for each resource, which justifies the number, though it might feel a bit heavy for simpler use cases.
The tool set provides complete CRUD and lifecycle coverage for the Todoist domain, including tasks, projects, personal labels, shared labels, and sections. There are no obvious gaps; agents can perform all essential operations without dead ends, from creation to deletion and updates.
Maintenance
Related MCP Connectors
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Simple, fast todo app: manage tasks, projects and tags from Claude and other MCP clients.
Notes, tasks, habits, journal and 6 more tools Claude can read and change, with undo. Free.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Todoist for comprehensive task management, enabling natural language creation, updating, and organization of tasks, projects, sections, and labels.17 npm3MIT
- AlicenseAqualityDmaintenanceEnables natural language task management with Todoist, supporting tasks, projects, sections, labels, smart search, and batch operations for efficient workflow integration with Claude and other MCP-compatible LLMs.1916 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Todoist tasks, projects, sections, and labels through natural language, supporting task creation, updates, completion, and intelligent organization of your workflow.17 npmMIT
- AlicenseAqualityDmaintenanceConnects Claude to Todoist for transforming meeting notes into actionable tasks with inferred due dates and priorities. It enables full task lifecycle management, including creating subtasks, listing projects, and completing tasks through natural language.7MIT