todoist-mcp-server
Todoist MCP Server is a Model Context Protocol server that connects AI assistants to Todoist for efficient task management using natural language. It offers comprehensive Todoist API integration, allowing users to manage tasks, projects, labels, and more, through intuitive conversational interfaces.

Todoist MCP Server
A Model Context Protocol (MCP) server implementation that integrates Claude and other AI assistants with Todoist, enabling natural language task management.
Features
- Complete Todoist API Integration: Access to the full Todoist REST API v2, and support for the Todoist Sync API through natural language
- Batch Processing: Client can process multiple tasks in a single request
- Search by name: AI can search for tasks, projects, and labels by name instead of ID
- Tasks: Create, update, close, reopen, move, and delete tasks using conversational language
- Projects: Create and manage projects and sections
- Comments: Add and manage comments on tasks and projects
- Labels: Create and manage personal and shared labels
- Prompt Support: You can easily provide information about your projects to client
Configuration
You'll need a Todoist API token to use this MCP server.
Getting a Todoist API Token
- Log in to your Todoist account
- Navigate to Settings → Integrations
- Find your API token under "Developer"
Usage with Claude Desktop
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": ["-y", "todoist-mcp"],
"env": {
"API_KEY": "your_todoist_api_token_here"
}
}
}
}
Available Tools
Tasks
get_tasks_list
: Get tasks with optional filtering by project, section, label, etc.create_tasks
: Create new tasks with various attributesget_tasks
: Get specific tasks by ID or nameupdate_tasks
: Update existing tasksclose_tasks
: Mark tasks as completereopen_tasks
: Reopen completed tasksdelete_tasks
: Delete tasksmove_tasks
: Move tasks to a different project or section
Projects
get_projects_list
: Get all projectscreate_projects
: Create new projectsget_projects
: Get specific projects by ID or nameupdate_projects
: Update existing projectsdelete_projects
: Delete projectsget_collaborators
: Get all collaborators for a projectmove_projects
: Move projects to a different location or subproject
Sections
get_sections_list
: Get all sections or filter by projectcreate_sections
: Create new sectionsget_sections
: Get specific sections by ID or nameupdate_sections
: Update sectionsdelete_sections
: Delete sections
Comments
get_comments_list
: Get comments for a project or taskcreate_comments
: Create new commentsget_comments
: Get specific comments by IDupdate_comments
: Update commentsdelete_comments
: Delete comments
Labels
get_labels_list
: Get all personal labelscreate_labels
: Create new personal labelsget_labels
: Get personal labels by ID or nameupdate_labels
: Update personal labelsdelete_labels
: Delete personal labelsget_shared_labels
: Get all shared labelsrename_shared_labels
: Rename shared labelsremove_shared_labels
: Remove shared labels
Utils
utils_get_colors
: Get available colors for projects, labels, filters
Prompts
projects_list
: Get list of projects with their sections and params in markdown format
Example Usage
Ask your AI assistant (like Claude) questions such as:
"What tasks do I have due today?"
"Create a task to review the quarterly report by next Friday"
"Make a new project called 'Home Renovation'"
"Add a comment to my meeting prep task"
"Show me all my high priority tasks"
"Create a label for 'Urgent' tasks with a red color"
"What projects do I have in my Todoist?"
"Mark my dentist appointment task as complete"
Development
# Install dependencies
npm install
# Build the project and run inspector
npm run build && npx @modelcontextprotocol/inspector -e API_KEY=YOUR_API_KEY_HERE node dist/index.js
License
This project is licensed under the MIT License - see the file for details.
Issues and Support
If you encounter any issues or need support, please file an issue on the GitHub repository.