Labsco
MCP SERVER

Todoist MCP

by jdh747

Give an assistant the run of a Todoist account — tasks, projects, sections, labels and comments, all read and written through an API key you supply.

Project & Task Management
Summary
Wide coverage, hosted by you, and its author already names a successor.

It implements the whole Todoist TypeScript client rather than a slice of it, so there is no gap where an assistant can read a task but not close it. You run the process and hand it the account's API key, so put it where only you can reach it — the key check and JWT check the project puts in front of the tools exist for exactly that reason. Its author's note says the project is "predictably obsoleted by Todoist AI SDK" and links to Doist's own project, which is worth reading before you build on this one.

What it is

An MCP server for Todoist that implements the whole surface of Todoist's own TypeScript client — tasks, projects, sections, labels, comments and collaborators — so an assistant can change the account rather than only talk about it. You run the server yourself and your client connects to it over HTTP.

What you get
  • Tasks written the way you would say them: content, description, due date, priority and labels, or a single natural-language line such as "Submit report by Friday 5pm #Work".
  • The rest of a task's life covered too — update it, move it one at a time or in batches, close it, reopen it, delete it.
  • Tasks read back individually, filtered or all at once; completed ones by completion date or by due date; and Todoist's own productivity statistics.
  • Projects and the sections inside them created, read, updated and deleted, so an assistant can build the structure it files work into instead of only adding to yours.
  • Comments added, read, updated and deleted on either a task or a project — where the reasoning behind a change can live.
  • Labels in both scopes: your personal ones created, renamed and removed, and the shared labels a workspace has in common.
  • Collaborators on a project read back, so an assignment goes to someone who is actually on it.
Requirements

A Todoist account and its API key, taken from Todoist > Settings > Integrations > Developer and supplied as `TODOIST_API_KEY`. You host the server: `bun install` and `bun run build`, or `docker compose up -d`, then point your client at `http://localhost:3000/mcp`. Callers authenticate as well — either an `X-API-Key` header or a JWT bearer token signed with a `JWT_SECRET` you generate.

Setup effort

One command plus a key — docker compose up -d, then supply credentials