Use Done in Cursor
Connect Done to Cursor: add https://trydone.app/mcp to ~/.cursor/mcp.json, sign in with OAuth or send a token header, and Cursor's agent can work your Done tasks.
Who this is for
For developers using Cursor's agent. Add Done to ~/.cursor/mcp.json to have it in every project, or to a project's .cursor/mcp.json for that project only.
Set it up
Done's MCP server URL
https://trydone.app/mcpAdd the server and sign in Sign in with OAuth
- Open
~/.cursor/mcp.json(create it if it doesn't exist) and add Done:{ "mcpServers": { "done": { "url": "https://trydone.app/mcp" } } } - Open Customize in Cursor's sidebar, find done among your MCP servers, and sign in when Cursor asks. Approve access in Done in the browser.
- Make sure done is switched on there, then ask the agent something from the list below.
Or send a token header MCP token
- Generate an MCP token in Done under Settings → Agent access, and put it in an environment variable named
DONE_MCP_TOKEN. - Reference it from
mcp.json, so the token itself never sits in the file:{ "mcpServers": { "done": { "url": "https://trydone.app/mcp", "headers": { "Authorization": "Bearer ${env:DONE_MCP_TOKEN}" } } } }
Prefer ${env:…} to pasting the token: a project's .cursor/mcp.json is easy to commit by accident.
What to say to it
Once Done is connected, talk to the assistant normally. Each of these maps to a real Done tool:
get_todays_planquick_capturenext_task → propose_planask_decisionpropose_completionEvery tool, prompt and resource Done exposes is listed in the MCP reference.
The approval gate
By default an assistant can't close your tasks. When it thinks a task is finished it calls propose_completion, which parks the task as Pending approval until you approve it or send it back from Needs you; substantial work starts with propose_plan, which waits for your go-ahead. A question goes through ask_decision: that task waits for your answer while the agent moves on to the next one. Done enforces this on its own server, so it holds whatever the assistant tries — an agent can only complete a task directly when you've set that task's Autonomy to let it.
Troubleshooting
- Done doesn't connect
- Open the Output panel (Cmd+Shift+U, or Ctrl+Shift+U), choose MCP Logs, and look for the error from done.
- The sign-in fails in the desktop app
- Cursor's desktop app receives the sign-in on localhost port 8787. If a local dev server is using that port, stop it while you sign in, or use the token setup.
- Done shows as an unverified app
- When you sign in from Cursor's web or background agents, the sign-in returns to www.cursor.com, which Done doesn't vouch for. Continue if you started it yourself.
FAQ
Global or project configuration?
Global (~/.cursor/mcp.json) if you want Done everywhere. A project file is shared with anyone who opens the project, so never put a token in it directly.
Is there a shared API key for Done?
No. Every connection belongs to one Done account: an OAuth sign-in, or an MCP token you generate yourself. There is no shared or global key. Each connected assistant is listed under Settings → Agent access, where you can revoke it in a click.
What can the assistant see?
Only what your account can see: your workspaces and anything shared with you. A read-only, one-project or one-workspace token narrows that further.
Does it cost anything?
The Free plan includes 100 agent (MCP) calls a month; Pro and Teams are unlimited. The assistant's own plan is separate.
Steps checked against the official documentation on October 23, 2026: