tick_checklist_item
Ticks or unticks one entry of a work item's Definition of Ready or Definition of Done, stamped with the token's holder and the time, and answers the whole list with its tally; the entries come from get_work_item.
Tick the Definition of Done as you finish each part of the work, or the Definition of Ready as a story is refined, so the gate opens when you move the item. Give work_item_id, kind (definition_of_ready or definition_of_done), item_id (an entry id from the checklists of get_work_item) and done (true by default; false unticks). The answer is the whole list: kind, label, done_count, total, required_open, complete and the items with who ticked each and when. work_item.checklist_changed goes out; an entry already in the state asked for changes nothing and emits nothing. A move into done through move_work_item is refused with DEFINITION_INCOMPLETE while a required entry is unticked and the project requires the definition, so read required_open before you move. Adding or removing entries stays with people and the REST API. A client guest's token is refused.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
Sending the same arguments twice changes nothing the second time.
Arguments
work_item_id*stringUUID of the work item.
kind*stringWhich list the entry is on.
definition_of_readydefinition_of_doneitem_id*stringUUID of the entry, from the list's items.
donebooleanoptionalTrue to tick the entry, false to untick it; true when left out.
What it returns
{ "data": { "id": "9c1d2e3f-4a5b-4c6d-8e7f-0a1b2c3d4e5f", "work_item_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "kind": "definition_of_done", "label": "Definition of Done", "done_count": 2, "total": 4, "required_open": 1, "complete": false, "items": [ { "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d", "position": 0, "text": "The code is reviewed and merged", "required": true, "done": true, "done_by": "3f8a1c2e-7b4d-4e5f-9a6b-1c2d3e4f5a6b", "done_by_name": "Dev Lead", "done_at": "2026-11-02T09:10:00+00:00" }, { "id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e", "position": 1, "text": "Every acceptance criterion is verified", "required": true, "done": false, "done_by": null, "done_by_name": null, "done_at": null }, { "id": "3c4d5e6f-7a8b-4c9d-8e0f-2a3b4c5d6e7f", "position": 2, "text": "The automated tests cover the change and pass", "required": true, "done": true, "done_by": "3f8a1c2e-7b4d-4e5f-9a6b-1c2d3e4f5a6b", "done_by_name": "Dev Lead", "done_at": "2026-11-02T09:12:00+00:00" }, { "id": "4d5e6f7a-8b9c-4d0e-9f1a-3b4c5d6e7f80", "position": 3, "text": "The documentation and the release notes are updated", "required": false, "done": false, "done_by": null, "done_by_name": null, "done_at": null } ], "created_at": "2026-11-01T08:00:00+00:00", "updated_at": "2026-11-01T08:00:00+00:00" }}How it fails
VALIDATION_FAILEDkind is not one of the two definitions, or item_id is missing.
RESOURCE_NOT_FOUNDunknown work_item_id, an item outside the token's scope, or an item_id that is not an entry of that list.
FORBIDDENthe holder's role on the project does not carry work-item:update, or the token is a client guest's.
TOKEN_MISSING_ABILITYtoken lacks work-item:update.
How is this guide?
Last updated on