ProjGraph MCP Server について
ProjGraph は、ソリューションのアーキテクチャ、データベーススキーマ、クラス構造を分析する .NET ツールセットです。コマンドライン分析に加え、AI アシスタントがコードベースを調べるための MCP サーバーを提供します。
主な機能
- 01プロジェクト依存関係の可視化
- 02EF Core の ER 図生成
- 03クラス階層図の作成
- 04ソリューション指標とホットスポットの表示
- 05ASCII ツリーまたは Mermaid 図の出力
活用シーン
- 01AI アシスタントでソリューション構成を調査
- 02EF Core のデータベーススキーマを文書化
- 03クラスの継承と依存関係を確認
- 04プロジェクトのホットスポットと依存の深さを把握
MCP 対応
MCP サーバーは ProjGraph の分析機能を MCP クライアントに公開し、AI アシスタントによるソリューション依存関係の調査、クラス図の生成、エンティティ関係の確認を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ProjGraph は、プロジェクトの依存関係、データベーススキーマ、クラス階層を可視化する .NET ツールエコシステムです。 手動分析用の CLI と、コードベースのアーキテクチャを AI の支援で探索するための MCP サーバーを提供します。
🚀 クイックスタート
CLI ツール
コマンドラインツールをインストールして使用すると、すぐに可視化できます。
# Install
dotnet tool install -g ProjGraph.Cli
# Visualize project dependencies
projgraph visualize ./MySolution.slnx
# Generate Entity Relationship Diagram (from DbContext or ModelSnapshot)
projgraph erd ./Data/MyDbContext.cs
# Generate Class Diagram for a class and its hierarchy
projgraph classdiagram ./Models/User.cs
# Compute key solution metrics (project counts, depth, hotspots)
projgraph stats ./MySolution.slnx
MCP サーバー
以下の設定で MCP クライアント(GitHub Copilot、Claude など)を構成します。
最新のバージョン番号は NuGet で確認してください。
{
"servers": {
"ProjGraph.Mcp": {
"type": "stdio",
"command": "dnx",
"args": ["[email protected]", "--yes"]
}
}
}
✨ 主な機能
- 📊 複数の出力形式:ASCII ツリーと Mermaid.js ダイアグラム
- 🗄️ エンティティ関係図:EF Core の
DbContextまたはModelSnapshotファイルから ERD を生成 - 🏗️ クラス階層:継承関係と依存関係を含むクラス図を可視化
- 📈 ソリューションのメトリクス:プロジェクト数、型の内訳、依存関係の深さ、ホットスポットの検出
- 📁 最新の .NET に対応:
.slnx、.sln、.csprojファイルを完全サポート - 🤖 AI 連携:GitHub Copilot、Claude、その他の AI アシスタント向け MCP サーバー
- ⚡ 高速で信頼性の高い動作:効率的な解析とグラフアルゴリズム
🛠️ 開発
前提条件
ローカルでの実行
# CLI
dotnet run --project src/ProjGraph.Cli -- visualize ./ProjGraph.slnx
# Stats
dotnet run --project src/ProjGraph.Cli -- stats ./ProjGraph.slnx
# MCP Server
dotnet run --project src/ProjGraph.Mcp
📝 使用例
プロジェクトの依存関係を分析する
# Mermaid format (default)
projgraph visualize ./MySolution.sln
# ASCII tree format
projgraph visualize ./MySolution.sln --format tree
# Mermaid format for documentation
projgraph visualize ./MySolution.slnx --format mermaid --output docs/dependencies.mmd
データベース図を生成する
# Generate ERD from DbContext
projgraph erd ./Data/MyDbContext.cs
# Generate ERD from ModelSnapshot (leveraging migrations)
projgraph erd ./Migrations/MyDbContextModelSnapshot.cs
# Output to Markdown for documentation
projgraph erd ./Data/MyDbContext.cs --output docs/database-schema.md
# Control how EF Core owned types (OwnsOne/OwnsMany) are rendered:
# 'mirror' (default) inlines a table-split owned type onto its owner as EF names it;
# 'classic' gives every owned type its own entity box regardless of table mapping
projgraph erd ./Data/MyDbContext.cs --owned-mode classic
クラス階層を可視化する
# Generate diagram for a class and its inheritance and dependencies
projgraph classdiagram ./Models/Admin.cs -i -d
# Control discovery depth (default: 1)
projgraph classdiagram ./Models/Admin.cs -i -d --depth 5
ソリューションのメトリクスを分析する
# Display project counts, depth stats, and hotspot projects
projgraph stats ./MySolution.slnx
# Show top 10 most-referenced projects
projgraph stats ./MySolution.slnx --top 10
AI アシスタントで使用する
MCP サーバーを構成したら、次のようにします。
You: "Analyze the dependencies in my solution"
AI: [Generate the architecture diagram]
You: "Generate a class diagram for the User class"
AI: [Generates the class hierarchy]
You: "Show me the entity relationships in my DbContext"
AI: [Generates the database schema]
You: "Give me a health summary of my solution"
AI: [Returns project counts, depth stats, and hotspot projects]
🔗 リンク
- CLI パッケージ:NuGet の ProjGraph.Cli
- MCP パッケージ:NuGet の ProjGraph.Mcp
📚 サンプルとショーケース
サンプルショーケースで、ProjGraph の機能を示す実例をご覧ください。 サンプルには次のものがあります。
- E コマース ERD:継承と階層を含む複雑なデータベースモデル。
- デザインパターン:パターンの実装を示す詳細なクラス図。
- モジュラーアーキテクチャ:最新のソリューションにおけるプロジェクトの依存関係を可視化。
- シンプルな階層:初めて使う方向けの分かりやすい入門サンプル。
- ソリューションのメトリクス:プロジェクト数、深さ、ホットスポットを含むアーキテクチャの健全性サマリー。
📚 ドキュメント
- アーキテクチャの概要 - ソリューションの構成と設計上の決定
- コントリビューションガイド - プロジェクトへの貢献方法
- セキュリティポリシー - セキュリティに関する報告ガイドライン
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。