Todoist

Run a local MCP that ties to your Todoist instance.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dan-bailey-todoist-mcp": {
      "command": "/full/path/to/venv/bin/todoist-mcp",
      "args": [],
      "env": {
        "TODOIST_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

You can run a Todoist MCP Server to let Claude and other MCP-compatible assistants interact with your Todoist data. It exposes task and project management via MCP, enabling natural language queries and actions like listing tasks, creating tasks, updating statuses, and managing projects."

How to use

Once the MCP server is up and connected, you can talk to Claude or another MCP client to manage Todoist data with natural language. You can ask to see today’s tasks, create new tasks with due dates, mark items as completed, list all projects, create new projects, and filter tasks by project, section, labels, or natural language terms. You can also query sections within projects to organize work. The server handles all communication with Todoist through its REST API v2 and translates your requests into Todoist actions.

Practical examples you can try after setup include:

  • 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

How to install

Prerequisites: Python 3.12 or higher, pip, and a Todoist account with an API token.

Step 1: Get Your Todoist API Token. Open Todoist Integrations Settings, locate the API token, and copy it for later use.

Step 2: Install the MCP Server.

git clone <repository-url>
cd todoist-mcp
pip install -e .

If you prefer a virtual environment, follow these steps instead:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .

Step 3: Create a .env file with your API token. In the todoist-mcp directory, create a file named .env and add your token in the following format.

# 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 4: Configure Claude Desktop to connect to the MCP server.

Option A: Using a virtual environment (Recommended for development). If you installed in a virtual environment, specify the full path to the server executable in Claude Desktop.

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


To locate the full path, run one of these commands:

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


Option B: Global installation. If you installed globally (without a virtual environment), use this configuration:

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


Important notes for configuration:

- The MCP server will automatically load the TODOIST\_API\_TOKEN from the .env file located in the todoist-mcp directory.
- You do NOT need to specify the token in the Claude Desktop config if you are using a .env file.
- After updating the config, fully restart Claude Desktop (quit the app completely, don’t just close the window)."

Step 5: Verify installation.

1. Restart Claude Desktop completely.
2. Open Claude Desktop.
3. Look for the MCP server indicator and confirm that todoist appears as an available MCP server.
4. Try a simple request like: Show me my Todoist tasks.

## Additional configuration and troubleshooting

Troubleshooting common issues.

"Could not connect to MCP server" or "spawn todoist-mcp ENOENT" — ensure you used the correct full path to the server when using a virtual environment, and verify the command exists by running which or where as appropriate. Also confirm the .env file exists in the todoist-mcp directory and contains the correct token.

"TODOIST\_API\_TOKEN environment variable not set" — ensure the .env file is in the todoist-mcp directory and contains the line TODOIST\_API\_TOKEN=your\_actual\_token, with no typos in the variable name.

"Server keeps disconnecting" — verify your API token is valid in Todoist developer settings, ensure Claude Desktop was fully restarted, and check logs for specific error messages.

## Available Tools (functions exposed by the MCP server)

The server exposes a set of operations to manage Todoist data.

- 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
- get\_projects: List all projects
- get\_project: Get details of a specific project
- create\_project: Create a new project
- get\_sections: List sections within projects

## Available tools

### get\_tasks

List tasks with optional filtering to narrow results by project, label, due date, or other criteria.

### get\_task

Retrieve detailed information for a specific task by ID.

### create\_task

Create a new task with specified content, due date, project, and other attributes.

### update\_task

Update fields on an existing task, such as title, due date, or labels.

### complete\_task

Mark a task as completed in Todoist.

### reopen\_task

Reopen a previously completed task.

### delete\_task

Delete a task from Todoist.

### get\_projects

List all Todoist projects you have access to.

### get\_project

Get details for a specific project.

### create\_project

Create a new Todoist project.

### get\_sections

List sections within a project.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational