Enhanced Todoist MCP Server Extended
This server provides comprehensive Todoist integration through Claude via the Model Context Protocol, offering 31 specialized tools for managing tasks, projects, sections, labels, comments, and completed task history.
Task Management (11 tools): Create tasks with full options (subtasks, labels, projects, sections, priorities, due dates, descriptions), quick add using natural language (e.g., "Buy milk tomorrow at 2pm #shopping"), retrieve tasks with filtering by project/section/parent/label/IDs and pagination, get specific tasks by ID, update task properties, delete tasks, mark complete or reopen, search using Todoist's filter engine, and move tasks individually or bulk move multiple tasks (up to 10-20 parent tasks with subtasks) between projects/sections or make them subtasks.
Project Management (5 tools): List all active projects with pagination, get specific projects by ID, create projects with customization (name, color, favorite, view style, sub-projects), update project properties, and delete projects.
Section Management (4 tools): List sections (all or project-specific) with pagination, create sections in projects, update section names, and delete sections.
Label Management (5 tools): Create labels with customization (name, color, favorite, order), get specific labels by ID, list all labels with pagination, update label properties, and delete labels.
Comment Management (5 tools): Create comments on tasks or projects with file attachments, get specific comments by ID, retrieve comments for tasks/projects with pagination, update comment content, and delete comments.
Completed Tasks History (1 tool): Access completed task history with filtering by project, date range (since/until), and pagination using Todoist Sync API.
Technical Features: Updated compatibility with Todoist API (SDK 4.0.4) and MCP SDK (0.5.0+), enhanced error handling with detailed messages, improved TypeScript support, and optimized API usage with better response formatting.
Provides comprehensive task, project, section, and label management through Todoist's API, enabling creation, reading, updating, and deletion of tasks with support for subtasks, labels, priorities, due dates, search functionality, and project organization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Enhanced Todoist MCP Server Extended search tasks for 'urgent meeting' due this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Enhanced Todoist MCP Server Extended
Extended Version - Forked and enhanced by kydycode from the original @abhiz123/todoist-mcp-server
A comprehensive MCP (Model Context Protocol) server implementation that provides full integration between Claude and Todoist. This extended version includes additional features, improved compatibility, and enhanced functionality using the complete Todoist API with the latest MCP SDK (@doist/todoist-api-typescript@4.0.4). Completed tasks retrieval uses the Todoist REST API v1.
š Extended Version Features
š§ Technical Improvements
Updated Todoist SDK: Now using
@doist/todoist-api-typescript@4.0.4.Updated MCP SDK Compatibility: Compatible with MCP SDK 0.5.0.
Enhanced Error Handling: Comprehensive error handling with detailed error messages.
Improved TypeScript Support: Better type safety and compatibility.
Optimized API Usage: Efficient use of Todoist API, including
getTasksByFilterfor robust search andmoveTasksfor semantic task movement.Better Response Formatting: Enhanced task, project, and label formatting for better readability, including project names in search results.
⨠Enhanced Task Management (11 Tools)
Direct ID-based Operations: Efficient task operations using task IDs.
Comprehensive Task Creation: Support for subtasks, labels, projects, sections, priorities.
Quick Add Integration: Natural language task creation using Todoist's Quick Add.
Advanced Task Search: Robust keyword search using Todoist's filter engine (
search: your query).Task Movement Capabilities: Move tasks between projects, sections, or make them subtasks.
Bulk Task Operations: Move multiple tasks with subtasks in a single operation.
Task State Management: Complete, reopen, and manage task lifecycle.
Detailed Task Output: Search and get-task operations return more task details.
šļø Complete Project Management (5 Tools)
Full Project CRUD: Create, read, update, delete projects with all properties.
Sub-project Support: Create hierarchical project structures.
Project Customization: Set colors, favorites, view styles (list/board).
Enhanced Project Listing: Improved project retrieval with pagination and detailed formatting.
š Section Management (4 Tools)
Complete Section Operations: Create, read, update, delete sections.
Project-specific Sections: Filter and manage sections within projects.
Section Organization: Proper ordering and structure management.
š·ļø Label Management (5 Tools)
Full Label CRUD: Create, read, update, delete labels.
Label Customization: Set names, colors, favorites, order.
Paginated Label Listing: Efficiently retrieve all labels.
š¬ Comment Management (5 Tools)
Complete Comment CRUD: Create, read, update, delete comments on tasks and projects.
Attachment Support: Add file attachments to comments with metadata.
Flexible Targeting: Comments can be attached to either tasks or projects.
Paginated Comment Retrieval: Efficiently browse through comment threads.
ā Completed Tasks History (1 Tool) š
REST API v1 Integration: Access completed task history via Todoist API v1 (
/api/v1/tasks/completed/by_completion_date). Migrated from deprecated Sync API v9.Flexible Filtering: Filter by project, section, date range (since/until).
Cursor-based Pagination: Efficient retrieval of large histories.
Rich Metadata: Shows labels, priorities, descriptions, note counts, completion timestamps.
Related MCP server: Todoist MCP Server
š ļø Available Tools (Total 31)
Task Operations (11 tools)
Tool | Description |
| Create tasks with full options (subtasks, labels, projects, sections, priorities). |
| Natural language task creation using Todoist's Quick Add syntax. |
| Retrieve tasks with filtering (project, section, parent, label, IDs) and pagination. |
| Get a specific task by its ID, with detailed information. |
| Update task properties (content, description, due date, priority, labels). |
| Delete task by ID. |
| Mark task complete. |
| Reopen completed task. |
| Search tasks using Todoist's filter engine (e.g., |
| Move a task to a different project, section, or make it a subtask. |
| Move multiple tasks with their subtasks to a project, section, or parent task. |
Project Operations (5 tools)
Tool | Description |
| List all active projects with pagination support. |
| Get a specific project by its ID. |
| Create new project (name, color, favorite, view style, sub-projects). |
| Update project properties. |
| Delete project by ID. |
Section Operations (4 tools)
Tool | Description |
| List sections (all sections or project-specific). |
| Create section in project (name, project, ordering). |
| Update section name. |
| Delete section by ID. |
Label Operations (5 tools)
Tool | Description |
| Create a new label (name, color, favorite, order). |
| Get a specific label by its ID. |
| List all labels with pagination support. |
| Update an existing label by its ID (name, color, favorite, order). |
| Delete a label by its ID. |
Comment Operations (5 tools)
Tool | Description |
| Create a new comment on a task or project (with attachments). |
| Get a specific comment by its ID. |
| Get comments for a task or project with pagination support. |
| Update an existing comment by its ID. |
| Delete a comment by its ID. |
Completed Tasks Operations (1 tool) š
Tool | Description |
| Get completed tasks history with filtering by project, section, date range (since/until required), and cursor-based pagination. Uses Todoist REST API v1. |
š Installation & Setup
Local Development Setup
# Clone the extended repository
git clone https://github.com/kydycode/todoist-mcp-server-ext.git
cd todoist-mcp-server-ext
# Install dependencies
npm install
# Build the project
npm run buildGetting a Todoist API Token
Log in to your Todoist account
Navigate to Settings ā Integrations ā Developer
Copy your API token
Usage with Claude Desktop
Add to your claude_desktop_config.json:
Option 1: Run locally built version
{
"mcpServers": {
"todoist-mcp-server": {
"command": "node",
"args": ["/path/to/your/todoist-mcp-server-ext/dist/index.js"],
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}Option 2: Run via npm/npx (recommended for published version)
{
"mcpServers": {
"todoist-mcp-server": {
"command": "npx",
"args": ["-y", "@kydycode/todoist-mcp-server-ext@latest"],
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}Option 3: Install globally first
# Install the extended version globally
npm install -g @kydycode/todoist-mcp-server-ext@latest
# Then use in Claude Desktop config
{
"mcpServers": {
"todoist-mcp-server": {
"command": "todoist-mcp-server-ext",
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}š Usage Examples
šÆ Advanced Task Creation & Management
"Create task 'Team Meeting @Tomorrow #Work p1'"
"Add task 'Fix critical bug +KydyCode @DevProject L:Urgent L:Backend'"
"Quick add: 'Buy milk tomorrow at 2pm #shopping !p1'"
"Move task with ID {task_id} to project {project_id}"
"Search tasks: search: API deployment"šļø Project, Section, Label, and Comment Management
"List all my projects"
"Create project 'Q2 Planning' color:blue favorite:true view:board"
"Get sections for project {project_id}"
"Create label 'HighPriority' color:red isFavorite:true"
"List all labels"
"Add comment 'Great progress on this task!' to task {task_id}"
"Get all comments for project {project_id}"
"Update comment {comment_id} with new content"ā Completed Tasks History š
"Get completed tasks between 2024-01-01 and 2024-01-31"
"Show tasks completed since 2024-01-01 until today"
"Get completed tasks from project {project_id} since 2024-01-01 until 2024-12-31"
"Show last week's completed tasks"š Extended vs Original Comparison
Feature | Original | Extended Version ( |
Todoist SDK Version | Older | ā
|
MCP SDK Compatibility | Older version | ā Latest MCP SDK 0.5.0+ |
Error Handling | Basic | ā Comprehensive with detailed messages |
TypeScript Support | Limited | ā Full type safety |
Task Operations | Search-based, limited features | ā
11 Tools: Direct ID-based, |
Project Management | Limited | ā 5 Tools: Full CRUD operations, sub-projects, pagination |
Section Management | Basic | ā 4 Tools: Complete section operations |
Label Management | Not Available | ā 5 Tools: Full CRUD operations, pagination |
Comment Management | Not Available | ā 5 Tools: Full CRUD operations, attachments, pagination |
Completed Tasks History | Not Available | ā 1 Tool: REST API v1 integration, date filtering, cursor pagination |
API Parameter Handling | Inconsistent | ā Proper parameter validation |
Response Formatting | Basic | ā Enhanced readability, more details |
Build System | Issues | ā Clean compilation |
Search Functionality | Basic local filter | ā
Robust |
š§ Development
Project Structure
src/
āāā index.ts # Main server implementation with all tools
package.json # Dependencies and scripts
tsconfig.json # TypeScript configuration
README.md # This file
local-instructions.md # Personal publishing guide
LICENSE
.gitignore
dist/ # Compiled JavaScript output (after `npm run build`)
āāā index.js
āāā index.d.tsBuilding from Source
# Install dependencies
npm install
# Build TypeScript
npm run build
# Test the server (requires TODOIST_API_TOKEN)
# Example: Set token and pipe a list tools request
export TODOIST_API_TOKEN="your_actual_todoist_api_token"
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | node dist/index.jsDevelopment Scripts
npm run build # Compile TypeScript and make output executable
npm run watch # Watch for changes and rebuild (doesn't make output executable)
npm run prepare # Pre-publish build (runs build)š¤ Contributing
Contributions are welcome! This extended version accepts contributions for:
Additional Todoist API endpoints
Enhanced error handling and validation
Performance optimizations
Documentation improvements
Bug fixes and compatibility updates
Please submit issues and pull requests to the extended repository.
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Credits
Extended Version: kydycode - Enhanced functionality and compatibility
Original Creator: @abhiz123 - Initial Todoist MCP server implementation
MCP Protocol: Model Context Protocol by Anthropic
š Issues and Support
Extended Version Issues: GitHub Issues
Original Repository: abhiz123/todoist-mcp-server
š Related Links
Extended Repository: kydycode/todoist-mcp-server-ext
NPM Package:
@kydycode/todoist-mcp-server-extOriginal Repository: abhiz123/todoist-mcp-server
Available Tools
30 toolstodoist_bulk_move_tasksA
Move multiple tasks (and their respective subtasks, if any; e.g., up to 10-20 parent tasks for best performance) to a different project, section, or make them subtasks of another task. Provide an array of taskIds and exactly one destination (projectId, sectionId, or parentId).
Inputs: taskIds (required), projectId, sectionId, parentId.
todoist_complete_taskC
Mark a task as complete by its ID
Inputs: taskId (required).
todoist_create_commentC
Create a new comment on a task or project
Inputs: content (required), taskId, projectId, attachment.
todoist_create_labelC
Create a new label.
Inputs: name (required), color, isFavorite, order.
todoist_create_projectC
Create a new project
Inputs: name (required), parentId, color, isFavorite, +1 more.
todoist_create_sectionC
Create a new section in a project
Inputs: name (required), projectId (required), order.
todoist_create_taskC
Create a new task in Todoist with comprehensive options including subtasks
Inputs: content (required), description, projectId, sectionId, +4 more.
todoist_delete_commentC
Delete a comment by its ID
Inputs: commentId (required).
todoist_delete_labelB
Delete a label by its ID.
Inputs: labelId (required).
todoist_delete_projectC
Delete a project by its ID
Inputs: projectId (required).
todoist_delete_sectionC
Delete a section by its ID
Inputs: sectionId (required).
todoist_delete_taskC
Delete a task by its ID
Inputs: taskId (required).
todoist_get_commentC
Get a specific comment by its ID
Inputs: commentId (required).
todoist_get_commentsA
Get comments for a task or project with pagination support
Inputs: taskId, projectId, cursor, limit.
todoist_get_labelC
Get a specific label by its ID.
Inputs: labelId (required).
todoist_get_labelsB
Get all labels. Supports pagination.
Inputs: cursor, limit.
todoist_get_projectB
Get a specific project by its ID
Inputs: projectId (required).
todoist_get_projectsB
Get all active projects with pagination support
Inputs: cursor, limit.
todoist_get_sectionsA
Get all sections, or sections for a specific project. Supports pagination.
Inputs: projectId, cursor, limit.
todoist_get_taskC
Get a specific task by its ID
Inputs: taskId (required).
todoist_get_tasksC
Get tasks with comprehensive filtering and pagination support
Inputs: projectId, sectionId, parentId, label, +3 more.
todoist_move_taskA
Move a single task (and its subtasks, if any) to a different project, section, or make it a subtask of another task. Provide the taskId and exactly one of: projectId, sectionId, or parentId.
Inputs: taskId (required), projectId, sectionId, parentId.
todoist_quick_add_taskA
Create a task using Todoist's Quick Add feature with natural language parsing
Inputs: text (required), note, reminder.
todoist_reopen_taskB
Reopen a completed task by its ID
Inputs: taskId (required).
todoist_search_tasksA
Search for tasks by content/name (fallback for when ID is not known)
Inputs: query (required), projectId, limit.
todoist_update_commentC
Update an existing comment by its ID
Inputs: commentId (required), content (required).
todoist_update_labelC
Update an existing label by its ID.
Inputs: labelId (required), name, color, isFavorite, +1 more.
todoist_update_projectC
Update an existing project
Inputs: projectId (required), name, color, isFavorite, +1 more.
todoist_update_sectionC
Update an existing section
Inputs: sectionId (required), name (required).
todoist_update_taskC
Update an existing task by its ID
Inputs: taskId (required), content, description, dueString, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 30 tools
Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (task, project, section, label, comment) and action (create, get, update, delete, etc.), and even similar tools like todoist_move_task and todoist_bulk_move_tasks are clearly differentiated by single vs. bulk operations.
All tools follow a perfect and consistent verb_noun pattern with the prefix 'todoist_' (e.g., todoist_create_task, todoist_get_projects, todoist_update_label). There are no deviations in naming conventions, making the set highly predictable and readable.
With 30 tools, the count feels heavy for a Todoist server, bordering on excessive. While it covers many operations, it might overwhelm agents with its breadth, especially since some tools like todoist_move_task and todoist_bulk_move_tasks could potentially be consolidated or parameterized.
The tool surface provides complete CRUD/lifecycle coverage for all core Todoist resources (tasks, projects, sections, labels, comments), including advanced operations like bulk moves, quick add, search, and pagination. There are no obvious gaps, ensuring agents can handle full workflows without dead ends.
Maintenance
Related MCP Connectors
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
Nifty's MCP server ā exposes tasks, projects, messages, and files as tools for AI agents.
ADHD-friendly task management MCP server for ChaTodo: organize tasks, lists, and priorities.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.5235 npm392MIT
- AlicenseBqualityDmaintenanceAn MCP server that connects Claude with Todoist for complete task and project management through natural language.86248 npm246MIT
- AlicenseBqualityDmaintenanceAn MCP server that integrates with the Todoist REST API v2 to enable AI assistants to manage tasks, projects, sections, comments, and labels. It supports comprehensive operations including batch task creation, history tracking for completed tasks, and organized project management.33358 npm1MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that provides AI assistants with full access to Todoist tasks, projects, labels, and filters. It enables comprehensive task management, project organization, and productivity tracking through a wide range of specialized tools.229 npmMIT