Todoist MCP Server
Enables AI assistants to manage Todoist tasks, projects, comments, and labels through natural language commands. Provides complete CRUD operations securely via the Todoist REST API v2.
README
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
Claude Desktop → MCP Gateway → Todoist MCP Server → Todoist REST API v2
↓
Docker Desktop Secrets
(TODOIST_API_TOKEN)
Development
Local Testing
# Set environment variable for testing
export TODOIST_API_TOKEN="your-api-token"
# Run directly
python todoist_server.py
# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python todoist_server.py
Adding New Tools
- Add the function to
todoist_server.py - Decorate 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-server - Check catalog and registry files
- Ensure Claude Desktop config includes custom catalog
- Restart Claude Desktop
Authentication Errors
- Verify API token with
docker mcp secret list - Ensure secret name is exactly
TODOIST_API_TOKEN - Test 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
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.