mcp-adr-analysis-server について
ADR Analysis Server は、アーキテクチャ決定記録(ADR)を実際のコードと照合してドリフトを検出する MCP サーバーです。コンテンツのマスキングや決定の記憶機能も備え、AI コーディングアシスタントを使うチームやアーキテクトを対象としています。デフォルトの CE-MCP モードでは、別途 API キーなしでホスト LLM が分析を実行します。
主な機能
- 01コード根拠に基づく ADR ドリフト検出
- 02シークレットと PII のマスキング
- 03セッションとツール利用履歴による決定の記憶
- 04Tree-sitter による AST コード解析
- 05ADR の生成と保守
- 06ホスト LLM が実行する CE-MCP モード
活用シーン
- 01ADR が現在のコードベースと一致しているか確認
- 02分析前に機密情報をマスキング
- 03PRD ドキュメントから 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(Architectural Decision Record)分析サーバー
ADRは真実を語っていません。 このMCPサーバーがそれを検出します。ライブドリフト検出により、アーキテクチャ上の決定を実際のコードと照合して検証できます。さらに、コンテンツの安全性、決定の記憶機能、CE-MCPを通じてホストのLLMを活用する63個のツールを備えています。
目次
- MCPとは?
- 前提条件
- クイックインストール
- クイックセットアップ
- 使用例
- ユースケース
- 技術スタック
- プロジェクト構成
- テスト
- ADR Aggregatorとの連携
- 開発
- トラブルシューティング
- セキュリティとパフォーマンス
- コントリビューション
- リソース
- ライセンス
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 | アーキテクチャ決定記録(Architectural Decision Record) — 重要なアーキテクチャ上の決定を、その背景、検討した代替案、結果とともに記録するドキュメントです。 |
| MCP | Model Context Protocol — AI アシスタントが外部ツールやデータソースに接続できるようにするオープン標準です。 |
| CE-MCP | Claude-Enriched MCP — ツールが独自に AI を呼び出す代わりに、ホスト LLM 向けのオーケストレーション指示を返す実行モードです。v2.14 以降のデフォルトです。 |
| Tree-sitter | 50 以上の言語に対応する AST(抽象構文木)分析を提供するインクリメンタル解析ライブラリです。セマンティックなコード理解、関数シグネチャの抽出、アーキテクチャパターンの特定に使用されます。 |
| セッション・ツール使用トラッカー | セッションの意図、ツールの実行、ADR の登録をプロジェクト単位で追跡し、JSON スナップショットを対象にキーワードスコア付きの検索を行います。ワークフローの継続性とツール使用の証拠をサポートします。グラフデータベースではありません。 |
| スマートコードリンク | キーワード抽出と ripgrep 検索を使用して、ADR やアーキテクチャ上の決定に関連するコードファイルを検出します。 |
| ADR Aggregator | チーム間で ADR のコンテキストを同期・共有するための任意の SaaS 統合です(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
ネットワーク要件
- YAML と TypeScript 用のインクリメンタルコードパーサーであるネイティブモジュールをコンパイルするため、
npm install中はインターネット接続が必要です(tree-sitter) - 企業プロキシの背後にいる場合は、
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
注記: ソースからインストールする場合、
binのエントリーポイントが./dist/src/index.jsを参照しているため、サーバーを実行する前にnpm run buildが必要です。
📖 詳細なインストールガイド → | 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 モードで動作します — ツールが返すオーケストレーション指示を使って、ホストのLLM(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 Servers(または .vscode/cline_mcp_settings.json) |
| VS Code (native MCP) | ワークスペースのルートにある .vscode/mcp.json |
| Cursor | Cursor の設定 → MCP → サーバーを追加 |
📖 VS Code 統合ガイド → — Cline、Continue、VS Code ネイティブ MCP のステップごとのセットアップと設定例をご覧いただけます。
任意:OpenRouter フルモード(レガシー)
サーバー自身にAI呼び出しを行わせる場合(ホストLLMを経由しない場合)は、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は、既存のホストLLMコンテキストを使って同等の結果を生成します。
任意: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"
}
}
}
}
APIキーはadraggregator.comで取得してください。
実行モード
| CE-MCP(デフォルト) | Full Mode(レガシー) | Prompt-Only | |
|---|---|---|---|
| API キーが必要ですか? | いいえ | はい(OPENROUTER_API_KEY) | いいえ |
| 返される内容 | ホスト LLM が実行するオーケストレーション指示 | サーバー側の AI 分析結果 | 任意の AI チャットに貼り付けられるプロンプト |
| 設定方法 | デフォルト(環境変数は不要) | EXECUTION_MODE=full | EXECUTION_MODE=prompt-only |
| 最適な用途 | すべてのユーザー — 推奨 | 専用の API 予算を使用するレガシーなワークフロー | オフラインでの探索 |
| 利用可能なツール | 注釈付き MCP メタデータを備えた全 63 個のツール | 全 63 個のツール | 分析プロンプト、テンプレート、ローカルファイル操作、ADR の検出 |
CE-MCP 指示とは何ですか? ツールを呼び出すと、分析対象、収集するデータ、結果のフォーマット方法をホスト LLM に伝える、構造化されたオーケストレーション指示が返されます。ホスト LLM(Claude Desktop の Claude や Cursor の GPT など)が、既存のコンテキストウィンドウを使って指示を実行します。これにより、追加の API コストがゼロになり、LLM が会話のコンテキストをすでに把握しているため、より良い結果が得られます。
🚀 使用例
自然な言葉で MCP クライアントに依頼するだけです。コードは必要ありません。
「この React プロジェクトのアーキテクチャを分析し、暗黙的な決定があれば ADR を提案してください」
「PRD.md ファイルから ADR を生成し、実装タスクをまとめた todo.md を作成してください」
「このコードベースにセキュリティ上の問題がないか確認し、マスキングに関する推奨事項を提示してください」
サーバーは、ホスト LLM がコンテキスト内で実行する構造化された分析結果とオーケストレーション指示を返します。
プログラムによる利用(上級者向け)
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
}
);
お試しください: このリポジトリには、ADR とソースコードの例を含む
sample-project/ディレクトリがあります。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 - 信頼度スコア付きでアーキテクチャに関する質問に回答
🤖 自律型エージェント - 継続的な分析とルールの適用
🏢 エンタープライズチーム - ポートフォリオ分析と移行計画
🛠️ 技術スタック
ランタイム: Node.js 20+ • 言語: TypeScript • フレームワーク: MCP SDK • テスト: Vitest(ステートメントカバレッジ約49%、下限を適用) 検索: ripgrep(高速な再帰テキスト検索)+ fast-glob(ファイル照合) • AI 統合: CE-MCP オーケストレーションディレクティブ(ホスト LLM) • コード解析: tree-sitter(インクリメンタルコードパーサー)+スマートコードリンク
📁 プロジェクト構成
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 の strict モード • 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 モードでは想定される動作です。ホスト LLM がディレクティブを実行します。サーバー側で実行するには、
EXECUTION_MODE=fullとOPENROUTER_API_KEYを設定してください - モジュールが見つからない:
npm install && npm run buildを実行してください - アクセスが拒否された: ファイル権限とプロジェクトパスを確認してください
🔒 セキュリティとパフォーマンス
セキュリティ: シークレットの自動検出 • コンテンツのマスキング • ローカル処理 • ゼロトラスト
パフォーマンス: マルチレベルキャッシュ • インクリメンタル分析 • 並列処理 • メモリ最適化
📖 セキュリティガイド → | パフォーマンス →
🔐 セキュリティ脆弱性の報告
セキュリティ上の問題を見つけましたか?責任ある情報開示の手順について、セキュリティポリシーをお読みください。セキュリティ脆弱性について、公開の Issue を作成しないでください。
🤝 コントリビュート
コントリビュートを歓迎します!バグの修正、機能の追加、ドキュメントの改善など、皆さんのご協力に感謝します。
🌟 コントリビューター向けクイックスタート
- リポジトリをフォークします
- フォークをクローンします:
git clone https://github.com/YOUR_USERNAME/mcp-adr-analysis-server.git - ブランチを作成します:
git checkout -b feature/your-feature-name - テストを追加して変更を加えます
- テストします:
npm test(カバレッジの下限を下回らないようにしてください) - プルリクエストを送信します
🗺️ ロードマップ
作業はGitHub のマイルストーンで追跡しており、マイルストーンへの追加によって Issue が採用済みとしてマークされます。
アーキテクチャの方針はdocs/adrs/に、リリースの頻度は
RELEASES.mdに記載されています。
👶 初めてコントリビュートしますか?
最初の Issue をお探しですか?good first issuesをご覧ください。初心者に取り組みやすく、始めるのに最適なタスクです!
オープンソースは初めてですか?コントリビューションガイドでは、手順を一つずつ詳しく説明しています。
📝 Issue の報告
バグの報告や機能のリクエストには、Issue テンプレートを使用してください。テンプレートを使うと、問題をより迅速に把握して解決できます。
基準: TypeScript strict • 適用されるカバレッジ下限 • ESLint • セキュリティ検証 • MCP 準拠
🔗 リソース
公式: MCP 仕様 • MCP SDK
コミュニティ: MCP Registry • Discord
プロジェクト: ADR • 進捗状況 • 公開ガイド
📄 ライセンス
MIT ライセンスの詳細については、LICENSEファイルをご覧ください。
🙏 謝辞
- Model Context Protocol を作成した Anthropic
- アイデアとベストプラクティスを提供してくれた MCP コミュニティ
- このプロジェクトの改善に協力してくださる コントリビューターの皆さん
AI によるアーキテクチャ分析のため、Tosin Akinosho が ❤️ を込めて開発
CE-MCP オーケストレーションディレクティブを通じて、ドリフト検出、コンテンツの安全性、意思決定の記憶機能を備えた AI アシスタントを実現します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。