mcp-decision-lab
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DECISION_LAB_DIR | No | Override the directory for persisting sessions (default: ~/.mcp-decision-lab) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_decisionA | Start a structured decision: the question, the options and the weighted criteria. Use this whenever a choice deserves explicit reasoning (a technology, a vendor, a plan, a design): it forces the trade-offs into a weighted decision matrix instead of a gut call. Returns the new decision_id, the normalized weights, the empty cells to fill with score_option, and the next step. |
| score_optionA | Score one option against one criterion (one cell of the decision matrix). Score each cell independently and honestly; analyze reports exactly which judgments the result hinges on. Re-scoring a cell overwrites it and marks any previous analysis stale. |
| get_matrixB | Show the full decision matrix: raw, effective and weighted scores, totals, every rationale, and any cells still missing. |
| analyzeA | Analyze a fully scored matrix and give a defensible recommendation. Returns the ranking and margin; for each criterion the exact weight at which the winner would flip (closed form); the cells whose score alone could change the winner, with the threshold and the rationale behind them; Monte Carlo win probabilities under joint weight and score perturbation; per-option strengths/weaknesses; and a verdict: "robust", "fragile" (a ±50% single-weight change, a ≤1-point single-score change, or a win probability below 80% flips it) or "tie" (winner is null and the tie-breakers are listed). Fails with the list of missing cells if the matrix is incomplete. |
| what_ifA | Re-rank the options under hypothetical weights and/or scores, without changing the stored session. Answers "what if we cared more about X?" or "what if that estimate is wrong?" with the new ranking, totals, margin and whether the winner changes. |
| export_decisionA | Export the decision as a reviewable record: question, weights, the full score table, every rationale, ranking, weight and score sensitivity, Monte Carlo result and recommendation. The text is in the "content" field. |
| delete_decisionA | Permanently delete a decision session. Consider export_decision first. |
| list_decisionsA | List all decision sessions with their status ("pending": cells unscored, "complete": scored but not analyzed, "analyzed") and, once analyzed, the winner and verdict. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a distinct role in the workflow (start, score, inspect, analyze, simulate, export, list, delete), and descriptions clarify boundaries. There is mild potential overlap between analyze and what_if, and between analyze and get_matrix, but the descriptions cleanly separate stored analysis from hypothetical re-ranking and raw inspection.
Most tools follow a consistent verb_noun pattern (start_decision, score_option, get_matrix, delete_decision, export_decision, list_decisions). The bare verbs 'analyze' and 'what_if' are minor deviations but remain readable and unambiguous.
Eight tools cleanly map onto a decision-analysis lifecycle with no superfluous entries. Each tool earns its place and the count is well within a comfortable range.
The surface covers the full lifecycle: create, score, inspect, analyze, simulate, export, list, and delete. A minor gap is the absence of an update/edit tool for changing the question, options, or criteria after start_decision, which agents would have to work around by restarting.