Skip to content

Connect Cursor to your to-do list

Cursor’s agent sees which parts of the code are unfinished. Add SwitchDesk as an MCP server and it can file those follow-ups in your to-do list, update the to-do it’s working on, and check it off when you’re done. The key stays in your Keychain, not in Cursor’s config.

  • Connects over MCP or the CLI
  • About 5 minutes
  • Set up on your Mac · Pro
Illustration: Cursor’s agent updating the to-dos it’s working on.
Your calls too. How to give Cursor access to your calls

What Cursor can do with your list

Inside Cursor, SwitchDesk is one more MCP server the agent can call between edits. What it gets depends on the access you set:

  • Find the right to-do. Search titles and notes, or read a category, Today or This Week, including sub-to-dos.
  • Track the work. Mark a to-do in progress, add notes about what changed, check it off.
  • Write down what’s left. Add follow-ups to Incoming, or under the project’s category with a due date.
  • Ask instead of guess. Send you a yes-or-no question as a card when it isn’t sure where something belongs.

Cursor sees your to-dos and categories. Meeting notes and your Notes window stay on your Mac unless you switch on “Share meetings & notes with your AIs” there.

Why give your editor a to-do list

The agent in Cursor is the one that knows a refactor left a test unwritten or an edge case unhandled. Without a place to put that, it ends up in a chat message you scroll past. With SwitchDesk connected, “add that to my list” takes one sentence, and the follow-up appears in Incoming next to everything else you have to do.

It works the other way too. When the agent picks up a task, it can read that to-do’s notes for the context you wrote down last week, and leave a note of its own when it stops, so the next session starts where this one ended.

Things to ask Cursor

  • “While you refactor this file, add anything you leave for later to SwitchDesk.”

    ChangesAdds each follow-up to Incoming as it goes. No card needed in Assistant.

  • “Search my to-dos for “onboarding”. Which ones does this change close?”

    ReadsSearches titles and notes, compares them with the diff and tells you. Nothing changes.

  • “Mark “Fernhill settings page” in progress.”

    ChangesSets it in progress. In Assistant that’s a card first.

  • “Add what you changed to the notes on “Lumora export bug”.”

    ChangesAppends to the notes without replacing them, after your tap in Assistant.

  • “What’s due this week in Fernhill?”

    ReadsReads the category and due dates, and answers in the chat.

  • “Put “Review the auth refactor” on Today.”

    ChangesAdds it to Today. Adding outside Incoming waits for approval in Assistant.

Set it up

Cursor shares a tile and a Keychain setup with Claude Code. If you’ve done the Claude Code setup, only step 5 is new.

  1. SwitchDesk on your Mac

    Click Connect an AI and choose Terminal & coding tools (CLI)

    Open Settings → AI Access and click Connect an AI. Choose Terminal & coding tools (CLI) (“Claude Code, Cursor, Codex”).

  2. SwitchDesk on your Mac

    Answer “What can it do?”, then Continue

    Pick Read only, Assistant or Full control; Fine-tune sets each permission on its own. Click Continue (with Full control the button reads Allow & Continue). Keep Assistant. Already connected Claude Code? Cursor can use that connection: skip to step 5.

  3. Terminal

    Install the CLI.

    You need Node.js 20 or newer.

    npm install -g switchdesk
  4. Terminal

    Run switchdesk login and paste this key.

    Run it in Terminal and paste the key. Nothing shows while you paste. The CLI saves the key in your macOS Keychain, not in a project file and never in Cursor’s chat. The setup page shows the key (it starts with sda_) once: “Copy the key now. It won’t be shown again.”

  5. Terminal

    Add it to your coding tool.

    For Cursor, add this to ~/.cursor/mcp.json (the same entry works in Claude Desktop’s config). Cursor starts switchdesk mcp, which reads the key from your Keychain, so the file holds no secret.

    {
      "mcpServers": {
        "switchdesk": {
          "command": "switchdesk",
          "args": ["mcp"]
        }
      }
    }
  6. Cursor

    Try it in the agent

    Click Done in SwitchDesk. Then open Cursor’s agent and ask: “Which SwitchDesk tools can you use? What’s due in Fernhill this week?”

switchdesk CLI reference →

If Cursor can’t find switchdesk, put the full path from which switchdesk in "command". Prefer not to install the CLI? The setup page’s Without the CLI disclosure shows the plain HTTP setup: an MCP server at https://api.switchdesk.org/mcp with the key, read from your Keychain, in the Authorization header.

Choose how much Cursor can do

Start with Assistant. It lets the agent read and capture follow-ups in Incoming without stopping you, and turns everything else into a card. Once you see that it files sensibly, use Fine-tune to set Add anywhere to On, so follow-ups go straight under the project’s category. Keep Delete on Ask: an agent that reads code, issues and web pages can be talked into things. Read only works if you only want Cursor to look things up. Every permission, explained.

Keeping it safe

  • No secret in the project. The key stays in your Keychain. If it ever ends up in a file or a commit, click Revoke and create a new one.
  • Code comments aren’t orders. SwitchDesk tells every AI to treat to-dos and notes as data, not instructions, and Assistant keeps deletes behind Ask.
  • A brake on deletes. Pause stops a connection’s writes; Revoke ends it at once. A burst of deletes pauses it by itself.
  • An audit trail. Activity lists every call each connection makes, with Undo for 7 days on anything it changed.
  • A fixed ceiling. Cursor can never approve its own cards, change its access, or rename or delete your categories.

If something doesn’t work

  • Cursor opens a sign-in page. The config points at the sign-in address. Use the switchdesk mcp entry above instead.
  • “Not signed in” or unauthorized. Run switchdesk login again and paste the key, then quit and reopen Cursor.
  • “Not allowed”. That permission is Off. Change it in Settings → AI Access; the next call uses it.
  • “Waiting for approval”. Working as meant. Tap the card in Needs Your Approval on your Mac.
  • Writes stopped. The connection is paused. Resume it in Settings → AI Access.
  • “SwitchDesk Pro is needed”. AI Access is part of Pro, and the connection resumes with your plan. Pricing.

Published . How AI Access works →

Cursor and SwitchDesk: questions

How AI Access works →
Can Cursor and Claude Code share one SwitchDesk connection?
Yes. Both use the Terminal & coding tools (CLI) tile and the same Keychain entry, so one connection can serve both, and Activity shows their calls together under “Terminal”. Connect a second time if you want Cursor’s cards and history kept apart.
Is my key saved in Cursor’s config file?
No. The mcp.json entry only starts switchdesk mcp, which reads the key from your macOS Keychain, so your MCP config holds no secret.
Which server address does Cursor use?
None in the config: switchdesk mcp forwards Cursor’s requests to https://api.switchdesk.org/mcp with your key. The https://mcp.switchdesk.org/mcp address is for apps that sign in, like Claude and ChatGPT.
Does this work in VS Code?
Yes. Any editor that can start a local MCP server can run switchdesk mcp the same way. The setup page’s Without the CLI disclosure also shows the plain HTTP setup with a header.
Will Cursor’s agent edit my to-dos without asking?
Only if you allow it. With Assistant, it adds to Incoming freely; edits, check-offs, deletes and adds elsewhere wait in Needs Your Approval on your Mac. Every change has a 7-day Undo.
Which SwitchDesk plan do I need?
SwitchDesk Pro, and the 14-day trial counts. See pricing.

Your editor, writing your follow-ups down.

Every AI app SwitchDesk connects to →

SwitchDesk is a Mac app

Send yourself the download link, then open it on your Mac.

switchdesk.org/download

Or scan it with your phone’s camera.