LabscoMCP early access ↗
kentaroh7777MCP SERVER

MCP Todoist

Read, create, update and complete Todoist tasks from your assistant, with the destructive project tools hidden from the tool list by default.

by kentaroh7777 ↗Project & Task ManagementCommunity

LABSCO SUMMARY

Deleting a project is one call away — which is why it is switched off.

The default configuration advertises the task tools and withholds project creation, update and deletion, so an agent that misreads an instruction cannot remove a project. That is the right default for a to-do list you actually rely on; the tools still exist if you decide you want them. Everything runs over stdio against your own token, with no intermediate service.

What it is

A stdio server over the Todoist REST API, with a visibility layer on top: which tools are advertised to the client is a configuration decision, so a setup can expose task management while keeping project creation and deletion out of reach.

What you get

  • Tasks listed, optionally narrowed by project_id, a Todoist filter expression and a limit — todoist_get_tasks
  • A task created with content plus optional description, project, priority, due-date string and labels — todoist_create_task
  • A task updated by id, and a task closed as complete — todoist_update_task, todoist_close_task
  • Projects listed — todoist_get_projects
  • Project creation, update and deletion, implemented but kept out of the advertised set by default — todoist_create_project, todoist_update_project, todoist_delete_project

Requirements

A Todoist API token in TODOIST_API_TOKEN, created in the Todoist App Console. Node.js 18+, and tsx to run the entry script. Install with npm install, build with npm run build inside packages/mcp-server, then launch script/run-mcp-server.ts over stdio from your client's config. Works with Cursor, Claude Desktop or any client that speaks stdio.

Setup effort

Build from source — git clone https://github.com/kentaroh7777/mcp-todoist.git