Skip to content

strangetoucan/mcp-todoist-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todoist MCP Server

A Model Context Protocol (MCP) server that provides complete CRUD operations for Todoist tasks, projects, comments, and labels.

Purpose

This MCP server provides a secure interface for AI assistants to manage your Todoist tasks, projects, and more through natural language commands. It wraps the Todoist REST API v2 in a secure, Docker-based MCP server.

Features

Task Management (CRUD)

  • create_task - Create new tasks with content, description, due dates, priority, and labels
  • list_tasks - List all tasks with optional filtering by project, label, or custom filter
  • get_task - Get detailed information about a specific task
  • update_task - Update task content, description, due date, priority, or labels
  • complete_task - Mark a task as completed
  • reopen_task - Reopen a completed task
  • delete_task - Permanently delete a task

Project Management (CRUD)

  • create_project - Create new projects with name, color, favorite status, and view style
  • list_projects - List all projects in your account
  • get_project - Get detailed information about a specific project
  • update_project - Update project name, color, favorite status, or view style
  • delete_project - Permanently delete a project

Comment Operations

  • create_comment - Add comments to tasks
  • list_comments - List all comments for a task or project

Label Operations

  • create_label - Create new labels with name and color
  • list_labels - List all labels in your account

Prerequisites

  • Docker Desktop with MCP Toolkit enabled
  • Docker MCP CLI plugin (docker mcp command)
  • Todoist account with API token

Getting Your Todoist API Token

  1. Go to https://app.todoist.com/app/settings/integrations/developer
  2. Scroll down to find "API token"
  3. Copy the 40-character hexadecimal token
  4. Keep this token secure - it provides full access to your Todoist account

Installation

See the step-by-step instructions provided with the files.

Usage Examples

In Claude Desktop, you can ask:

Tasks

  • "Create a task 'Buy groceries' due tomorrow with priority 2"
  • "List all my tasks"
  • "Show me tasks in project 12345"
  • "Complete task 98765"
  • "Update task 12345 to have priority 4 and due date 'next Monday'"
  • "Delete task 98765"

Projects

  • "Create a new project called 'Work Projects' with color blue"
  • "List all my projects"
  • "Update project 12345 to be a favorite"
  • "Delete project 67890"

Comments & Labels

  • "Add a comment 'Need to review this' to task 12345"
  • "List comments for task 12345"
  • "Create a label 'urgent' with color red"
  • "Show me all my labels"

Architecture

Claude Desktop → MCP Gateway → Todoist MCP Server → Todoist REST API v2
                                ↓
                    Docker Desktop Secrets
                    (TODOIST_API_TOKEN)

Development

Local Testing

# Set environment variable for testing
export TODOIST_API_TOKEN="your-api-token"

# Run directly
python todoist_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python todoist_server.py

Adding New Tools

  1. Add the function to todoist_server.py
  2. Decorate with @mcp.tool()
  3. Update the catalog entry with the new tool name
  4. Rebuild the Docker image

Troubleshooting

Tools Not Appearing

  • Verify Docker image built successfully: docker images | grep todoist-mcp-server
  • Check catalog and registry files
  • Ensure Claude Desktop config includes custom catalog
  • Restart Claude Desktop

Authentication Errors

API Rate Limits

  • Todoist allows 1000 requests per 15 minutes per user
  • If you hit limits, wait 15 minutes before retrying

Security Considerations

  • All credentials stored in Docker Desktop secrets
  • Never hardcode API tokens
  • Running as non-root user
  • API tokens never logged
  • All communication over HTTPS

API Reference

This server uses Todoist REST API v2:

License

Apache 2.0

About

Automating Todoist CRUD tasks with AI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •