Skip to main content

MCP Server for Todoist — Connect AI agents to your Todoist tasks

Project description

Todoist MCP Helper Icon

Todoist MCP Helper ✅

English | 中文

PyPI License: MIT Sponsor

Connect AI agents to your Todoist tasks via the Model Context Protocol (MCP).

Create, search, complete, and manage your Todoist tasks — all from Claude, Gemini, Cursor, or any MCP-compatible AI agent.


✨ Features

Category Tools Description
📋 Tasks get_tasks, get_task, create_task, update_task, close_task, delete_task, reopen_task Full task CRUD with priority, due dates, labels
🚚 Move move_task, move_task_by_name Move tasks across projects, sections, parents
🔍 Smart Search search_task_by_name, complete_task_by_name, delete_task_by_name, update_task_by_name Find and operate on tasks by name (fuzzy matching)
📁 Projects list_projects, create_project, update_project, delete_project, get_project_overview Manage projects + full structure overview
📑 Sections list_sections, create_section, update_section, delete_section Organize and rename sections
🏷️ Labels list_labels, create_label Tag management
💬 Comments get_comments, create_comment Task & project comments
⚙️ Config set_api_token, get_current_config Runtime token management

27 tools total — the most comprehensive Todoist MCP server available.


🚀 Quick Start

Option A: Quick Run with uvx (Recommended)

No installation needed — runs in a temporary isolated environment:

uvx todoist-mcp-helper

Don't have uv? Install it: curl -LsSf https://astral.sh/uv/install.sh | sh

Option B: Install with pip

pip install todoist-mcp-helper

Get Your API Token

  1. Go to Todoist Settings → Integrations
  2. Scroll to Developer → copy your API Token

📋 Configuration

All credentials are passed via environment variables — no tokens in code.

Variable Description Required
TODOIST_API_TOKEN Your Todoist API Token

🔧 Platform Configuration

Claude Desktop

Add to claude_desktop_config.json:

uvx (recommended)pip
{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp-helper"],
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}
{
  "mcpServers": {
    "todoist": {
      "command": "todoist-mcp-helper",
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json:

uvx (recommended)pip
{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp-helper"],
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}
{
  "mcpServers": {
    "todoist": {
      "command": "todoist-mcp-helper",
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

uvx (recommended)pip
{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp-helper"],
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}
{
  "mcpServers": {
    "todoist": {
      "command": "todoist-mcp-helper",
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}

CherryStudio / Other MCP Clients

{
  "todoist": {
    "command": "uvx",
    "args": ["todoist-mcp-helper"],
    "env": {
      "TODOIST_API_TOKEN": "your_token"
    }
  }
}

ModelScope (魔塔)

Select Stdio mode in the MCP service configuration, then use:

{
  "mcpServers": {
    "todoist": {
      "command": "uvx",
      "args": ["todoist-mcp-helper"],
      "env": {
        "TODOIST_API_TOKEN": "your_token"
      }
    }
  }
}

Add TODOIST_API_TOKEN in the environment variables section with your API token value.


💡 Usage Examples

Once configured, ask your AI agent:

  • "Show me my tasks for today"
  • "Create a task: Buy groceries, due tomorrow, priority 2"
  • "Complete the task about groceries"
  • "Move the grocery task to my Shopping project"
  • "Search for tasks related to meeting"
  • "List all my projects"
  • "Show me the full project overview with sections"
  • "Add a comment to my latest task"

🔐 Runtime Configuration

Change tokens without restarting:

  • set_api_token — Switch Todoist account at runtime
  • get_current_config — Check current configuration

💖 Support

If this project helps you, consider buying me a coffee! Your support keeps this project alive and growing ✨

☕ 爱发电 (Afdian)

Support on Afdian

Supports Alipay & WeChat Pay

💎 Crypto (USDC / ERC-20)

Donate Crypto

Click to donate — supports MetaMask, SafePal & more

Every little bit helps — thank you! 🙏


📄 License

MIT License — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todoist_mcp_helper-1.2.0.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

todoist_mcp_helper-1.2.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file todoist_mcp_helper-1.2.0.tar.gz.

File metadata

  • Download URL: todoist_mcp_helper-1.2.0.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for todoist_mcp_helper-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d5a9d0ef71366229ff0a511ddc24ae04bd5db52ef85aa98dbed581d82035e5d3
MD5 4a599c1de3f3456c616969e75be5050c
BLAKE2b-256 3a2b4a180227c2b5f61bfcb07b4e3b962fa1ece388dc16bc49c2e6934b7fea7f

See more details on using hashes here.

File details

Details for the file todoist_mcp_helper-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for todoist_mcp_helper-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e9d1dc3c893b9403b02c61b39ca5dfc55112c2218946e481a37284afcc2ad694
MD5 fefeaf39a3b95e45b9af897e354ce1a0
BLAKE2b-256 df0685ef1c1d836781d8bf95a2032956357db5a38b639666495d4808959bd30d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page