The Todoist MCP Server enables natural language-based task and project management in Todoist through Claude. Key capabilities include:
Task Management: Create, read, update, delete, and complete tasks with support for attributes like descriptions, due dates, priorities, labels, and project assignments.
Subtask Management: Create, convert, promote, and organize subtasks, with hierarchical task structures.
Bulk Operations: Efficiently manage multiple tasks at once based on search criteria.
Comment System: Add and retrieve comments for tasks and projects, including optional file attachments.
Label Management: Full CRUD operations for labels, including usage statistics.
Project and Section Organization: Create and manage projects and sections, including moving tasks between them.
Smart Discovery: Find tasks, projects, and sections using filters or partial names.
Testing and Validation: Test API connections and validate MCP functionality.
Provides comprehensive task and project management through Todoist, including creating/updating/deleting tasks, bulk operations, managing comments with attachments, organizing projects and sections, and supporting rich task attributes like descriptions, due dates, priorities, and labels.
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 Serveradd 'buy groceries' to my shopping list project due tomorrow"
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
An MCP (Model Context Protocol) server that connects Claude with Todoist for complete task and project management through natural language.
Installation
Claude Desktop (One-Click Install)
Download todoist-mcp.mcpb from the latest release
Double-click the file (or drag onto Claude Desktop)
Enter your Todoist API token when prompted
Start chatting: "Show me my Todoist projects"
Claude Code / Other MCP Clients
Add to your MCP client config (claude_desktop_config.json, ~/.claude.json, etc.):
Config locations:
Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.jsonClaude Code:
~/.claude.json
Related MCP server: Todoist MCP Server
Features
19 MCP Tools for complete Todoist management
Task Management: Create, update, delete, complete, reopen tasks with priorities, due dates, labels
Bulk Operations: Process multiple tasks efficiently
Subtasks: Hierarchical task management with completion tracking
Projects & Sections: Full organization support
Labels, Filters, Reminders: Pro/Business features supported
Natural Language: Quick add with Todoist's natural language parsing
Dry-Run Mode: Test operations without making changes
Dry-Run Mode
Dry-run mode allows you to test operations and automations without making any real changes to your Todoist workspace. This is perfect for testing, debugging, learning the API, or validating automation scripts before running them for real.
How to Enable Dry-Run Mode
Add DRYRUN=true to your environment configuration:
What Dry-Run Mode Does
Validates Operations: Uses real API data to validate that operations would succeed
Simulates Mutations: Create, update, delete, and complete operations are simulated (not executed)
Real Data Queries: Read operations (get tasks, projects, labels) use the real API
Detailed Logging: Shows exactly what would happen with clear
[DRY-RUN]prefixesError Detection: Catches the same errors that would occur in real execution
Use Cases
Testing Automations: Validate complex bulk operations before executing
Learning the API: Explore functionality without fear of making unwanted changes
Debugging Issues: Understand what operations would be performed
Safe Experimentation: Try new workflows without affecting your actual tasks
Training and Demos: Show how operations work without modifying real data
Example Usage
With dry-run mode enabled, operations show what would happen:
Supported Operations
All 19 MCP tools support dry-run mode:
Task creation, updates, completion, and deletion
Subtask operations and hierarchy changes
Bulk operations across multiple tasks
Project and section creation
Label management operations
Reminder CRUD operations
Comment creation
Disabling Dry-Run Mode
Remove the DRYRUN environment variable or set it to false, then restart Claude Desktop to return to normal operation mode.
Tools Overview
The server provides 19 MCP tools for complete Todoist management:
Tool | Actions | Description |
| create, get, update, delete, complete, reopen, quick_add | Complete task management |
| bulk_create, bulk_update, bulk_delete, bulk_complete | Efficient multi-task operations |
| create, bulk_create, convert, promote, hierarchy | Hierarchical task management |
| create, get, update, delete, archive, collaborators | Project CRUD and sharing |
| reorder, move_to_parent, get_archived | Advanced project operations |
| create, get, update, delete, move, reorder, archive | Section management |
| create, get, update, delete, stats | Label management with analytics |
| create, get, update, delete | Task/project comments |
| create, get, update, delete | Reminder management (Pro) |
| create, get, update, delete | Custom filters (Pro) |
| invitations, notifications, workspace operations | Team collaboration features |
| info, productivity_stats, karma_history | User profile and stats |
| test_connection, test_features, test_performance, find/merge duplicates | Testing and utilities |
| get_log, get_events, get_summary | Activity audit trail |
| move, reorder, close | Advanced task operations |
| get, get_all, get_stats | Completed task retrieval |
| list, download | Automatic backup access |
| create, get, update, delete | Project notes (collaborators) |
| create, get, rename, remove | Workspace labels (Business) |
For detailed tool documentation with parameters and examples, see TOOLS_REFERENCE.md.
Troubleshooting
Common Issues
"No Todoist projects found" or connection errors:
Verify your API token is correct
Check that the token is properly set in your claude_desktop_config.json
Ensure there are no extra spaces or quotes around your token
MCP server not loading:
Confirm the package is installed globally:
npm list -g @greirson/mcp-todoistRestart Claude Desktop completely
Check the configuration file path is correct for your operating system
Try the full path to the
mcp-todoistbinary:/Users/USERNAME/.npm-global/bin/mcp-todoist
Permission errors:
On macOS/Linux, you may need to create the config directory:
mkdir -p ~/.configEnsure Claude Desktop has permission to read the config file
Usage Examples
Project & Section Setup
Task Creation & Management
Quick Add
The Quick Add tool parses natural language text like the Todoist app, supporting multiple features in a single command:
Quick Add Syntax:
Due dates: Natural language dates like "tomorrow", "next Friday", "Jan 23", "in 3 days"
Projects:
#ProjectName(no spaces in project names)Labels:
@label(e.g., "@urgent", "@work")Assignees:
+name(for shared projects)Priority:
p1(urgent),p2,p3,p4(lowest)Deadlines:
{in 3 days}or{March 15}Descriptions:
//your description here(must be at the end)
Subtask Management
Bulk Operations
Comment Management
Label Management
Reminder Management (Pro/Business)
Task Discovery
Testing & Validation
Dry-Run Testing
When dry-run mode is enabled (DRYRUN=true), use normal commands - they'll automatically be simulated:
All these operations will validate against your real data but won't make any changes.
Development
Building from source
Development Commands
Architecture
The codebase follows a clean, modular architecture designed for maintainability and scalability:
Core Structure
src/index.ts: Main server entry point with request routingsrc/types.ts: TypeScript type definitions and interfacessrc/type-guards.ts: Runtime type validation functionssrc/validation.ts: Input validation and sanitizationsrc/errors.ts: Custom error types with structured handlingsrc/cache.ts: In-memory caching for performance optimization
Modular Tool Organization
src/tools/: Domain-specific MCP tool definitions organized by functionality:task-tools.ts- Task management (9 tools)subtask-tools.ts- Subtask operations (5 tools)project-tools.ts- Project/section management (4 tools)comment-tools.ts- Comment operations (2 tools)label-tools.ts- Label management (5 tools)reminder-tools.ts- Reminder operations (4 tools)test-tools.ts- Testing and validation (3 tools)index.ts- Centralized exports
Business Logic Handlers
src/handlers/: Domain-separated business logic modules:task-handlers.ts- Task CRUD and bulk operationssubtask-handlers.ts- Hierarchical task managementproject-handlers.ts- Project and section operationscomment-handlers.ts- Comment creation and retrievallabel-handlers.ts- Label CRUD and statisticsreminder-handlers.ts- Reminder CRUD via Sync APItest-handlers.ts- API testing infrastructuretest-handlers-enhanced/- Comprehensive CRUD testing framework
Utility Modules
src/utils/: Shared utility functions:api-helpers.ts- API response handling utilitieserror-handling.ts- Centralized error managementparameter-transformer.ts- MCP to Todoist SDK parameter format conversiondry-run-wrapper.ts- Dry-run mode implementation
Changelog
See CHANGELOG.md for a detailed history of all changes.
For migration guides and breaking changes, see the full changelog.
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.