Provides complete CRUD operations for managing Todoist tasks, projects, comments, and labels through the Todoist REST API v2, including creating and updating tasks with due dates and priorities, organizing projects, and managing labels.
Todoist MCP Server
A Model Context Protocol (MCP) server that provides complete CRUD operations for Todoist tasks, projects, comments, and labels.
Purpose
This MCP server provides a secure interface for AI assistants to manage your Todoist tasks, projects, and more through natural language commands. It wraps the Todoist REST API v2 in a secure, Docker-based MCP server.
Features
Task Management (CRUD)
create_task- Create new tasks with content, description, due dates, priority, and labelslist_tasks- List all tasks with optional filtering by project, label, or custom filterget_task- Get detailed information about a specific taskupdate_task- Update task content, description, due date, priority, or labelscomplete_task- Mark a task as completedreopen_task- Reopen a completed taskdelete_task- Permanently delete a task
Project Management (CRUD)
create_project- Create new projects with name, color, favorite status, and view stylelist_projects- List all projects in your accountget_project- Get detailed information about a specific projectupdate_project- Update project name, color, favorite status, or view styledelete_project- Permanently delete a project
Comment Operations
create_comment- Add comments to taskslist_comments- List all comments for a task or project
Label Operations
create_label- Create new labels with name and colorlist_labels- List all labels in your account
Prerequisites
Docker Desktop with MCP Toolkit enabled
Docker MCP CLI plugin (
docker mcpcommand)Todoist account with API token
Getting Your Todoist API Token
Go to https://app.todoist.com/app/settings/integrations/developer
Scroll down to find "API token"
Copy the 40-character hexadecimal token
Keep this token secure - it provides full access to your Todoist account
Installation
See the step-by-step instructions provided with the files.
Usage Examples
In Claude Desktop, you can ask:
Tasks
"Create a task 'Buy groceries' due tomorrow with priority 2"
"List all my tasks"
"Show me tasks in project 12345"
"Complete task 98765"
"Update task 12345 to have priority 4 and due date 'next Monday'"
"Delete task 98765"
Projects
"Create a new project called 'Work Projects' with color blue"
"List all my projects"
"Update project 12345 to be a favorite"
"Delete project 67890"
Comments & Labels
"Add a comment 'Need to review this' to task 12345"
"List comments for task 12345"
"Create a label 'urgent' with color red"
"Show me all my labels"
Architecture
Development
Local Testing
Adding New Tools
Add the function to
todoist_server.pyDecorate with
@mcp.tool()Update the catalog entry with the new tool name
Rebuild the Docker image
Troubleshooting
Tools Not Appearing
Verify Docker image built successfully:
docker images | grep todoist-mcp-serverCheck catalog and registry files
Ensure Claude Desktop config includes custom catalog
Restart Claude Desktop
Authentication Errors
Verify API token with
docker mcp secret listEnsure secret name is exactly
TODOIST_API_TOKENTest token at https://developer.todoist.com/rest/v2/
API Rate Limits
Todoist allows 1000 requests per 15 minutes per user
If you hit limits, wait 15 minutes before retrying
Security Considerations
All credentials stored in Docker Desktop secrets
Never hardcode API tokens
Running as non-root user
API tokens never logged
All communication over HTTPS
API Reference
This server uses Todoist REST API v2:
Documentation: https://developer.todoist.com/rest/v2/
Base URL: https://api.todoist.com/rest/v2