# Todoist MCP Server
Unofficial MCP server for Todoist that allows agents to create, and list tasks in your Todoist account.
## Features
- **Create tasks** with descriptions, due dates, priorities, and labels and projects.
- **List tasks** List completed or uncompleted tasks with filtering by project or Todoist filters.
Works with Claude Desktop, Cursor, and other MCP clients
## Installation
```bash
pip install todoist-mcp-server
```
## Setup
### 1. Get Your Todoist API Token
1. Go to [Todoist Integrations Settings](https://todoist.com/prefs/integrations)
2. Scroll down to "API token"
3. Copy your API token (keep it secure!)
### 2. Configure Your MCP Client
## Usage Examples
Here are some examples of how to use the Todoist MCP server with different clients:
### Claude Desktop
Add this to your `claude_desktop_config.json` file: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%/Claude/claude_desktop_config.json` (Windows)
```json
{
"mcpServers": {
"todoist": {
"command": "todoist-mcp-server",
"env": {
"TODOIST_API_TOKEN": "your-api-token-here"
}
}
}
}
```
#### Cursor
Add this to your Cursor settings:
1. Open Cursor Settings (`Cmd/Ctrl + ,`)
2. Search for "MCP"
3. Add the MCP server configuration:
```json
{
"mcpServers": {
"todoist": {
"command": "todoist-mcp-server",
"env": {
"TODOIST_API_TOKEN": "your-api-token-here"
}
}
}
}
```
#### Other MCP Clients
For any MCP-compatible client, use:
- **Command:** `todoist-mcp-server`
- **Environment Variable:** `TODOIST_API_TOKEN=your-token`
### 3. Restart Your Client
Restart Claude Desktop, Cursor, or your MCP client to load the server.
## Usage
Once configured, you can interact with Todoist using natural language:
### Creating Tasks
- "Create a task to buy groceries"
- "Add a task 'Call dentist' due tomorrow with high priority"
- "Create a task to finish the report with description 'Include Q4 metrics' due next Friday"
### Listing Tasks
- "Show me my tasks for today"
- "List all my high priority tasks"
- "What tasks do I have in my Work project?"
## Available Tools
### `create_task`
Create a new task in Todoist.
**Parameters:**
- `content` (required): Task title/content
- `description` (optional): Task description
- `project_name` (optional): Project name to add task to
- `due_string` (optional): Due date in natural language ("tomorrow", "next monday")
- `priority` (optional): Priority level 1-4 (1=low, 2=medium, 3=high, 4=urgent)
- `labels` (optional): List of label names
### `list_active_tasks`
List active tasks from Todoist.
**Parameters:**
- `project_name` (optional): Filter by project name
- `filter_string` (optional): Todoist filter ("today", "overdue", "p1")
- `limit` (optional): Maximum number of tasks (default: 50)
## Troubleshooting
### "Server disconnected" Error
1. Make sure you've installed the package: `pip install todoist-mcp-server`
2. Verify your API token is correct
3. Check that the config file is in the right location
4. Restart your MCP client completely
### "Command not found" or "ENOENT" Error
The most common cause is that your MCP client can't find the `todoist-mcp-server` command in its PATH.
**Solution: Use the full path to the command**
1. Find where the command is installed:
```bash
which todoist-mcp-server
```
2. Use the full path in your MCP config:
```json
{
"mcpServers": {
"todoist": {
"command": "/full/path/to/todoist-mcp-server",
"env": {
"TODOIST_API_TOKEN": "your-api-token-here"
}
}
}
}
```
**Other fixes:**
- Ensure the package is installed in the same Python environment your MCP client uses
- Try reinstalling: `pip uninstall todoist-mcp-server && pip install todoist-mcp-server`
### API Token Issues
- Get a fresh token from [Todoist Integrations](https://todoist.com/prefs/integrations)
- Make sure there are no extra spaces in your config file
- Verify the token has the necessary permissions
## Development
To contribute or run from source:
```bash
git clone https://github.com/mehularora8/todoist-mcp
cd todoist-mcp
pip install -e .
```
## Security
- Your API token is stored locally and only used to communicate with Todoist's API
- No data is sent to third parties
- The MCP server runs locally on your machine
## License
MIT License - see LICENSE file for details.
## Support
- 🐛 **Issues:** Report bugs or request features
- 📖 **Todoist API:** [Official Documentation](https://developer.todoist.com/rest/v2/)
- 🔧 **MCP Protocol:** [Model Context Protocol](https://modelcontextprotocol.io/)
---
**Note:** This is an unofficial integration and is not affiliated with Todoist or Doist Inc.