mcpField
M
mcp-server-decisions

mcp-server-decisions

本地服务
github.com/Roberton003记忆与知识08 周前更新

关于 mcp-server-decisions

mcp-server-decisions 是面向团队、开发者和 AI Agent 的开源技术决策记录 MCP 服务,可将决策与可验证的预测及结果关联。追加式 JSONL 存储和结果门控提醒让决策过程可审计,并推动技术选择的反馈循环。

主要功能

  1. 01记录决策、备选方案与预测
  2. 02关联可衡量的结果
  3. 03提醒尚未验证的预测
  4. 04按关键词、技术或领域查询
  5. 05汇总技术表现

适用场景

  1. 01记录架构选择及其依据
  2. 02实施后验证技术预测
  3. 03查询过往决策与技术结果

MCP 相关

通过 stdio 上的 JSON-RPC 向 MCP 客户端暴露四种工具,用于记录和查询决策、预测与结果。工具响应还会提示仍待验证的预测。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"roberton003-mcp-server-decisions": {
"command": "uvx",
"args": [
"mcp-server-decisions"
],
"env": {
"MCP_DECISIONS_LOG_PATH": "<MCP_DECISIONS_LOG_PATH>"
}
}
}
}
启动命令uvx mcp-server-decisions
需要配置的环境变量
MCP_DECISIONS_LOG_PATHPath to decisions log file (default: ~/.local/share/mcp-decisions/decisions_log.json)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-server-decisions1.0.2

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
domainstring否技术领域(例如,'data-engineering'、'backend'、'ai')
statusenum否决策状态ACTIVE | SUPERSEDED | DEPRECATED
adr_refstring否相关 ADR 的引用(如有;例如,'docs/adr/adr-012-duckdb.md')
problemstring是已识别的问题或技术机会
predictionsarray否决策时已知的初始预测(可选)
technologiesarray是此决策涉及的技术(例如,['duckdb', 'parquet'])
chosen_solutionstring是已选定的解决方案
rejected_alternativesarray是经过考虑并否决的备选方案

详细介绍

🧠 MCP 服务:决策

一个开源 MCP 服务,可帮助团队记录架构决策,将其与可测试的预测关联起来,并随着时间推移验证结果。它为 AI Agent 和开发者提供轻量、可审计的技术选择记忆。

Python 3.10+ MCP License: MIT PyPI Glama

架构决策反馈循环与结果关卡

✨ 项目亮点

  • 关联结果的决策 — 将每项技术选择与可衡量的预测和观察到的结果关联起来。
  • 带内结果关卡 — 工具响应会指出仍需验证的预测,之后才能将工作视为完成。
  • 可移植存储 — 仅追加的 JSONL 让日志便于检查、备份,且无需设置数据库。
  • 零运行时依赖 — 运行此服务只需 Python 标准库。
  • 原生 MCP 接口 — 通过 stdio 上的 JSON-RPC 向兼容 MCP 的客户端提供决策跟踪功能。
  • 技术反馈 — 汇总经过验证的结果,为未来的技术选择提供参考。

🧰 技术栈

层技术
协议基于 JSON-RPC 2.0 的 Model Context Protocol
运行环境Python 3.10+
存储仅追加的 JSONL 文件
打包PyPI / Hatchling
测试内置自测命令
许可证MIT

🔄 架构

flowchart TD
    A[MCP client or AI agent] --> B[JSON-RPC over stdio]
    B --> C[mcp-server-decisions]
    C --> D[Record decision]
    C --> E[Attach prediction]
    C --> F[Record outcome]
    C --> G[Query decisions and technology history]
    D --> H[(Append-only JSONL log)]
    E --> H
    F --> H
    G --> H
    F --> I[Validation status and accuracy]
    I --> J[Future technical decisions]

📌 提供的功能

该服务提供四个工具:

工具用途
record-decision存储问题、选定的解决方案、备选方案、技术和预测。
record-prediction为现有决策添加可衡量的预测。
record-outcome记录观察到的结果,并将预测归类为成功、部分成功或失败。
query-decisions按关键词、技术、领域或结果数量上限搜索决策。
示例流程
Decide → Predict → Implement → Measure → Validate → Learn

决策可以生成如下结果关卡提醒:

{
  "decision_id": "DEC-2026-0001",
  "status": "OK",
  "OUTCOME_GATE": "2 prediction(s) still lack outcomes."
}

该提醒是工作流信号,并不代表产品已被采用或产生了可衡量的影响。有关设计和权衡,请参阅结果关卡模式。

📊 当前项目状态

领域状态
决策、预测和结果跟踪可用
结果关卡提醒可用
技术性能报告可用
PyPI 包已发布,版本为 1.0.2
外部采用指标尚未收集
Web UI 和通知规划中

该项目仍处于早期阶段。欢迎贡献、分享真实项目中的示例并提供反馈。

🚀 设置

前提条件
  • Python 3.10 或更高版本
  • 兼容 MCP 的客户端
从 PyPI 安装
python3 -m pip install mcp-server-decisions
运行自测
python3 -m pip install -e .
python3 server.py --selftest
配置 MCP 客户端
{
  "mcpServers": {
    "mcp-server-decisions": {
      "command": "mcp-server-decisions"
    }
  }
}

有关特定客户端的配置和故障排除,请参阅客户端集成。有关引导式首次运行,请参阅快速入门。

配置日志路径

默认情况下,服务会写入 ~/.local/share/mcp-decisions/decisions_log.json。设置 MCP_DECISIONS_LOG_PATH 可使用其他文件:

MCP_DECISIONS_LOG_PATH=/path/to/decisions.json mcp-server-decisions

🗂️ 项目结构

.
├── server.py                         # MCP server and tool implementations
├── scripts/                          # Reports derived from the decision log
├── docs/                             # Architecture, examples, and integrations
├── .github/ISSUE_TEMPLATE/           # Reusable bug and feature templates
├── CONTRIBUTING.md                   # Development and contribution workflow
├── QUICKSTART.md                     # Guided setup and first decision
├── server.json                       # MCP Registry metadata
├── pyproject.toml                    # PyPI package metadata
└── LICENSE                           # MIT license

📚 文档

🛣️ 路线图

  • 核心决策、预测和结果跟踪
  • 结果门控提醒
  • 技术性能报告
  • 用于浏览和搜索决策的 Web UI
  • 预测准确率低时发送通知
  • 可复用的决策模板和领域模式

🤝 参与贡献

欢迎提交问题和拉取请求。请先阅读 CONTRIBUTING.md,运行自测,并在拉取请求中说明问题或使用场景。

📄 许可证

MIT © 2026 Roberto Nascimento

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。