- Home
- MCP servers
- Todoist
Todoist
- javascript
3
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 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": {
"hint-services-mcp-todoist": {
"command": "npx",
"args": [
"-y",
"@hoffination/mcp-todoist"
],
"env": {
"TODOIST_API_TOKEN": "YOUR_TODOIST_API_TOKEN"
}
}
}
}You can connect your AI assistants to Todoist through this MCP server, enabling natural-language task creation, project organization, and batch task management directly from conversations. It exposes a rich set of Todoist actions that your AI can invoke to create, read, update, move, complete, and delete tasks, as well as manage projects, sections, and labels, all via the MCP protocol.
How to use
Use this MCP server with an MCP client to perform Todoist actions from AI conversations. You can create tasks with rich metadata, fetch tasks with flexible filters, move tasks between projects and sections, and batch-process several items at once. The server handles input validation and returns clear results or errors, so your workflows stay reliable even as you scale up task management across your team.
How to install
Prerequisites: Node.js and npm (Node 14+ recommended). You will also need a Todoist API token to authorize actions. Ensure you have a working internet connection.
# Using Smithery (recommended)
# For Claude Desktop
npx -y @smithery/cli install @Hint-Services/mcp-todoist --client claude
# For Cursor
npx -y @smithery/cli install @Hint-Services/mcp-todoist --client cursor
# For Windsurf
npx -y @smithery/cli install @Hint-Services/mcp-todoist --client windsurf
# For Cline
npx -y @smithery/cli install @Hint-Services/mcp-todoist --client cline
Manual installation uses npm to install the MCP server package directly. After installation, follow the configuration steps to start the server.
npm install @hoffination/mcp-todoist
Configuration
Add the server to your MCP settings with the configuration that specifies the local stdio runtime using npx and your Todoist API token.
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": ["-y", "@hoffination/mcp-todoist"],
"env": {
"TODOIST_API_TOKEN": "your-todoist-api-token"
}
}
}
}
Required environment variables
The server requires your Todoist API token to authenticate with Todoist. Place it in the environment when starting the server.
Environment variable: TODOIST_API_TOKEN—Todoist API token used for authentication.
Example workflows
Create a task with a due date and labels, then fetch today’s tasks in a single conversation flow.
For example, you can tell your AI assistant to create a task named “Review quarterly goals” with a description and labels, then request today’s tasks to confirm the result.
Project structure and dev notes
The server is built in TypeScript with strict input validation and includes a set of MCP tools for task, project, section, and label management. It supports HTTP-like scenarios and local stdio execution for streamlined development and deployment.
Security and privacy
Your Todoist API token is used only to authenticate with Todoist’s official API. The MCP server does not store data locally beyond transient operation, and all communication is between your client and Todoist’s servers.
Troubleshooting
If you encounter API token issues, verify the token is valid and that the environment variable TODOIST_API_TOKEN is set correctly. If tasks don’t appear as expected, double-check project/section IDs and your filters. For connection problems, ensure you have network access and that Todoist services are operational.
Notes
This MCP server provides comprehensive Todoist integration with type-safe definitions, input validation, and batch operation support, designed to work with Claude, Cursor, Windsurf, Cline, and other MCP hosts.
Available tools
todoist_create_task
Create one or more tasks with full parameter support, including content, description, due dates, priorities, project/section assignment, labels, and subtasks.
todoist_get_tasks
Retrieve tasks with flexible filtering by project, section, label, priority, or natural language filters like today, tomorrow, overdue, with pagination support.
todoist_update_task
Update existing tasks by ID or name, modify any property, and perform batch updates.
todoist_move_task
Move tasks between projects, sections, or parent tasks, enabling batch moves.
todoist_delete_task
Delete tasks by ID or name, with batch deletion support.
todoist_complete_task
Mark tasks as completed, with batch completion support.
todoist_get_projects
Retrieve all projects with optional hierarchy and embedded sections.
todoist_create_project
Create new projects with color, view style, nested structure via parent_id, and optional initial sections.
todoist_update_project
Update existing projects by ID or name, including color and favorite status.
todoist_get_project_sections
Get sections for one or more projects with batch retrieval.
todoist_create_project_section
Create sections within projects with name and order.
todoist_get_personal_labels
Retrieve all personal labels for the account.
todoist_get_personal_label
Get a specific label by ID.
todoist_create_personal_label
Create new labels with color, favorite status, and ordering, including batch creation.
todoist_update_personal_label
Update existing labels by ID or name, including color and order.
todoist_delete_personal_label
Remove labels from the Todoist account.