Todoist MCP Server

Todoist MCP Server

Enables AI assistants to interact with Todoist tasks and projects through natural language. Supports comprehensive task management including creating, updating, completing tasks, managing projects, and filtering by various criteria.

Category
Visit Server

README

Todoist MCP Server

A Model Context Protocol (MCP) server that integrates with Todoist, allowing Claude and other MCP-compatible AI assistants to interact with your Todoist tasks and projects.

Features

  • Task Management: Create, read, update, complete, and delete tasks
  • Project Management: List and manage projects
  • Filtering: Filter tasks by project, section, labels, or natural language queries
  • Full API Support: Comprehensive coverage of Todoist's REST API v2

Installation

Prerequisites

  • Python 3.12 or higher
  • pip (Python package installer)
  • A Todoist account and API token

Step 1: Get Your Todoist API Token

  1. Go to Todoist Integrations Settings
  2. Scroll down to the "API token" section
  3. Copy your API token (you'll need this later)

Step 2: Install the MCP Server

  1. Clone the repository:
git clone <repository-url>
cd todoist-mcp
  1. Install the package:
pip install -e .

Note: If you want to install it in a virtual environment:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .
  1. Create a .env file with your API token:
# Create .env file in the todoist-mcp directory
echo "TODOIST_API_TOKEN=your_api_token_here" > .env

Replace your_api_token_here with the token you copied in Step 1.

Step 3: Configure Claude Desktop

The Claude Desktop configuration file is located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Option A: Using Virtual Environment (Recommended for Development)

If you installed in a virtual environment, use the full path to the todoist-mcp command:

{
  "mcpServers": {
    "todoist": {
      "command": "/full/path/to/venv/bin/todoist-mcp"
    }
  }
}

To find the full path, run:

which todoist-mcp  # On macOS/Linux
where todoist-mcp  # On Windows

Option B: Global Installation

If you installed globally (without a virtual environment), you can use:

{
  "mcpServers": {
    "todoist": {
      "command": "todoist-mcp"
    }
  }
}

Important Notes:

  • The MCP server will automatically load the TODOIST_API_TOKEN from the .env file in the todoist-mcp directory
  • You do NOT need to specify the token in the Claude Desktop config if you're using a .env file
  • After updating the config, fully restart Claude Desktop (quit the app completely, don't just close the window)

Step 4: Verify Installation

  1. Restart Claude Desktop completely (use Quit from the menu)
  2. Open Claude Desktop
  3. Look for the MCP server indicator (usually in the bottom corner or settings)
  4. You should see "todoist" listed as an available MCP server
  5. Try asking Claude: "Show me my Todoist tasks"

Troubleshooting

"Could not connect to MCP server" or "spawn todoist-mcp ENOENT"

  • Make sure you used the full path to todoist-mcp if using a virtual environment
  • Verify the command exists by running which todoist-mcp (macOS/Linux) or where todoist-mcp (Windows)
  • Check that your .env file exists in the todoist-mcp directory with the correct token

"TODOIST_API_TOKEN environment variable not set"

  • Ensure your .env file is in the todoist-mcp directory (same directory as pyproject.toml)
  • Verify the .env file contains: TODOIST_API_TOKEN=your_actual_token
  • Check for typos in the variable name

Server keeps disconnecting

  • Verify your API token is valid at https://todoist.com/app/settings/integrations/developer
  • Check that you've fully restarted Claude Desktop
  • Look at Claude Desktop logs for specific error messages

Usage

With Claude Desktop

Once configured, you can interact with Claude using natural language:

  • "Show me all my tasks for today"
  • "Create a task to review the quarterly report due tomorrow"
  • "Mark task ID 12345 as completed"
  • "List all my projects"
  • "Create a new project called 'Home Renovation'"
  • "Show me all high-priority tasks"

As a Standalone Server (Advanced)

You can also run the MCP server directly for testing or integration with other MCP clients:

# Make sure your .env file is configured first
todoist-mcp

Available Tools

Task Operations

  • get_tasks - List tasks with optional filtering
  • get_task - Get details of a specific task
  • create_task - Create a new task
  • update_task - Update an existing task
  • complete_task - Mark a task as completed
  • reopen_task - Reopen a completed task
  • delete_task - Delete a task

Project Operations

  • get_projects - List all projects
  • get_project - Get details of a specific project
  • create_project - Create a new project

Section Operations

  • get_sections - List sections within projects

Example Interactions

Once connected, you can interact with Claude using natural language:

  • "Show me all my tasks for today"
  • "Create a task to review the quarterly report due tomorrow"
  • "Mark task ID 12345 as completed"
  • "List all my projects"
  • "Create a new project called 'Home Renovation'"

Development

Project Structure

todoist-mcp/
├── todoist_mcp/
│   ├── __init__.py
│   ├── client.py      # Todoist API client
│   └── server.py      # MCP server implementation
├── pyproject.toml
├── README.md
└── .env.example

Running Tests

(Tests would be added here in the future)

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the terms specified in the LICENSE file.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured