Todoist MCP Server
by stanislavlysenko0912
A Model Context Protocol (MCP) server implementation that integrates Claude and other AI assistants with Todoist, enabling natural language task management.
View on GitHub
Last updated: N/A
<div align="center">
<img src="https://static-00.iconduck.com/assets.00/todoist-icon-512x512-v3a6dxo9.png" width="120"/>
<h1>Todoist MCP Server</h1>
<p>A Model Context Protocol (MCP) server implementation that integrates Claude and other AI assistants with Todoist, enabling natural language task management.</p>
<div>
<img src="https://img.shields.io/badge/claude-mcp-blue" alt="MCP Server">
<img src="https://img.shields.io/badge/todoist-mcp-orange" alt="Todoist Integration">
<a href="https://www.npmjs.com/package/todoist-mcp" target="_blank">
<img src="https://img.shields.io/npm/v/todoist-mcp.svg" alt="npm version">
</a>
</div>
</div>
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 LICENSE file for details.
Issues and Support
If you encounter any issues or need support, please file an issue on the GitHub repository.
<a href="https://glama.ai/mcp/servers/@stanislavlysenko0912/todoist-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@stanislavlysenko0912/todoist-mcp-server/badge" /> </a>