关于 mcp-adr-analysis-server
ADR Analysis Server 是一个 MCP 服务,用于将架构决策记录(ADR)与实际代码进行比对,检测漂移。它还提供内容安全遮罩、决策记忆等功能,面向使用 AI 编码助手的开发团队和架构师。
主要功能
- 01ADR 漂移检测,对照代码证据验证决策
- 02敏感内容遮罩,识别密钥与 PII
- 03基于会话与工具使用记录的决策记忆
- 04Tree-sitter AST 代码分析
- 05ADR 生成与维护
- 06CE-MCP 模式,由宿主 LLM 执行分析
适用场景
- 01检查 ADR 是否与当前代码库仍然一致
- 02在分析前遮罩代码中的敏感信息
- 03从 PRD 文档生成 ADR 草稿
MCP 相关
该服务以 MCP 服务形式运行,向 MCP 客户端提供架构分析相关的工具。默认的 CE-MCP 模式下,工具返回编排指令,由宿主 LLM 基于自身上下文执行分析。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mcp-adr-analysis-serverPROJECT_PATHPath to the project directory to analyze (defaults to current directory)OPENROUTER_API_KEY密钥OpenRouter API key for AI-powered analysis (required for full execution mode)EXECUTION_MODEExecution mode: 'ce-mcp' (default), 'full' for AI results, or 'prompt-only' for promptsADR_DIRECTORYADR directory relative to project path (default: docs/adrs)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
63收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| projectPath | string | 否 | 要分析的项目目录路径(可选;未提供时使用配置的 PROJECT_PATH) |
| enhancedMode | boolean | 否 | 启用高级提示功能(知识生成 + 反思) |
| analysisDepth | enum | 否 | 生态系统分析深度basic | detailed | comprehensive |
| analysisScope | array | 否 | 要重点关注的特定分析领域(例如,["security", "performance", "architecture", "dependencies"]) |
| recursiveDepth | enum | 否 | 递归项目分析的深度shallow | moderate | deep | comprehensive |
| includePatterns | array | 否 | 分析中要包含的文件模式 |
| learningEnabled | boolean | 否 | 启用基于过往分析结果的 Reflexion 学习 |
| technologyFocus | array | 否 | 要重点分析的特定技术(未提供时自动检测) |
| includeEnvironment | boolean | 否 | 自动纳入全面的环境分析(默认:true) |
| knowledgeEnhancement | boolean | 否 | 启用针对特定技术的洞察知识生成 |
详细介绍
MCP(Model Context Protocol)ADR(架构决策记录)分析服务
**你的 ADR 在欺骗你。**这个 MCP 服务会揭穿它们——实时偏移检测会根据实际代码验证架构决策。此外,它还具备内容安全防护、决策记忆功能,并通过 CE-MCP 调用宿主大模型提供 63 个工具。
目录
什么是 MCP?
**Model Context Protocol(MCP)**是一种开放标准,可实现 AI 助手与外部工具和数据源之间的无缝集成。你可以把它看作一个通用适配器,让 Claude、Cline 和 Cursor 等 AI 助手连接到专用服务。此服务使你的 AI 助手能够检测 ADR 与实时代码之间的偏移,在敏感内容泄露之前将其屏蔽,并在不同对话之间记住架构决策。
一句话概览
是什么: 用实际代码验证架构决策的 MCP 服务 — 漂移检测、内容安全和决策记忆
面向谁: AI 编码助手(Claude、Cline、Cursor、Windsurf)、企业架构师、开发团队
为什么: 在过时的 ADR 导致生产事故之前及时发现 — 基于代码证据进行实时验证,无需 API 密钥
如何使用: npm install -g mcp-adr-analysis-server → 添加到 MCP 客户端 → 开始分析
主要功能: Tree-sitter AST 分析 • 安全内容屏蔽 • 漂移检测 • CE-MCP 编排指令 • 部署就绪状态验证
关键术语
| 术语 | 定义 |
|---|---|
| ADR | 架构决策记录 — 记录重要架构决策及其背景、考虑过的替代方案和后果的文档。 |
| MCP | 模型上下文协议 — 一项开放标准,使 AI 助手能够连接外部工具和数据源。 |
| CE-MCP | Claude 增强型 MCP — 一种执行模式,工具会向宿主大模型返回编排指令,而不是自行发起 AI 调用。自 v2.14 起为默认模式。 |
| Tree-sitter | 一种增量解析库,可为 50 多种语言提供 AST(抽象语法树)分析。用于语义代码理解、提取函数签名和识别架构模式。 |
| 会话与工具使用跟踪器 | 项目本地跟踪会话意图、工具执行和 ADR 注册信息,并基于 JSON 快照进行关键词评分检索。支持工作流连续性和工具使用证据 — 不是图数据库。 |
| 智能代码关联 | 通过关键词提取和 ripgrep 搜索,发现与 ADR 和架构决策相关的代码文件。 |
| ADR 聚合器 | 可选的 SaaS 集成,用于在团队间同步和共享 ADR 上下文(ADR_AGGREGATOR_API_KEY)。 |
作者:Tosin Akinosho | 代码仓库:GitHub | 版本:2.14.12
✨ 核心功能
🔄 漂移检测 - 根据实时代码和基础设施证据验证 ADR 决策
🛡️ 内容安全 - 自动检测并屏蔽机密信息、PII 和敏感内容
🧠 决策记忆 - 跟踪会话与工具使用情况,并通过关键词评分进行检索
🏗️ 技术检测 - 识别任何技术栈和架构模式
📋 ADR 管理 - 生成、建议和维护架构决策记录
🔗 智能代码关联 - 发现与 ADR 和决策相关的代码文件
🚀 部署就绪状态 - 采用零容忍测试验证并严格阻止部署
📖 查看完整功能 → · 📜 发布政策 → · 🗒️ 更新日志 →
前置条件
安装前,请确认你具备:
node --version # Should show v20.0.0 or higher
npm --version # Should show 9.0.0 or higher (included with Node.js 20+)
必需条件:
- Node.js 20.0.0 或更高版本 — 下载或使用 nvm/fnm
- npm 9.0.0 或更高版本(随 Node.js 20+ 一同安装)
- 兼容 MCP 的客户端 — Claude Desktop、Cline、Cursor 或 Windsurf
网络要求
- 在
npm install期间需要访问互联网,以编译原生模块(tree-sitter 是用于 YAML 和 TypeScript 的增量代码解析器) - 如果处于企业代理环境,请设置
HTTP_PROXY和HTTPS_PROXY环境变量 - 离线备用方案:如果原生构建失败,服务将在精简模式下运行,不提供 tree-sitter 代码分析功能
📦 快速安装
# Option 1: Global installation (recommended for frequent use)
npm install -g mcp-adr-analysis-server
# Option 2: Use npx (no installation required)
npx mcp-adr-analysis-server
# Option 3: From source (for development or customization)
git clone https://github.com/tosin2013/mcp-adr-analysis-server.git
cd mcp-adr-analysis-server && npm install && npm run build
# Option 4: RHEL 9/10 systems (special installer)
curl -sSL https://raw.githubusercontent.com/tosin2013/mcp-adr-analysis-server/main/scripts/install-rhel.sh | bash
注意: 从源代码安装时,运行服务前必须执行
npm run build,因为bin的入口指向./dist/src/index.js。
📖 详细安装指南 → | RHEL 安装指南 →
⚡ 快速设置(2 步)
- 安装:
npm install -g mcp-adr-analysis-server - 配置客户端:添加到 Claude Desktop、Cline、Cursor 或 Windsurf — 无需 API 密钥
{
"mcpServers": {
"adr-analysis": {
"command": "mcp-adr-analysis-server",
"env": {
"PROJECT_PATH": "/path/to/your/project"
}
}
}
}
就这么简单。服务默认以 CE-MCP 模式运行 — 由宿主大模型(Claude、GPT 等)使用工具返回的编排指令执行分析。无需外部 API 密钥。
Claude Desktop 用户: 将此 JSON 保存到
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows)。
其他客户端的配置位置
| 客户端 | 配置文件位置 |
|---|---|
| Claude Desktop(macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop(Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cline(VS Code) | VS Code 设置 → Cline → MCP 服务(或 .vscode/cline_mcp_settings.json) |
| VS Code(原生 MCP) | 工作区根目录中的 .vscode/mcp.json |
| Cursor | Cursor 设置 → MCP → 添加服务 |
📖 VS Code 集成指南 → — Cline、Continue 和 VS Code 原生 MCP 的分步设置说明及配置示例。
可选:OpenRouter 完整模式(旧版)
如果希望服务自行调用 AI(绕过宿主大模型),请添加 OpenRouter API 密钥:
{
"mcpServers": {
"adr-analysis": {
"command": "mcp-adr-analysis-server",
"env": {
"PROJECT_PATH": "/path/to/your/project",
"OPENROUTER_API_KEY": "your_key_here",
"EXECUTION_MODE": "full"
}
}
}
}
请在 OpenRouter.ai/keys 注册。不推荐使用此模式 — CE-MCP 利用现有的宿主大模型上下文即可获得同等结果。
可选:ADR Aggregator 集成
{
"mcpServers": {
"adr-analysis": {
"command": "mcp-adr-analysis-server",
"env": {
"PROJECT_PATH": "/path/to/your/project",
"ADR_AGGREGATOR_API_KEY": "agg_your_key_here"
}
}
}
}
请在 adraggregator.com 获取 API 密钥。
执行模式
| CE-MCP(默认) | 完整模式(旧版) | 仅提示词 | |
|---|---|---|---|
| 需要 API 密钥? | 否 | 是(OPENROUTER_API_KEY) | 否 |
| 返回内容 | 供宿主大模型执行的编排指令 | 服务端 AI 分析结果 | 可粘贴到任意 AI 聊天中的提示词 |
| 通过以下方式设置 | 默认(无需设置环境变量) | EXECUTION_MODE=full | EXECUTION_MODE=prompt-only |
| 最适合 | 所有用户——推荐使用 | 有专用 API 预算的旧版工作流 | 离线探索 |
| 可用工具 | 全部 63 个工具,包含带注释的 MCP 元数据 | 全部 63 个工具 | 分析提示词、模板、本地文件操作、ADR 发现 |
什么是 CE-MCP 指令? 调用工具时,它会返回一条结构化的编排指令,告知宿主大模型要分析什么、要收集哪些数据,以及如何格式化结果。宿主大模型(例如 Claude Desktop 中的 Claude,或 Cursor 中的 GPT)会利用自身已有的上下文窗口执行该指令。这意味着无需额外的 API 费用,且结果更佳,因为大模型已拥有你的对话上下文。
🚀 使用示例
只需用自然语言向 MCP 客户端提出请求——无需编写代码:
“分析这个 React 项目的架构,并为任何隐含的决策提出 ADR 建议”
“根据 PRD.md 文件生成 ADR,并创建包含实现任务的 todo.md”
“检查此代码库中的安全问题,并提供脱敏建议”
服务会返回结构化分析和编排指令,由宿主大模型结合上下文执行。
编程方式使用(高级)
如果你要通过 MCP SDK 将此服务集成到自己的工具中:
// Basic project analysis
const analysis = await analyzeProjectEcosystem({
projectPath: '/path/to/project',
analysisType: 'comprehensive',
});
// Generate ADRs from requirements
const adrs = await generateAdrsFromPrd({
prdPath: 'docs/PRD.md',
outputDirectory: 'docs/adrs',
});
// Smart Code Linking - Find code related to ADR decisions
const relatedCode = await findRelatedCode(
'docs/adrs/001-auth-system.md',
'We will implement JWT authentication with Express middleware',
'/path/to/project',
{
useRipgrep: true, // Fast text search
maxFiles: 10, // Limit results
includeContent: true, // Include file contents
}
);
试试看: 此仓库包含一个
sample-project/目录,其中有示例 ADR 和源代码。将PROJECT_PATH指向该目录,即可进行试验,而不会影响你自己的代码库。注意: 只有从源码克隆(上文选项 3)时才能使用示例项目。如果你通过 npm 安装(选项 1 或 2),请创建自己的测试项目,或单独克隆此仓库以访问示例:
git clone --depth 1 https://github.com/tosin2013/mcp-adr-analysis-server.git sample-test
🎯 使用场景
👨💻 AI 编码助手 - 为 Claude、Cline、Cursor 增添架构智能
💬 对话式 AI - 以置信度评分解答架构问题
🤖 自主 Agent - 持续分析并强制执行规则
🏢 企业团队 - 组合分析与迁移规划
📖 详细使用场景 →
🛠️ 技术栈
运行时: Node.js 20+ • 语言: TypeScript • 框架: MCP SDK • 测试: Vitest(语句覆盖率约为 49%,设有强制最低标准) 搜索: ripgrep(快速递归文本搜索)+ fast-glob(文件匹配)• AI 集成: CE-MCP 编排指令(宿主大模型)• 代码分析: tree-sitter(增量代码解析器)+ 智能代码链接
📖 技术详情 → | CE-MCP 迁移手册 →
📁 项目结构
src/tools/ # 64 MCP tools with annotated metadata
docs/adrs/ # Architectural Decision Records
tests/ # ~49% statement coverage, floor enforced in CI
.github/ # CI/CD automation
📖 完整结构 →
🧪 测试
npm test # Run all tests
npm run test:coverage # Coverage report
📖 测试指南 →
🌐 ADR Aggregator 集成(可选)
ADR Aggregator 是一个用于跨团队 ADR 可见性和治理的平台。它提供:
- 跨仓库知识图谱 — 查看各项目间架构决策的关联
- 治理仪表板 — 跟踪 ADR 合规性、过时情况和评审周期
- 模板库 — 获取特定领域的 ADR 模板(安全、API、数据库等)
- 团队协作 — 在整个组织内共享架构决策
注意: ADR Aggregator 为可选项。所有核心分析功能均可在不使用它的情况下正常运行。
# Set your API key (get one at adraggregator.com)
export ADR_AGGREGATOR_API_KEY="agg_your_key_here"
可用工具
| 工具 | 描述 | Free | Pro+ | Team |
|---|---|---|---|---|
sync_to_aggregator | 将本地 ADR 推送到平台 | ✅ | ✅ | ✅ |
get_adr_context | 从平台获取 ADR 上下文 | ✅ | ✅ | ✅ |
get_staleness_report | 获取 ADR 治理/健康报告 | ✅ | ✅ | ✅ |
get_adr_templates | 获取特定领域的模板 | ✅ | ✅ | ✅ |
get_adr_diagrams | 获取 ADR 的 Mermaid 图表 | — | ✅ | ✅ |
validate_adr_compliance | 验证 ADR 实施情况 | — | ✅ | ✅ |
get_knowledge_graph | 跨仓库知识图谱 | — | — | ✅ |
新仓库工作流
# 1. Analyze codebase for implicit architectural decisions
suggest_adrs(analysisType: 'implicit_decisions')
# 2. Generate ADR files from suggestions
generate_adr_from_decision(decisionData)
# 3. Save ADRs to docs/adrs/
# 4. (Optional) Sync to adraggregator.com
sync_to_aggregator(full_sync: true)
优势: 跨团队可见性 • 过时提醒 • 合规性跟踪 • 组织级知识图谱
📖 ADR Aggregator 指南 → | 📖 MCP 集成指南 →
🔧 开发
git clone https://github.com/tosin2013/mcp-adr-analysis-server.git
cd mcp-adr-analysis-server
npm install && npm run build && npm test
质量标准: TypeScript 严格模式 • ESLint • 强制覆盖率最低标准 • 提交前钩子
在本地查看文档
API 文档使用 TypeDoc 生成:
npm install # Required once after cloning (installs typedoc)
npm run docs:build # Generate API docs into docs/api/
npm run docs:serve # Serve locally via Python HTTP server
然后在浏览器中打开 http://localhost:8080。Markdown 文档位于 docs/ 中,可直接在 GitHub 上浏览。
🔧 故障排除
常见问题:
- RHEL 系统:使用专用安装脚本
- 工具返回指令而非结果:这是 CE-MCP 模式下的预期行为——由宿主大模型执行这些指令。若要在服务端执行,请设置
EXECUTION_MODE=full+OPENROUTER_API_KEY - 找不到模块:运行
npm install && npm run build - 权限被拒绝:检查文件权限和项目路径
🔒 安全与性能
安全: 自动检测密钥 • 内容脱敏 • 本地处理 • 零信任
性能: 多级缓存 • 增量分析 • 并行处理 • 内存优化
🔐 安全漏洞报告
发现安全问题?请阅读我们的 安全政策,了解负责任的披露流程。请勿公开提交安全漏洞问题。
🤝 参与贡献
欢迎贡献!无论是修复错误、添加功能,还是改进文档,我们都感谢您的帮助。
🌟 贡献者快速入门
- Fork 此仓库
- 克隆 您的 fork:
git clone https://github.com/YOUR_USERNAME/mcp-adr-analysis-server.git - 创建 分支:
git checkout -b feature/your-feature-name - 进行 修改并添加测试
- 测试:
npm test(覆盖率不得低于下限) - 提交 Pull Request
🗺️ 路线图
工作进展通过 GitHub 里程碑进行跟踪,问题被纳入里程碑即表示已获准。
架构方向见 docs/adrs/;发布节奏见
RELEASES.md。
👶 首次参与贡献?
想找一个适合入门的问题?请查看我们的 适合新手的问题——这些任务对新手友好,非常适合开始参与!
刚接触开源? 我们的贡献指南将逐步带您了解完整流程。
📝 报告问题
报告错误或申请功能时,请使用我们的问题模板。模板有助于我们更快地理解和解决问题。
标准: TypeScript 严格模式 • 强制覆盖率下限 • ESLint • 安全验证 • MCP 合规性
🔗 资源
官方: MCP 规范 • MCP SDK
社区: MCP Registry • Discord
项目: ADR • 进度 • 发布指南
📄 许可证
MIT 许可证——详情请参阅 LICENSE 文件。
🙏 致谢
- 感谢 Anthropic 创建 Model Context Protocol
- 感谢 MCP 社区 提供灵感和最佳实践
- 感谢帮助改进本项目的 贡献者
由 Tosin Akinosho 倾心打造,助力 AI 驱动的架构分析
通过 CE-MCP 编排指令,为 AI 助手提供漂移检测、内容安全和决策记忆能力。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。