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.
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
- Go to Todoist Integrations Settings
- Scroll down to the "API token" section
- Copy your API token (you'll need this later)
Step 2: Install the MCP Server
- Clone the repository:
git clone <repository-url>
cd todoist-mcp
- 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 .
- Create a
.envfile 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_TOKENfrom the.envfile in thetodoist-mcpdirectory - You do NOT need to specify the token in the Claude Desktop config if you're using a
.envfile - After updating the config, fully restart Claude Desktop (quit the app completely, don't just close the window)
Step 4: Verify Installation
- Restart Claude Desktop completely (use Quit from the menu)
- Open Claude Desktop
- Look for the MCP server indicator (usually in the bottom corner or settings)
- You should see "todoist" listed as an available MCP server
- 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-mcpif using a virtual environment - Verify the command exists by running
which todoist-mcp(macOS/Linux) orwhere todoist-mcp(Windows) - Check that your
.envfile exists in thetodoist-mcpdirectory with the correct token
"TODOIST_API_TOKEN environment variable not set"
- Ensure your
.envfile is in thetodoist-mcpdirectory (same directory aspyproject.toml) - Verify the
.envfile 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 filteringget_task- Get details of a specific taskcreate_task- Create a new taskupdate_task- Update an existing taskcomplete_task- Mark a task as completedreopen_task- Reopen a completed taskdelete_task- Delete a task
Project Operations
get_projects- List all projectsget_project- Get details of a specific projectcreate_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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the terms specified in the LICENSE file.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.