americodias/enhanced-todoist-mcp-server
If you are the rightful owner of enhanced-todoist-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Enhanced Todoist MCP Server is a comprehensive integration server that provides full access to Todoist's API capabilities, enabling advanced task and project management.
todoist_get_tasks
Retrieve tasks with advanced filtering
todoist_create_task
Create new task with full options
todoist_update_task
Update existing task
todoist_complete_task
Mark task as complete
todoist_delete_task
Delete task
Enhanced Todoist MCP Server
A comprehensive Model Context Protocol (MCP) server for Todoist integration that provides Claude with full access to Todoist's API capabilities including tasks, projects, sections, labels, and comments.
Features
ā Complete Task Management
- Create, read, update, delete, and complete tasks
- Advanced filtering using Todoist's natural language syntax
- Support for priorities, labels, due dates, and descriptions
- Task search functionality
- Subtask support
š Project Management
- Full project CRUD operations
- Project hierarchy support
- Custom colors and view styles (list/board)
- Favorite projects
š Section Organization
- Create and manage sections within projects
- Organize tasks by sections
- Section ordering
š·ļø Label System
- Create and manage labels
- Apply multiple labels to tasks
- Label colors and favorites
- Cross-project labeling
š¬ Comments & Collaboration
- Add comments to tasks and projects
- Update and delete comments
- Attachment support
š Advanced Search
- Natural language task filtering
- Search tasks by content
- Complex filter queries
ā” Performance Features
- Rate limiting to respect API limits
- Comprehensive error handling
- Type-safe operations with Zod validation
- RESTful API v2 support
Installation
Prerequisites
- Node.js 18+
- npm or yarn
- Todoist account with API access
Quick Install
- Clone or create the project:
git clone <your-repo-url>
cd enhanced-todoist-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
- Get your Todoist API token:
- Log in to Todoist
- Go to Settings ā Integrations
- Copy your API token
Claude Desktop Integration
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"enhanced-todoist": {
"command": "node",
"args": ["/absolute/path/to/enhanced-todoist-mcp-server/build/index.js"],
"env": {
"TODOIST_API_TOKEN": "your_todoist_api_token_here"
}
}
}
}
Or use npx for automatic updates:
{
"mcpServers": {
"enhanced-todoist": {
"command": "npx",
"args": ["enhanced-todoist-mcp-server"],
"env": {
"TODOIST_API_TOKEN": "your_todoist_api_token_here"
}
}
}
}
Documentation
- - Extensive documentation with 500+ practical examples for daily life scenarios
- - Get up and running in 5 minutes
- - Version history and updates
Usage Examples
Basic Task Operations
"Create a task 'Review quarterly reports' due tomorrow with high priority"
"Show me all tasks due today"
"Mark the meeting preparation task as complete"
"Update the budget review task to be due next Friday"
Project Management
"Create a new project called 'Website Redesign' with board view"
"Show me all my projects"
"Add a section called 'In Progress' to the Website Redesign project"
Advanced Filtering
"Show me all high priority tasks in the Work project"
"Find tasks with the @urgent label that are overdue"
"Get all tasks assigned to me in the next week"
Labels and Organization
"Create a label called 'Quick Wins' with green color"
"Add the @important label to the budget task"
"Show me all tasks with the @waiting label"
Comments and Collaboration
"Add a comment to the project planning task: 'Need to schedule stakeholder meeting'"
"Show me all comments on the Website Redesign project"
Available Tools
Task Management
todoist_get_tasks
- Retrieve tasks with advanced filteringtodoist_get_task
- Get specific task by IDtodoist_create_task
- Create new task with full optionstodoist_update_task
- Update existing tasktodoist_complete_task
- Mark task as completetodoist_reopen_task
- Reopen completed tasktodoist_delete_task
- Delete tasktodoist_search_tasks
- Search tasks by contenttodoist_find_task_by_name
- Find task by name (legacy compatibility)
Project Management
todoist_get_projects
- Get all projectstodoist_get_project
- Get specific projecttodoist_create_project
- Create new projecttodoist_update_project
- Update project settingstodoist_delete_project
- Delete project
Section Management
todoist_get_sections
- Get sections (optionally by project)todoist_get_section
- Get specific sectiontodoist_create_section
- Create new sectiontodoist_update_section
- Update sectiontodoist_delete_section
- Delete section
Label Management
todoist_get_labels
- Get all labelstodoist_get_label
- Get specific labeltodoist_create_label
- Create new labeltodoist_update_label
- Update labeltodoist_delete_label
- Delete label
Comment Management
todoist_get_comments
- Get comments for task/projecttodoist_get_comment
- Get specific commenttodoist_create_comment
- Add new commenttodoist_update_comment
- Update commenttodoist_delete_comment
- Delete comment
Filter Syntax
The server supports Todoist's powerful filter syntax:
Date Filters
today
- Tasks due todaytomorrow
- Tasks due tomorrowthis week
- Tasks due this weeknext week
- Tasks due next weekoverdue
- Overdue tasksno date
- Tasks with no due date
Priority Filters
p1
- Priority 4 (highest)p2
- Priority 3p3
- Priority 2p4
- Priority 1 (lowest)
Label Filters
@work
- Tasks with "work" label@home
- Tasks with "home" label
Project Filters
#project_name
- Tasks in specific project
Complex Filters
today & p1
- High priority tasks due today@work & overdue
- Overdue work tasks(today | tomorrow) & p1
- High priority tasks due today or tomorrow
Development
Scripts
npm run build
- Build the TypeScript projectnpm run dev
- Watch mode for developmentnpm start
- Run the built servernpm test
- Run testsnpm run inspect
- Run MCP inspector for debuggingnpm run clean
- Clean build directory
Project Structure
enhanced-todoist-mcp-server/
āāā src/
ā āāā index.ts # Main server implementation
āāā build/ # Compiled JavaScript output
āāā package.json # Dependencies and scripts
āāā tsconfig.json # TypeScript configuration
āāā README.md # This file
Debugging
Use the MCP inspector to test tools:
npm run inspect
This will start an interactive debugger where you can test individual tools.
API Compatibility
This server uses Todoist's REST API v2, which provides:
- Better performance than the legacy Sync API
- Comprehensive resource coverage
- Modern RESTful design
- Full type safety
Rate Limiting
The server implements automatic rate limiting to respect Todoist's API limits:
- 1000 requests per 15 minutes
- Automatic backoff and retry
- Request queuing during limit periods
Error Handling
Comprehensive error handling includes:
- Input validation with Zod schemas
- API error translation
- Rate limit management
- Detailed error messages for debugging
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- Check the Todoist API documentation
- Review the MCP documentation
- Open an issue on GitHub
Changelog
v2.0.0
- Complete rewrite with full API coverage
- Added projects, sections, labels, and comments
- Enhanced error handling and rate limiting
- Type-safe operations with Zod validation
- RESTful API v2 support
- Comprehensive search functionality
- Backward compatibility with existing tools