Skip to main content
Glama

Enhanced Todoist MCP Server Extended

MIT License
147
1

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).

🆕 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 getTasksByFilter for robust search and moveTasks for semantic task movement.
  • Better Response Formatting: Enhanced task, project, and label formatting for better readability, including project names in search results.

Enhanced Task Management (10 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.
  • 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.

🛠️ Available Tools (Total 24)

Task Operations (10 tools)

ToolDescription
todoist_create_taskCreate tasks with full options (subtasks, labels, projects, sections, priorities).
todoist_quick_add_taskNatural language task creation using Todoist's Quick Add syntax.
todoist_get_tasksRetrieve tasks with filtering (project, section, parent, label, IDs) and pagination.
todoist_get_taskGet a specific task by its ID, with detailed information.
todoist_update_taskUpdate task properties (content, description, due date, priority, labels).
todoist_delete_taskDelete task by ID.
todoist_complete_taskMark task complete.
todoist_reopen_taskReopen completed task.
todoist_search_tasksSearch tasks using Todoist's filter engine (e.g., search: keyword).
todoist_move_taskMove a task to a different project, section, or make it a subtask.

Project Operations (5 tools)

ToolDescription
todoist_get_projectsList all active projects with pagination support.
todoist_get_projectGet a specific project by its ID.
todoist_create_projectCreate new project (name, color, favorite, view style, sub-projects).
todoist_update_projectUpdate project properties.
todoist_delete_projectDelete project by ID.

Section Operations (4 tools)

ToolDescription
todoist_get_sectionsList sections (all sections or project-specific).
todoist_create_sectionCreate section in project (name, project, ordering).
todoist_update_sectionUpdate section name.
todoist_delete_sectionDelete section by ID.

Label Operations (5 tools)

ToolDescription
todoist_create_labelCreate a new label (name, color, favorite, order).
todoist_get_labelGet a specific label by its ID.
todoist_get_labelsList all labels with pagination support.
todoist_update_labelUpdate an existing label by its ID (name, color, favorite, order).
todoist_delete_labelDelete a label by its ID.

🚀 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 build

Getting a Todoist API Token

  1. Log in to your Todoist account
  2. Navigate to Settings → Integrations → Developer
  3. 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" } } } }
{ "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, and Label 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"

🆚 Extended vs Original Comparison

FeatureOriginalExtended Version (@kydycode/todoist-mcp-server-ext)
Todoist SDK VersionOlder@doist/todoist-api-typescript@4.0.4
MCP SDK CompatibilityOlder version✅ Latest MCP SDK 0.5.0+
Error HandlingBasic✅ Comprehensive with detailed messages
TypeScript SupportLimited✅ Full type safety
Task OperationsSearch-based, limited features✅ 10 Tools: Direct ID-based, moveTasks, robust search, QuickAdd, full CRUD-like ops
Project ManagementLimited✅ 5 Tools: Full CRUD operations, sub-projects, pagination
Section ManagementBasic✅ 4 Tools: Complete section operations
Label ManagementNot Available✅ 5 Tools: Full CRUD operations, pagination
API Parameter HandlingInconsistent✅ Proper parameter validation
Response FormattingBasic✅ Enhanced readability, more details
Build SystemIssues✅ Clean compilation
Search FunctionalityBasic local filter✅ Robust getTasksByFilter (Todoist engine)

🔧 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.ts

Building 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.js

Development 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

🐛 Issues and Support

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list through Claude.
    Last updated -
    117
    Python
    MIT License
  • A
    security
    A
    license
    A
    quality
    An MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.
    Last updated -
    5
    245
    153
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    An MCP server that enables LLMs to interact with Todoist tasks, projects, and other features through the Todoist API.
    Last updated -
    36
    97
    46
    TypeScript
    MIT License
    • Apple
    • Linux
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables Claude to interact with your Todoist account, allowing you to manage tasks, projects, and labels through natural language.
    Last updated -
    1
    Python

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kydycode/todoist-mcp-server-ext'

If you have feedback or need assistance with the MCP directory API, please join our Discord server