Manage Todoist Tasks with Natural Language
MCP server letting Claude manage Todoist tasks via natural language - create, search, update, complete, and delete using an API token.
Why it matters
Integrate Claude with Todoist to manage your tasks using conversational speech. Create, update, complete, and delete tasks effortlessly through natural language commands.
Outcomes
What it gets done
Create new tasks with details like due dates and priority.
Retrieve and filter tasks using natural language queries.
Update existing tasks via partial name matching.
Complete or delete tasks using conversational commands.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-todoist | bash Capabilities
Tools your agent gets
Create new tasks with content, description, due date, and priority attributes.
Retrieve and filter tasks by due date, priority, project with natural language date filtering.
Update existing tasks using natural language search to find tasks by partial name match.
Mark tasks as completed using natural language search to find tasks by partial name match.
Delete tasks using natural language search to find and delete tasks by name.
Overview
Todoist MCP Server
An MCP server that connects Claude to Todoist, letting it create, retrieve, update, complete, and delete tasks using natural language. It exposes five tools covering the full task lifecycle, with filtering by due date, priority, or project. Use when you want Claude to manage a Todoist account conversationally - creating, checking, updating, or completing tasks - instead of using the Todoist app directly.
What it does
This MCP server connects Claude to Todoist, letting Claude create, retrieve, update, complete, and delete Todoist tasks using natural-language instructions instead of the Todoist UI or API calls. It supports rich task details (description, due date, priority level) and flexible filtering (by due date, priority, or project), with natural-language date parsing and clear error feedback for a better user experience.
When to use - and when NOT to
Use it when you want Claude to manage a real Todoist account conversationally - creating tasks with descriptions and due dates ("Create task 'Team Meeting' with description 'Weekly sync' due tomorrow"), listing tasks filtered by due date, priority, or project ("Show high priority tasks due this week"), updating a task found via partial name match ("Update meeting task to be due next Monday"), marking tasks complete ("Mark the documentation task as complete"), or deleting tasks by name ("Delete the PR review task"). It is built for everyday task-management phrasing, not bulk data operations. Requires a Todoist account and a personal API token (found under Settings -> Integrations -> Developer in the Todoist app), plus Node.js/npm to install and configure the server for Claude Desktop.
Capabilities
Five tools: todoist_create_task (content required; description, due date, and priority level 1-4 optional), todoist_get_tasks (filter by due date, priority, or project, with natural-language date filtering and an optional result limit), todoist_update_task (finds a task via partial name match and updates any attribute - content, description, due date, or priority), todoist_complete_task (finds and marks a task complete via partial name match, with a confirmation message), and todoist_delete_task (finds and removes a task by name, with a confirmation message). The update, complete, and delete tools all rely on partial name matching rather than requiring exact task IDs, so Claude can act on a task from a short natural-language description of it.
How to install
Install via Smithery for Claude Desktop:
npx -y @smithery/cli install @abhiz123/todoist-mcp-server --client claude
Or install manually:
npm install -g @abhiz123/todoist-mcp-server
Then register it in claude_desktop_config.json, pointing command: "npx" at -y @abhiz123/todoist-mcp-server and passing your Todoist API token via the TODOIST_API_TOKEN environment variable. To build from source instead: clone the repository, run npm install to install dependencies, then npm run build. The project is MIT-licensed; issues and support requests are filed on the GitHub repository.
Who it's for
Todoist users who want to manage their task list through conversation with Claude rather than switching to the Todoist app or web UI - creating and organizing tasks, checking what's due, updating details, and marking work complete, all via natural language rather than manual clicking through the Todoist interface.
Source README
Todoist MCP Server
An MCP (Model Context Protocol) server implementation that integrates Claude with Todoist, enabling natural language task management. This server allows Claude to interact with your Todoist tasks using everyday language.
Features
- Natural Language Task Management: Create, update, complete, and delete tasks using everyday language
- Smart Task Search: Find tasks using partial name matches
- Flexible Filtering: Filter tasks by due date, priority, and other attributes
- Rich Task Details: Support for descriptions, due dates, and priority levels
- Intuitive Error Handling: Clear feedback for better user experience
Installation
Installing via Smithery
To install Todoist MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @abhiz123/todoist-mcp-server --client claude
Manual Installation
npm install -g @abhiz123/todoist-mcp-server
Tools
todoist_create_task
Create new tasks with various attributes:
- Required: content (task title)
- Optional: description, due date, priority level (1-4)
- Example: "Create task 'Team Meeting' with description 'Weekly sync' due tomorrow"
todoist_get_tasks
Retrieve and filter tasks:
- Filter by due date, priority, or project
- Natural language date filtering
- Optional result limit
- Example: "Show high priority tasks due this week"
todoist_update_task
Update existing tasks using natural language search:
- Find tasks by partial name match
- Update any task attribute (content, description, due date, priority)
- Example: "Update meeting task to be due next Monday"
todoist_complete_task
Mark tasks as complete using natural language search:
- Find tasks by partial name match
- Confirm completion status
- Example: "Mark the documentation task as complete"
todoist_delete_task
Remove tasks using natural language search:
- Find and delete tasks by name
- Confirmation messages
- Example: "Delete the PR review task"
Setup
Getting a Todoist API Token
- Log in to your Todoist account
- Navigate to Settings → Integrations
- Find your API token under "Developer"
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": ["-y", "@abhiz123/todoist-mcp-server"],
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}
Example Usage
Creating Tasks
"Create task 'Team Meeting'"
"Add task 'Review PR' due tomorrow at 2pm"
"Create high priority task 'Fix bug' with description 'Critical performance issue'"
Getting Tasks
"Show all my tasks"
"List tasks due today"
"Get high priority tasks"
"Show tasks due this week"
Updating Tasks
"Update documentation task to be due next week"
"Change priority of bug fix task to urgent"
"Add description to team meeting task"
Completing Tasks
"Mark the PR review task as complete"
"Complete the documentation task"
Deleting Tasks
"Delete the PR review task"
"Remove meeting prep task"
Development
Building from source
# Clone the repository
git clone https://github.com/abhiz123/todoist-mcp-server.git
# Navigate to directory
cd todoist-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
Issues and Support
If you encounter any issues or need support, please file an issue on the GitHub repository.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.