READ

list_decisions

A project's decisions in the project's order, with reference, kind, title, context, the options weighed, what was decided, consequences, status, the day decided, deciders and the decision each supersedes; never for a guest token.

Return the decisions of one project: the record of every choice it made, each with its reference (such as CRM-DEC-5), kind (architecture, product, process, vendor or security), title, the context it was taken in, the options weighed with their pros and cons, what was decided, what follows, status, the day decided, who decided and the earlier decision it replaces. Read the accepted decisions before you design or build, so the code follows what the team already chose, and name decisions by their reference when you report.

Optional filters narrow the page to one kind, one status or the decisions whose reference or title contain search. The log is internal: a guest token is refused.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

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

project_id*string

UUID of the project whose decisions to list.

kindstringoptional

Narrow to one kind.

architectureproductprocessvendorsecurity
statusstringoptional

Narrow to one status.

proposedacceptedrejectedsupersededdeprecated
searchstringoptional

Words the reference or the title must contain.

limitintegeroptional

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

min1max100
pageintegeroptional

1-indexed page number.

min1

What it returns

{  "data": [    {      "id": "a8b9c0d1-e2f3-4a4b-9c5d-6e7f8a9b0c13",      "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "number": 5,      "reference": "CRM-DEC-5",      "kind": "architecture",      "title": "Keep the loyalty ledger in Postgres",      "context": "<p>The ledger must be queried with the orders and audited.</p>",      "options": [        {          "title": "A ledger table in the main Postgres database",          "pros": "One backup, one transaction, one place to audit",          "cons": "Table growth needs partitioning within two years"        },        {          "title": "A dedicated event store",          "pros": "Append-only by design",          "cons": "A second system to run and to secure"        }      ],      "decision": "<p>The ledger lives in Postgres, partitioned by month from the first release.</p>",      "consequences": "<p>The reporting queries join the ledger directly.</p>",      "status": "accepted",      "decided_on": "2026-11-04",      "deciders": ["c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f"],      "supersedes_id": "b9c0d1e2-f3a4-4b5c-8d6e-7f8a9b0c1d24",      "supersedes_reference": "CRM-DEC-2",      "position": 4,      "created_at": "2026-10-28T09:20:00+00:00",      "updated_at": "2026-11-04T15:00:00+00:00"    }  ],  "meta": { "page": 1, "limit": 25, "total": 1, "has_more": false }}

How it fails

RESOURCE_NOT_FOUND

unknown project_id, or a project outside the token's scope or the person's visibility.

FORBIDDEN

the token is a client guest's, or the person's role on the project does not carry decision:view-any.

VALIDATION_FAILED

kind or status is not one of its values.

TOKEN_MISSING_ABILITY

token lacks decision:view-any.

How is this guide?

Last updated on