What it does
Tick one acceptance criterion off as met (or untick it with done:false). This is how you report progress — tick each condition as you actually satisfy it, rather than narrating progress into comments. index is the criterion's position in the task's checklist, which get_task returns as criteria.items[].index; call get_task first if you don't have it. Only works when the task's acceptance criteria are written as a markdown checklist (- [ ] …); if criteria.total is 0 they're prose and there's nothing to tick. Idempotent. Ticking every box does NOT complete the task — use propose_completion (or complete_task on an agent_ok task) for that.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | The task id |
index | number | Required | Zero-based position in the checklist, from get_task's criteria.items[].index |
done | boolean | Optional | True to mark met (the default), false to reopen it |
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: true - Calling it twice with the same arguments leaves the same result as calling it once.
- 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 tokenRefused
- Single-workspace tokenAllowed
Try it
With Done connected, ask your assistant something like:
“Tick off the "tests pass" criterion on the API task.”
Connect Done to your assistant
One MCP endpoint per account, over OAuth or a token. Step-by-step setup for each client: