Todoist MCP server: URL, setup and all 49 tools

Todoist's official MCP server at ai.todoist.net: setup in Claude, Claude Code, ChatGPT, Codex and Cursor, its 49 tools, recurring-task pitfalls and fixes.

Updated

Short answer

Todoist runs an official MCP server (a connector that lets an AI agent use your Todoist) at https://ai.todoist.net/mcp. Add it to Claude, ChatGPT, Claude Code, Codex, Cursor or any MCP client, log in to Todoist, and the agent can find, add, reschedule and complete tasks, and manage projects, sections, labels, comments and reminders. It works on every Todoist plan, Beginner (free) included. In Claude Code:

claude mcp add --transport http todoist https://ai.todoist.net/mcp

Then run /mcp and sign in. The connection always gets read and write access to your whole account. Add Todoist through Upsy if an agent should only read, or never delete, or if you want a work and a personal Todoist side by side.

Todoist's MCP server

Address https://ai.todoist.net/mcp (Streamable HTTP, no SSE)
Sign-in OAuth through todoist.com, with dynamic client registration. Doist says the server also accepts a Todoist API token as a bearer token
Access Read and write, to every project in the account. There's no read-only option and no way to pick projects
Plans Beginner, Pro and Business
Open source Doist/todoist-mcp, published on npm as @doist/todoist-mcp
Limits Todoist's API limits, such as 1,000 partial sync requests per 15 minutes per user (request limits)

Todoist's help page covers each assistant. To cut an assistant off, go to Settings › Integrations in Todoist, pick the app and click Remove.

Connect it to your client

Claude. Open Customize › Connectors, click Browse connectors, find Todoist and click Connect. On Team and Enterprise, an Owner approves it first.

Claude Code. Run the command above, or install Doist's plugin with /plugin marketplace add doist/todoist-mcp, then /plugin install todoist@doist. Todoist warns to "add the server only once."

ChatGPT. Open Plugins in the sidebar, search for Todoist, pick the official plugin and click +. In a chat, type /todoist.

Codex. Install the Todoist plugin through ChatGPT and use @ in Codex, or run codex mcp add todoist --url https://ai.todoist.net/mcp, then codex mcp login todoist.

Cursor. Doist's README runs it through mcp-remote: npx -y mcp-remote https://ai.todoist.net/mcp as a command in ~/.cursor/mcp.json.

VS Code. Add {"servers":{"todoist":{"type":"http","url":"https://ai.todoist.net/mcp"}}} to .vscode/mcp.json.

Gemini, Muse and others. In Gemini Spark, add a custom app with the address under Connected Apps. In Muse, open Settings › Connectors › Todoist. Todoist also has help pages for Microsoft 365 Copilot and Grok Bot.

On your machine. npx @doist/todoist-mcp, with your API token in TODOIST_API_KEY, runs the same tools locally over stdio.

Its tools

The server has 49 tools (source):

Area Find and read Change
Tasks find-tasks, find-tasks-by-date, find-completed-tasks, get-overview add-tasks, update-tasks, reschedule-tasks, complete-tasks, uncomplete-tasks, manage-assignments, reorder-objects
Projects and sections find-projects, find-sections, find-project-collaborators, get-project-health, get-project-activity-stats add-projects, update-projects, project-management, project-move, add-sections, update-sections, analyze-project-health, export-project-template, import-project-template
Comments, labels, filters, reminders find-comments, find-labels, find-filters, find-reminders, view-attachment add-comments, update-comments, add-labels, update-labels, add-filters, update-filters, add-reminders, update-reminders
Activity and stats find-activity, get-productivity-stats, get-workspace-insights, get-user-status set-user-status
Account and lookup user-info, list-workspaces, fetch-object, search, fetch
Deleting delete-object
  • One tool deletes everything. delete-object removes tasks, projects, sections, comments, labels, filters and reminders. Workspace projects must be archived first.
  • Up to 25 tasks per call with add-tasks and update-tasks.
  • search and fetch exist for ChatGPT, which expects them.
  • Help pages lag behind. Todoist's Claude help page says it can't manage sections, labels, comments or filters, or assign tasks, but the server has tools for all of them.

