list_work_items
A project's stories, tasks, sub-tasks, bugs, spikes and improvements in the project's order, with reference, kind, status, priority, people and estimate, narrowed by the typed filters and for a guest token.
Return the work items of one project, the rows of its tracker, each with its reference (such as CRM-142), kind, title, status, resolution, priority, the people on it (with the assignee's and the reporter's names), its estimates and dates, the fields its kind adds and the ids of the components it touches. Read it to find the work before you pick it up, to see what hangs under an epic or a parent, or to report where a project stands; name items by their reference when you do.
Optional filters narrow the page to one type, one status, one priority, the items under one epic_id or one parent_id, the items one assignee_id is doing, the open items (neither done nor cancelled) or the items whose reference or title contain search. A guest token reads the agreed items only. The acceptance criteria are not in the list; get_work_item reads them.
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.
Annotations
It reads and never changes anything.
Arguments
project_id*stringUUID of the project whose items to list.
typestringoptionalNarrow to one kind.
storytasksubtaskbugspikeimprovementstatusstringoptionalNarrow to one status.
backlogreadyin_progressin_reviewin_qadonecancelledopenbooleanoptionalTrue for the items that are neither done nor cancelled.
epic_idstringoptionalNarrow to the items under one epic, by UUID.
sprint_idstringoptionalNarrow to the items planned into one sprint, by UUID.
unplannedbooleanoptionalTrue for the items in no sprint.
parent_idstringoptionalNarrow to the items under one parent item, by UUID.
assignee_idstringoptionalNarrow to the items one person is doing, by user UUID.
prioritystringoptionalNarrow to one priority.
lowestlowmediumhighhighestsearchstringoptionalWords the reference or the title must contain.
limitintegeroptionalItems per page (1..100, default 25).
1max100pageintegeroptional1-indexed page number.
1What it returns
{ "data": [ { "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "number": 142, "reference": "CRM-142", "type": "story", "parent_id": null, "epic_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", "title": "Tier upgrade email", "description": "<p>Tell a member they reached the next tier the day it happens.</p>", "status": "in_progress", "resolution": null, "priority": "high", "assignee_id": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f", "assignee_name": "Nimal Fernando", "reporter_id": "d4e5f6a7-b8c9-4d0e-9f1a-2b3c4d5e6f70", "reporter_name": "Dilani Perera", "reviewer_id": null, "qa_owner_id": null, "story_points": "5", "estimate_minutes": null, "remaining_minutes": null, "due_on": "2026-11-20", "started_at": "2026-11-02T09:00:00+00:00", "completed_at": null, "persona_id": "e5f6a7b8-c9d0-4e1f-8a2b-3c4d5e6f7a81", "as_a": "gold member", "i_want": "to be told the day I reach platinum", "so_that": "I use the new perks straight away", "business_value_points": 8, "severity": null, "environment_id": null, "component_id": null, "steps_to_reproduce": null, "expected_result": null, "actual_result": null, "reproducible": null, "timebox_minutes": null, "outcome": null, "component_ids": ["f6a7b8c9-d0e1-4f2a-8b3c-4d5e6f7a8b92"], "acceptance_criteria": [], "position": 3, "version": 0, "approved_at": null, "created_at": "2026-10-28T09:20:00+00:00", "updated_at": "2026-11-02T09:00:00+00:00" } ], "meta": { "page": 1, "limit": 25, "total": 1, "has_more": false }}How it fails
RESOURCE_NOT_FOUNDunknown project_id, or a project outside the token's scope or the person's visibility.
VALIDATION_FAILEDtype, status or priority is not one of its values, or an id filter is not a UUID.
TOKEN_MISSING_ABILITYtoken lacks work-item:view-any.
How is this guide?
Last updated on