MCP Directory

How to add Todoist MCP (official, Doist) to Windsurf

Doist's official Todoist MCP server — manage tasks, projects, and labels on your behalf. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 15, 2026 · 510 · stdio · apikey · official

Windsurf config for Todoist MCP (official, Doist)

npx -y @doist/todoist-mcp
{
  "mcpServers": {
    "todoist-mcp-official-doist": {
      "command": "npx",
      "args": [
        "-y",
        "@doist/todoist-mcp"
      ],
      "env": {
        "TODOIST_API_KEY": "<your-todoist-api-key>"
      }
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Todoist MCP (official, Doist) config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Todoist MCP (official, Doist)'s tools become available to Cascade.

Before you start

  • Node.js (an .nvmrc pins the supported version; Node 18+ recommended) if running the npm package locally
  • A Todoist account
  • For local/stdio use: a Todoist API token from Todoist → Settings → Integrations → Developer, set as the TODOIST_API_KEY environment variable
  • For the hosted remote endpoint (https://ai.todoist.net/mcp): no token needed — OAuth runs in the browser on first use

What Todoist MCP (official, Doist) can do in Windsurf

add-tasks

Create one or more tasks with content, due dates, priority, labels, and project/section.

find-tasks

Find tasks by query, filtering by project, label, or other attributes.

find-tasks-by-date

Find tasks scheduled for a given date or date range.

update-tasks

Update existing tasks (content, due date, priority, etc.).

complete-tasks

Mark tasks as complete (and uncomplete-tasks to reopen them).

reschedule-tasks

Move tasks to new due dates.

add-projects / find-projects / update-projects

Create, list, and edit projects; project-move and project-management for restructuring.

add-sections / update-sections / find-sections

Manage sections within projects.

Security

The TODOIST_API_KEY grants full read/write access to your tasks and projects, so store it in env vars and revoke it from Todoist settings if leaked. The hosted ai.todoist.net option uses OAuth and avoids storing the key locally.

Todoist MCP (official, Doist) + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Todoist MCP (official, Doist) config there under the "mcpServers" key and restart the client.

Is Todoist MCP (official, Doist) safe to use with Windsurf?

The TODOIST_API_KEY grants full read/write access to your tasks and projects, so store it in env vars and revoke it from Todoist settings if leaked. The hosted ai.todoist.net option uses OAuth and avoids storing the key locally.

Is this the official Todoist MCP server?

Yes. It's published under the @doist npm scope and maintained by Doist, the company that makes Todoist.

Do I need an API token, or can I use OAuth?

Both work. The local npm package uses a TODOIST_API_KEY from Settings → Integrations → Developer; the hosted endpoint at ai.todoist.net/mcp uses browser OAuth on first use.

What's the npm package name?

@doist/todoist-mcp. It was previously published as @doist/todoist-ai.

View repo Full Todoist MCP (official, Doist) page