Recurring tasks and plan limits

  • Reschedule, don't change the date. Changing a recurring task's date can drop its repeat; asking to "reschedule" keeps it. Since November 2026, the server refuses a new due date on a recurring task unless the agent says to replace the repeat.
  • Completed recurring tasks move on. Completing one moves it to its next date instead of marking it done. Ask the agent to check your activity log, which keeps one week on Beginner and everything on Pro and Business.
  • Beginner's limits apply: 5 personal projects, 3 filters, no custom reminders. Adding a sixth project fails with "Your account has reached its limit of N active personal projects".
  • No workspace folders. The server can't create a project inside a workspace folder. Create it, then move it in Todoist.

Where Todoist's server stops

  • Always read and write. Every connection can change and delete anything in your account. Narrower limits depend on your client's own settings.
  • Every project. You can't keep an agent to some projects.
  • One account per connection. A work and a personal Todoist need two entries.
  • No record across clients. What each agent did lives in each client.

For one Todoist account in one or two clients, with full access, Todoist's server is enough.

Todoist MCP servers compared

Todoist's server Upsy greirson/mcp-todoist
Who runs it Doist Upsy, on top of Todoist's server You, on your machine
Sign-in OAuth, or an API token OAuth to Upsy; Upsy signs in to Todoist An API token
Tools 49 Todoist's 49, listed on request 19
Limits None: read and write Read-only, picked tools, or everything, per agent A dry-run mode
Accounts One per connection Up to 5 in one server One per token
Record Todoist's activity log History and alerts, per agent Your own logs

Community servers

Before Todoist's own server, people used community servers that run locally with an API token:

  • greirson/mcp-todoist: 19 tools, bulk changes, duplicate finding and a DRYRUN=true mode that shows changes without making them.
  • abhiz123/todoist-mcp-server: still ranks high, but has five tools (create, get, update, complete and delete tasks) and hasn't changed since April 2025.

Doist's own @doist/todoist-mcp package covers more of Todoist than either, and also runs locally.

Upsy's Todoist MCP server

Upsy connects to Todoist's server with your Todoist login, so the tools are the same 49. It's the same address as Upsy's other apps, https://upsy.ai/connect.

What it adds:

  • Read-only. Set an agent to Read-only and it can plan your week from your tasks without changing anything.
  • Everything but deleting. With Pick actions, tick every tool except delete-object, so an agent can add and complete tasks but never remove them.
  • A work and a personal Todoist, side by side, each with its own access.
  • Todoist next to your other apps. One server holds Todoist, Gmail, Calendar, Slack and more, so an agent can turn an email into a task or plan tasks around your meetings.
  • History and alerts: every task an agent adds, changes or deletes, listed under that agent.
  • Any client: Claude, Claude Code, Cursor, Codex, ChatGPT, Grok, Muse, or anything with remote MCP and OAuth.

Connect Todoist to Upsy

  1. Go to upsy.ai and click Set up Upsy.
  2. Open Apps, click Connect an app and pick Todoist. Log in to Todoist and approve read and write access. For another account, click Add account next to Todoist.
  3. On the Assistants page, click Add assistant and choose your client under Which assistant? for its exact steps.

Add the server to your client

Signing in opens an Upsy page: tick Todoist, keep full access or pick Read-only, and click Allow. To allow everything but deleting, use Pick actions on the agent's page afterwards.

  • Claude Code: claude mcp add --transport http --scope user upsy https://upsy.ai/connect, then /mcp to sign in.
  • Cursor: add {"mcpServers":{"upsy":{"url":"https://upsy.ai/connect"}}} to ~/.cursor/mcp.json, then click Connect next to upsy.
  • Codex: codex mcp add upsy --url https://upsy.ai/connect, then codex mcp login upsy.
  • Claude and ChatGPT: add https://upsy.ai/connect as a custom connector (Claude, ChatGPT).
  • Grok and Muse: paste the setup prompt Upsy shows into a chat and approve the sign-in (Grok).

