record_decision_draft
Record a decision in a project as proposed, numbered from the decisions' sequence, with its context, the options weighed and what is proposed, for a person to accept or reject.
Add a decision to a project as proposed: title (required), kind (architecture by default), context (the situation and the forces at play), options (rows of title, pros and cons), decision (what is proposed) and consequences (what follows). The decision takes the next number of the decisions' sequence (CRM-DEC-5), starts proposed, writes its first version and goes out as decision.created. Record a draft when a conversation, a story or a design settles a choice that nothing records yet; give the context, at least two options with their trade-offs and the consequences, and leave the acceptance to a person.
Only a proposal is recorded here. Accepting, rejecting, changing and deleting decisions, and naming the deciders and the decision it supersedes, stay with people on the Decisions page or over the REST API.
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.
Arguments
project_id*stringUUID of the project the decision belongs to.
title*stringWhat the decision is called, 3 to 200 characters.
kindstringoptionalThe kind; architecture by default.
architectureproductprocessvendorsecuritycontextstringoptionalThe situation and the forces at play, as HTML.
optionsobject[]optionalThe options weighed, up to ten rows, each with a `title` (required), its `pros` and its `cons`.
title*stringWhat the option is, up to 200 characters.
prosstringoptionalWhat speaks for it, up to 1,000 characters.
consstringoptionalWhat speaks against it, up to 1,000 characters.
decisionstringoptionalWhat is proposed, as HTML.
consequencesstringoptionalWhat follows if it is accepted, as HTML.
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": "Queue the digests through Redis", "context": "<p>The digests must not block the web requests.</p>", "options": [ { "title": "Redis queues", "pros": "Already in the stack", "cons": null }, { "title": "A managed queue service", "pros": null, "cons": "Another vendor" } ], "decision": "<p>Redis queues, one worker per project.</p>", "consequences": "<p>Each project gets its own queue worker.</p>", "status": "proposed", "decided_on": null, "deciders": [], "supersedes_id": null, "supersedes_reference": null, "position": 4, "created_at": "2026-10-28T09:20:00+00:00", "updated_at": "2026-10-28T09:20:00+00:00" }}How it fails
RESOURCE_NOT_FOUNDunknown project_id, or a project outside the token's scope or the person's visibility.
VALIDATION_FAILEDtitle is missing or longer than 200 characters, an option lacks its title, or kind is not one of its values.
FORBIDDENthe person's role on the project does not carry decision:create, or the token is a client guest's.
TOKEN_MISSING_ABILITYtoken lacks decision:create.
How is this guide?
Last updated on