Skip to content
Docs menu

Tool reference · Tasks, workflows & decisions

save_decision

Saves an architectural decision with the options considered, a scoring matrix, the choice and the reasoning.

local stdio server writes

When to use

  • You compared two or more approaches and picked one.
  • You want the rejected options and their drawbacks kept for later.
  • A reviewer will ask why a technology was chosen.

Parameters

NameTypeDefaultDescription
titlerequired string — Short decision title
optionsrequired { name, pros, cons, unknowns }[] — Options considered: [{name, pros[], cons[], unknowns[]}, ...]
criteria_matrixrequired object — criterion -> {option_name: rating 0-5}
selectedrequired string — Chosen option name (must be in options)
rationalerequired string — Why this option was chosen
discarded string[] — Option names rejected (subset of options - {selected})
project string — —
tags string[] — —

Example

Arguments

{
  "title": "Queue backend for email jobs",
  "options": [
    {
      "name": "Redis",
      "pros": [
        "Already deployed"
      ],
      "cons": [
        "No durable acknowledgements"
      ]
    },
    {
      "name": "RabbitMQ",
      "pros": [
        "Durable queues",
        "Dead-letter support"
      ],
      "cons": [
        "New service to run"
      ]
    }
  ],
  "criteria_matrix": {
    "durability": {
      "Redis": 2,
      "RabbitMQ": 5
    },
    "ops_cost": {
      "Redis": 5,
      "RabbitMQ": 3
    }
  },
  "selected": "RabbitMQ",
  "rationale": "Lost emails are not acceptable; durability outweighs running one more service.",
  "discarded": [
    "Redis"
  ],
  "project": "notifications",
  "tags": [
    "queue"
  ]
}

Result shape

{
  "saved": true,
  "id": 4821,
  "structured": true
}

Stored as a normal decision record tagged "structured", so memory_recall finds it. Invalid input returns saved: false with an error.

Values are illustrative; the keys follow the server's handler. MCP clients receive the result as JSON text content.

Server description

The description the server sends to your agent in tools/list, captured from the v14.7.0 source:

save a structured architectural decision (options + criteria matrix + rationale + discarded). Adds `structured` tag and a JSON blob in context. Use for Creative-phase outputs; plain type=decision memory_save still works.

Found a mistake? Open an issue on GitHub.

Search