Todoist MCP
Interact with your Todoist account to manage tasks and projects.
Todoist MCP
Note: predictably obsoleted by Todoist AI SDK, see here.
Connect this Model Context Protocol server to your LLM to interact with Todoist.
Functionality
This integration implements all the APIs available from the Todoist TypeScript Client, providing access to:
Task Management
- Create tasks (with content, descriptions, due dates, priorities, labels, and more)
- Create tasks with natural language (e.g., "Submit report by Friday 5pm #Work")
- Retrieve tasks (individual, filtered, or all tasks)
- Retrieve completed tasks (by completion date or due date)
- Get productivity statistics
- Update tasks
- Move tasks (individually or in batches)
- Close/reopen tasks
- Delete tasks
Project Management
- Create, retrieve, update, and delete projects
Section Management
- Create, retrieve, update, and delete sections within projects
Comment Management
- Add, retrieve, update, and delete comments for tasks or projects
Label Management
- Create, retrieve, update, and delete labels
- Manage shared labels
Collaboration
- Get collaborators for projects
Setup
Build the server app:
bun install
bun run build
Run in development
TODOIST_API_KEY=<key> bun dev
Docker deployment:
docker compose up -d
Debugging:
Use the inspector to debug the server:
bunx @modelcontextprotocol/inspector
Configure Claude:
You must install the Claude desktop app which supports MCP.
You can get your Todoist API key from Todoist > Settings > Integrations > Developer.
Then, in your claude_desktop_config.json, add a new MCP server:
{
"mcpServers": {
"default-server": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp",
"note": "For Streamable HTTP connections, add this URL directly in your MCP Client"
}
}
}
You can now launch Claude desktop app and ask to update Todoist.
🔐 Security Features
This MCP server has been secured with enterprise-grade security measures:
- Authentication Required: JWT Bearer tokens or API key authentication
- Rate Limiting: Prevents abuse with configurable limits
- Input Validation: Comprehensive request validation and sanitization
- Security Headers: CORS, CSP, HSTS, and other security headers
- Logging & Monitoring: Security event logging and request monitoring
- Environment Configuration: Secure configuration via environment variables
See SECURITY.md for detailed security documentation.
Quick Security Setup
-
Generate secure tokens:
npm run setup-security -
Create
.envfile:cp .env.example .env # Add your generated tokens and Todoist API key -
Required Environment Variables:
JWT_SECRET=your_generated_jwt_secret_here TODOIST_API_KEY=your_todoist_api_key_here
Authentication
The server supports two authentication methods:
Method 1: API Key (Recommended for scripts)
curl -X POST http://localhost:3000/mcp \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'
Method 2: JWT Bearer Token (Recommended for applications)
curl -X POST http://localhost:3000/mcp \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'
Server Terkait
Gezhe PPT
Generates PowerPoint presentations (PPTs) based on specified topics using the Gezhe API.
Miro MCP Server
Control Miro whiteboards with AI. 77 tools for board management, sticky notes, shapes, connectors, frames, and Mermaid diagram generation.
Audiense Insights
Marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
Little Irons
Manage your job search directly. List jobs, create applications, add events, run company research, generate templates, and more.
md-pdf-mcp
Converts Markdown to styled PDFs using VS Code's markdown styling and Python's ReportLab.
MCP Orchestrator
A universal interface to manage and interact with all your MCP servers from a single point, using external configuration files for mappings and credentials.
Penpot MCP Server
Integrates AI language models with the Penpot design platform to automate design workflows.
Omi Memories
Provides access to a specific user's memories from the Omi app.
Google Keep
Read, create, update and delete Google Keep notes.
Browser
Interact with and control your web browser via a browser extension.