Server details, such as OAuth endpoints and token lifetimes, are in the Gmail MCP server guide; they're the same for Todoist.

Check that it works

Using Upsy, what's on my Todoist for today, including anything overdue?

The agent should list today's tasks with their projects, overdue ones included. The call shows in Upsy's History under that agent.

Prompts to try

  • "Plan my week: spread my overdue and this week's tasks across the days, around my calendar."
  • "Add 'Call the dentist' to my Inbox for tomorrow at 10am."
  • "Turn the action items in Lisa's email into tasks in my Work project, due Friday."
  • "Reschedule everything in my Errands project to Saturday, keeping repeats."
  • "Which projects haven't had a completed task in two weeks?"

Troubleshooting

"Sorry, something went wrong" after you allow access

Todoist's sign-in lost its security cookie. Allow cookies for todoist.com, log in to Todoist in the same browser first, and approve straight away.

Claude shows "Sorry, the page you're looking for isn't here anymore"

The connection may have worked anyway. Check Customize › Connectors, then open a new chat.

"No transport found for sessionId" in Claude Code

Remove the Claude Code entries under Settings › Integrations in Todoist, then sign in again from /mcp.

Claude asks you to sign in again every few hours

A token refresh bug on Claude's side (issue #26281). Disconnect and reconnect Todoist.

A recurring task lost its repeat

The agent changed the date instead of rescheduling. Ask it to "reschedule", and set the repeat again in Todoist if it's gone.

invalid_client when connecting

The client couldn't register with Todoist. Remove the connector and add it again; if it keeps failing, contact Todoist support.

"Too Many Requests"

The agent hit Todoist's request limit. Wait the time the error gives, and ask for fewer changes at once, or batch them, up to 25 tasks per call.

"The user hasn't allowed you to use Todoist's …"

That's Upsy refusing a tool outside the agent's level, such as delete-object when you left it out. Change Todoist's level on the agent's page in Upsy.

Security and privacy

  • Every connection can change everything. Todoist's sign-in grants read and write to your whole account, and delete-object can remove projects. Keep your client's approval prompts on for changes.
  • API tokens act with your full account until you reset them in Todoist's settings. Prefer OAuth where the client supports it.
  • Shared projects carry risk. A task or comment from a collaborator can contain instructions aimed at your agent. Give agents that read shared projects Read-only.
  • Turning it off: Settings › Integrations › Remove in Todoist cuts an assistant off at once.
  • Through Upsy, agents never get your Todoist token: they call Upsy, and Upsy calls Todoist. Upsy emails you when one agent reads 100 or more items in 10 minutes or deletes 50 or more, and when a new agent or app connects.

FAQ

What is the Todoist MCP server URL?

https://ai.todoist.net/mcp, over Streamable HTTP. You sign in with your Todoist account.

Is there an official Todoist MCP server?

Yes. Doist, which makes Todoist, runs it and publishes its code as open source in Doist/todoist-mcp.

Does the Todoist MCP server work on the free plan?

Yes, on Beginner, Pro and Business. Beginner's own limits still apply, such as 5 projects and one week of activity history.

Can I make the Todoist MCP server read-only?

Not in Todoist: the connection always reads and writes. Set Todoist to Read-only for the agent in Upsy, or use your client's per-tool settings.

Can it delete my Todoist tasks?

Yes, with delete-object, which also deletes projects, sections and more. Through Upsy, leave that tool out with Pick actions.

Can I use a Todoist API token instead of signing in?

Doist says the hosted server accepts one as a bearer token, and the local @doist/todoist-mcp package uses one in TODOIST_API_KEY.

Can I connect a work and a personal Todoist?

Yes, as two separate connections in your client, or as two accounts in one Upsy server.

Playbooks for these apps

Related guides