READ

list_projects

Paginated list of the projects the token can see, narrowed by status, client, search words or archived state.

Return every project the token's team can see, paginated: team-visible projects and the members-only projects the person belongs to, with a guest seeing only the projects they were invited into. Use this as a starter tool: most other tools take a project_id picked up here, and a project's key (such as CRM) prefixes every reference inside it (CRM-142).

Narrow with status (discovery, planning, in_development, in_testing, live, maintenance, on_hold, archived), client_id (a UUID), search (words in the key or name) and archived (true for archived projects only, false for live ones; omit for both).

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

Read-only

It reads and never changes anything.

Arguments

statusstringoptional

Narrow to one lifecycle status.

discoveryplanningin_developmentin_testinglivemaintenanceon_holdarchived
client_idstringoptional

Narrow to the projects of one client, by UUID.

searchstringoptional

Words the project key or name must contain.

archivedbooleanoptional

`true` includes archived projects, which are left out by default.

limitintegeroptional

Projects per page (1..100, default 25).

min1max100
pageintegeroptional

1-indexed page number.

min1

What it returns

{  "data": [    {      "id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "team_id": "a83f0d51-4c92-4b7e-8615-2fd9e70a3c86",      "client_id": "c1a2b3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",      "key": "CRM",      "name": "Customer Portal",      "tagline": "Self-service portal for the client's account holders",      "description": null,      "status": "in_development",      "methodology": "scrum",      "visibility": "team",      "health": "on_track",      "lead_pm_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",      "lead_ba_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",      "lead_dev_id": "5e0c7a2d-9b1f-4c3e-8d6a-2f4b7c9e1a30",      "lead_qa_id": null,      "starts_on": "2026-09-01",      "target_launch_on": "2027-01-15",      "launched_on": null,      "budget_hours": 1200,      "archived_at": null,      "created_at": "2026-08-20T10:05:00+00:00",      "updated_at": "2026-10-24T16:40:00+00:00"    }  ],  "meta": {    "page": 1,    "limit": 25,    "total": 12,    "has_more": false  }}

health is recomputed by the application from overdue items, failing runs, open incidents and stuck approvals; unknown means nothing has been measured yet.

How it fails

TOKEN_MISSING_ABILITY

token lacks project:view-any.

VALIDATION_FAILED

status is not one of the eight statuses, or client_id is not a UUID.

How is this guide?

Last updated on