Skip to main content

FastMCP server for Todoist API integration

Project description

Todoist MCP Server

MCP server for Todoist API integration. Published to PyPI

Status

Full Functionality - Now using Todoist unified API v1 with proper pagination support

Features

  • Full cursor-based pagination for tasks and projects
  • Configurable limit parameter for all list endpoints
  • Multi-auth support (environment, config file, runtime)
  • Complete task and project management capabilities
  • Error handling with detailed error messages

Installation

pip install todoist-mcp

Claude Desktop Configuration

Add to your claude_desktop_config.json:

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

AmazonQ Developer CLI Configuration

Add to your .amazonq/mcp.json:

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

Alternative: Using mcp-gen

For complex MCP configuration management such as in providing configurations for different contexts ot teams, use mcp-gen with YAML:

See https://github.com/OAuthBringer/mcp-gen/examples for more full examples

# mcp-config.yaml

servers:
    todoist:
      command: uvx
      args: [todoist-mcp]
      env:
        TODOIST_API_TOKEN: {{ secrets.TODOIST_API_TOKEN }}
    ```
Then generate your configuration:
```bash
`mcp-gen generate -c mcp-config.yaml -s secrets-file.yaml`

Configuration

Authentication options (in order of precedence):

  1. Runtime: Pass token when creating client
  2. Config file: ~/.config/todoist/config.json with {"api_token": "your_token"}
  3. Environment: Set TODOIST_API_TOKEN

Available Tools

Projects

  • get_projects - List projects with pagination (limit, cursor)
  • get_project - Get single project by ID
  • add_project - Create new project

Tasks

  • get_tasks - List tasks with pagination and filters
  • get_task - Get single task by ID
  • add_task - Create new task
  • update_task - Update existing task

Technical Details

  • Built with FastMCP v2.3.3+
  • Python 3.11+
  • Direct API v1 integration using httpx
  • No dependency on todoist-api-python SDK

Development

# Clone repository
git clone https://github.com/OAuthBringer/todoist-mcp
cd todoist-mcp

# Create virtual environment
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install dependencies
uv pip install -e .
uv pip install -e ".[dev]"

# Run tests
pytest

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-0.2.0.tar.gz (10.1 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-0.2.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file todoist_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: todoist_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for todoist_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5785dca813f8c5c9460fb9091bce66cced56df42e559cebf83492b9c2fdd6933
MD5 24a26ca12baa2c251bd22a5d941906bb
BLAKE2b-256 1f9a47e63f7582efe0b1b248383fea1426a76d4171cc489f64cf06cfee764e03

See more details on using hashes here.

File details

Details for the file todoist_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: todoist_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for todoist_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5fa9def25ea7310af324c98d1fde1a8010b8e795a36bfc17333de036211519b
MD5 dead561a816aa80347d3ce03a8e80465
BLAKE2b-256 37b775904b179579f98124c0be1899bb9e1dd02b5becaeb7de7fa6e026ad806c

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