What it does
Mark a task done directly. Only works on tasks with agent_ok=true — for anything else, call propose_completion instead (it'll error and tell you to). Requires a summary of what you delivered — it is posted as a comment, then the task is closed. Never complete without a result.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | |
summary | string | Required | |
idempotency_key | string | Optional | Optional. One key per operation: pass the same key only when retrying this exact call, so a retry after a timeout replays the first result (a key already used on a different tool is refused, and keys expire after 48 hours) instead of completing twice (which, on a recurring task, would spawn a duplicate next occurrence). |
Annotations
The hints the server sends with this tool. A host reads them to decide whether to ask you before a call.
- Read-only
readOnlyHint: false - Changes data in your Done account.
- Destructive
destructiveHint: false - Only adds or reads; nothing already there is removed or overwritten.
- Idempotent
idempotentHint: false - Each call can add something new, such as a comment, a run or a task.
- Open world
openWorldHint: false - Touches only your own Done account.
Which tokens can call it
A connection made with OAuth has full access. A token from Settings → Agent access → Extra MCP tokens can be narrowed, and a narrowed token never sees beyond its project or workspace.
- Full accessAllowed
- Read-only tokenRefused
- Single-project tokenAllowed
- Single-workspace tokenAllowed
Try it
With Done connected, ask your assistant something like:
“Finish the changelog task and close it with a summary.”
Connect Done to your assistant
One MCP endpoint per account, over OAuth or a token. Step-by-step setup for each client: