Claude task manager: connect Claude to your to-do list over MCP
How to connect Claude (claude.ai, Claude Desktop or Claude Code) to your to-do list in Done over MCP, what it can do there, and how to keep it scoped.

By Alejandro Rioja7 min read
"Claude task manager" usually means one specific thing: can Claude actually read, update, and finish the things on your list, not just chat about them. With Done, the answer is yes. Connect Claude once over MCP, and it can pull its queue, claim a task, do the work, and report back into the same task you're looking at — scoped to your account and nothing else.
Two ways to connect Claude
Done is a full OAuth 2.1 authorization server for its own MCP endpoint, so claude.ai and Claude Desktop can add it as a custom connector and handle authentication themselves — there's no token to copy or store. If you're wiring up Claude Code or a script instead, generate a per-account bearer token from the Account panel and set it once in your MCP client config.
- claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → paste https://trydone.app/mcp → Connect. Claude discovers Done's OAuth endpoints, registers itself, and sends you to Done to sign in and approve access.
- Claude Code or a custom script: generate a token from the Account panel, then point your MCP client config at https://trydone.app/mcp with an Authorization: Bearer header.
- Either way, the connection is scoped to your account alone — there's no shared or global token Claude, or anyone else, could reuse across accounts.
What Claude can actually do once connected
Once connected, Claude gets the same set of workflow-shaped tools regardless of whether claude.ai, Claude Desktop, or Claude Code is driving it — not raw database CRUD, but actions that mirror how you'd actually work a task yourself: pull the ready queue, claim one, comment progress, and either complete it or propose completion for your approval.
- list_my_tasks / next_task — see or atomically claim the top of Claude's queue, so a fleet of agents never grabs the same task twice.
- get_task — load one task's full context: notes, subtasks, blockers, and the whole activity feed.
- comment_on_task — post progress or results in markdown, right where you'll see them next to the task.
- complete_task or propose_completion — close a task directly if it's marked auto-OK, or post a summary and wait for your approval if it isn't.
- decompose_task and propose_plan — break a big task into subtasks, or lay out a plan before doing the work, for anything too large to just start on cold.
Which to-do app can an AI agent write to directly?
Most task apps let an agent read from them — export a list, sync a calendar — but stop short of a real write surface: create a task, claim it, comment on it, and close it, scoped to one account, through an open protocol rather than a one-off plugin. Done's MCP endpoint is built around exactly that. Once Claude is connected, create_task, update_task, comment_on_task, and complete_task are real tools it can call, not a chat transcript you'd copy results out of by hand — and anything that shouldn't close itself still routes through propose_completion and your approval, so a real write surface doesn't mean an unreviewed one.
A typical Claude session
A run looks roughly the same every time. Claude calls get_digest for what's overdue and due today, then list_my_tasks or next_task to find the top of its queue. It loads the task with get_task, reads any notes_for_agent and the acceptance_criteria — the concrete bar its result gets checked against, not just instructions — then does the work and checks it against that bar before calling complete_task or propose_completion.
Running Claude on a schedule
Done doesn't run an agent on its own servers — it's a queue, not a scheduler, and nothing happens until some client asks. With Claude Code, you can set up a Routine that polls on whatever cadence fits you: every morning, every hour, once a night. Claude checks the queue each time, proposes plans for anything substantial, and works through whatever you've already approved since the last run.
Keeping Claude on a leash
You control how much Claude can do without asking, and none of it depends on trusting the model more or less. Scope its token to read-only or a single project (a Pro/Teams feature) if you want it to observe, or work in one place only. Mark only the tasks you're genuinely comfortable auto-closing as auto-OK; everything else routes through propose_completion and sits in Needs you until you look at it. And every session runs as an auditable run with its own tool-call and time budget, so a session can't quietly keep going long after you've stopped watching it.
Frequently asked questions
How do I connect Claude to a to-do list?
Add Done as a custom MCP connector in claude.ai or Claude Desktop (Settings → Connectors → Add custom connector → https://trydone.app/mcp) and approve access — no token needed. For Claude Code or a script, generate a bearer token from Done's Account panel instead.
Does Claude need a token to use Done?
Only if it's a client that doesn't speak OAuth, like Claude Code or a custom script — generate a per-account token from the Account panel. claude.ai and Claude Desktop connect over OAuth with no token to copy.
Can Claude close tasks without my approval?
Only tasks marked auto-OK. Anything else, Claude can do the work and propose completion with a summary, but the task sits in pending approval until you approve or reject it — it can never lift its own gate.
Which to-do app can an AI agent write to directly?
One with a real MCP write surface, not just a read export. Done gives a connected agent tools to create, update, comment on, and complete a task — create_task, update_task, comment_on_task, complete_task — scoped to your account, with propose_completion and a human approval gate on anything that shouldn't close itself.
What app should I use to assign tasks to AI agents?
An MCP-native one, so you're not locked to a single model. Done lets you assign a task to Claude, ChatGPT, or any MCP client from the same board, and the agent claims it from its queue, works it, and reports back into that task — the same place you'd review your own work.