mcp-server-decisions
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-decisionsRecord a decision to use DuckDB for query caching."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧠 MCP Server: Decisions
⚡ Zero External Dependencies • Stdlib-only Python • Append-only JSONL storage • Fully portable
📌 Key Features
🎯 Decision Recording — Capture architectural choices with problem statement, solution, rejected alternatives, and target technologies.
📈 Prediction Linking — Attach testable claims (latency, cost, scalability, reliability) tied to decisions.
✅ Outcome Validation — Record measured results and automatically compute accuracy scores (0–100 scale).
📊 Technology Performance Registry — Aggregate success rates and confidence metrics per technology over time.
🚪 Outcome Gate Pattern — In-band nudges inside tool responses prevent decision feedback loops from leaking (3.8% → 14.5% closure rate).
⚡ Zero Dependencies — Portable append-only JSONL log. No database servers, no migrations, no background daemons.
Related MCP server: Axiom-hub
⚡ Quick Example
1️⃣ Record a Decision
# Agent or user records a choice:
record-decision(
problem="Query latency exceeds SLA (p99 > 500ms)",
chosen_solution="DuckDB + Parquet caching",
rejected_alternatives=["Redis", "Elasticsearch"],
technologies=["duckdb", "parquet"],
predictions=[
{"prediction_type": "LATENCY", "predicted_value": "p99 < 200ms"},
{"prediction_type": "COST", "predicted_value": "< $50/month"}
]
)
# ➔ Returns: DEC-2026-0001, PRD-2026-0001, PRD-2026-00022️⃣ Record an Outcome
record-outcome(
prediction_id="PRD-2026-0001",
actual_value="p99 = 180ms",
measurement_source="MONITORING",
accuracy_score=95
)
# ➔ Returns: SUCCESS ✅ (95% accuracy)3️⃣ Query Prior Decisions & Technology Stats
# Search past decisions before choosing a technology:
query-decisions(technology="duckdb", max_results=5)
# View aggregated technology performance:
python3 scripts/technology_performance_report.py
# ➔ Output:
# technology: duckdb | successful: 12 | failed: 1 | avg_accuracy: 91.2% | confidence: HIGH🚀 Quick Start & Setup
📦 Installation
# From PyPI (once published) or local editable install:
pip install -e .🛠️ Client Configuration
Add to your MCP client configuration (e.g. Claude Desktop, Claude Code, Cursor, OpenCode):
{
"mcpServers": {
"mcp-server-decisions": {
"type": "stdio",
"command": "mcp-server-decisions"
}
}
}For client-specific setup guides (Claude, OpenCode, Codex, Antigravity), see 📖 docs/INTEGRATIONS.md.
How It Works
The Loop
Decide → Predict → Implement → Measure → Validate → Learn → Next DecisionRecord a decision — Store the problem, chosen solution, alternatives, and technologies
Make predictions — Attach testable claims (latency, cost, reliability, etc.)
Implement — Build the system
Measure results — Capture actual values from monitoring, logs, benchmarks
Validate — The server calculates accuracy (0-100) and validation status (SUCCESS / PARTIAL_SUCCESS / FAILED)
Learn — Review what worked via the Technology Performance Registry
Next decision — Query past decisions before making new recommendations
The Outcome Gate Pattern
Decision loops leak because predictions aren't validated. This server embeds a reminder directly in tool responses:
Without Outcome Gate:
Decision is made → implementation starts → results come in → nobody checks if prediction was right
With Outcome Gate:
{
"decision_id": "DEC-2026-0001",
"status": "OK",
"OUTCOME_GATE": "⚠️ 2 prediction(s) from this session still lack outcomes: [PRD-2026-0001, PRD-2026-0002]. Record results via record-outcome before ending."
}The nudge is in-band (inside the tool response), where agents are already looking. Result: 3.8% → 14.5% closure rate improvement (validated on internal tool).
Real Example: After recording a decision with 3 predictions, the response includes:
{
"decision_id": "DEC-2026-0042",
"prediction_ids": ["PRD-2026-0051", "PRD-2026-0052", "PRD-2026-0053"],
"status": "OK",
"OUTCOME_GATE": "⚠️ 3 prediction(s) from this session still lack outcomes: [PRD-2026-0051, PRD-2026-0052, PRD-2026-0053]. Record results via record-outcome before ending."
}Next query still shows the gate until all 3 outcomes are recorded. Once they are, the gate disappears automatically.
For the full pattern explanation, see docs/OUTCOME-GATE-PATTERN.md.
🏛️ Architecture & Tech Stack
Storage: Single append-only
JSONLfile (no database setup, no migrations, portable & git-friendly).IDs: Sequential per calendar year (
DEC-2026-0001,PRD-2026-0002,OUT-2026-0003).Accuracy Scoring: Automatic classification (
≥90SUCCESS,50–89PARTIAL_SUCCESS,<50FAILED).Runtime: Stdlib-only Python 3.10+ (zero external pip runtime dependencies).
Protocol: Model Context Protocol (JSON-RPC 2.0 over stdio).
⚙️ Environment Variables
Variable | Description | Default Path |
| Path to the append-only JSONL log file |
|
📚 Documentation & Resources
Document | Purpose |
5-minute setup guide & first decision | |
Setup configs for Claude, OpenCode, Codex, Antigravity | |
Core design rationale & data models | |
Real JSON-RPC request/response payloads | |
In-band feedback loop design philosophy | |
📖 Wiki | FAQ and advanced topics |
🧪 Development & Testing
Run unit & selftests locally:
python3 server.py --selftest
# ➔ ✅ All self-tests passedSee 📝 CONTRIBUTING.md to contribute features or fixes.
🗺️ Roadmap
Core decision / prediction / outcome tracking
Outcome Gate in-band nudges
Technology Performance Registry
Web UI for browsing & searching decisions
Webhooks / notifications on low prediction accuracy
Pre-built decision templates & domain patterns
📄 License & Disclaimer
MIT © 2026 Roberton003 — See LICENSE.
This project is community-built and independent. It is not affiliated with any organization or standard-setting body.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn LLM-native decision tracking system that captures unexpected engineering outcomes as 'pressure events' to build a persistent learning foundation. It enables AI assistants to manage cases, log surprises, and promote recurring insights into global or project-specific knowledge bases.Last updated20MIT
- Alicense-qualityDmaintenancePersistent decision memory and contradiction detection for AI coding agents. Enforces architectural consistency across sessions — the agent cannot code until it loads prior decisions. Human resolves conflicts on a dashboard or in chat.Last updated1MIT
- AlicenseAqualityCmaintenanceAuto-captures decision context from multi-agent workflows to preserve the 'why' behind every choice. Enables task traceability, reasoning retrieval, and continuous improvement across planning and implementation sessions.Last updated17196MIT
- Alicense-qualityBmaintenanceThe decision system for agentic engineering: keeps your project's decisions, rationale, and rejected paths in plain files and surfaces them to AI coding agents before they plan or change code.Last updated7Apache 2.0
Related MCP Connectors
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Adversarial behavioural-bias engine — audits your decisions for cognitive biases via your own AI.
Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Roberton003/mcp-server-decisions'
If you have feedback or need assistance with the MCP directory API, please join our Discord server