roslyn-mcp について
roslyn-mcp は、ソリューションやプロジェクトを対象に、C# のセマンティック解析、コードナビゲーション、検証、リファクタリングを行うローカル優先の MCP サーバーです。開発者やコーディングエージェント向けで、複数ファイルの変更を適用前に確認できるプレビュー方式を備えています。
主な機能
- 01C# ソリューションとプロジェクトの意味解析
- 02コードナビゲーションとワークスペース検証
- 03適用前のリファクタリングプレビュー
- 04ビルドとテストのワークフロー支援
- 05安定ツールの選択的な登録
活用シーン
- 01C# ソリューション内のシンボル把握
- 02コード変更前の診断確認
- 03複数ファイルのリファクタリングを適用前に確認
MCP 対応
stdio で動作する MCP サーバーとして、C# ワークスペース操作用のツール、リソース、プロンプトを提供します。クライアントはカタログとリソーステンプレートで利用可能な機能を確認できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Roslyn ベースの MCP サーバー
実際の .sln/.slnx/.csproj ワークスペースで、C# のセマンティック解析、ナビゲーション、検証、リファクタリングを行う、ローカル優先の MCP(Model Context Protocol)サーバーです。Roslyn と MSBuildWorkspace を使用し、stdio 経由で動作するため、Visual Studio は必要ありません。リファクタリングツールは、プレビューしてから適用する方式を採用しています。プレビューでは有効期間の短いトークンが返されるため、エージェントはワークスペースを変更する前に、複数ファイルの編集をドライランできます。.NET グローバルツール、Claude Code プラグイン、ソースからビルドできる stdio ホストとして提供されます。
正しいパッケージ ID:
Darylmcd.RoslynMcp· CLI:roslynmcp· プラグイン:roslyn-mcp@roslyn-mcp-marketplace
クイックスタート
前提条件: .NET 10 SDK。
オプション A — グローバルツールとしてインストール
dotnet tool install -g Darylmcd.RoslynMcp
後で更新するには、dotnet tool update -g Darylmcd.RoslynMcp を実行します。
初回使用前にファイルシステムの境界を設定してください。 グローバルツールに含まれるのはバイナリのみで、設定ファイルはありません。境界が未設定の場合はフェイルクローズとなり、パスを受け取るすべてのツールが入力を拒否します。 MCP クライアントの設定(たとえば、プロジェクトスコープの
.mcp.json)でROSLYNMCP_SANCTIONED_ROOTSを設定してください。{ "mcpServers": { "roslyn": { "type": "stdio", "command": "roslynmcp", "env": { "ROSLYNMCP_SANCTIONED_ROOTS": "." } } } }
.はサーバープロセスの作業ディレクトリを基準に解決されます。このディレクトリは MCP クライアントが選択します。境界を固定するには絶対パスを使用してください。セットアップを参照してください。
オプション B — dnx によるインストール不要の利用(.NET 10)
dnx はグローバルシムをインストールせず、必要に応じて NuGet からパッケージを解決します。dnx Darylmcd.RoslynMcp を実行してください。再現可能なセットアップにするには、Darylmcd.RoslynMcp@<version> でバージョンを固定します。上記と同じ ROSLYNMCP_SANCTIONED_ROOTS の境界を設定してください。コピーして使える設定は docs/mcp-json-examples/ にあり、詳細はセットアップを参照してください。
オプション C — Claude Code プラグイン
/plugin marketplace add darylmcd/Roslyn-Backed-MCP
/plugin install roslyn-mcp@roslyn-mcp-marketplace
このプラグインには 32 個のスキルと安全性フックがバンドルされており、dnx を通じてリリースに対応する正確な Darylmcd.RoslynMcp パッケージを起動します。グローバルな roslynmcp シムは必要ありません。初回起動時には、パッケージがすでにキャッシュされていない限り、NuGet へのアクセスが必要です。プラグインにバンドルされた "." の境界はセッションの作業ディレクトリを基準に解決されるため、解析対象のリポジトリ内で Claude Code を起動してください。その他の対応するオーバーライドについては、セットアップを参照してください。
クライアントごとの設定
JSON の形式は MCP クライアント間で共通です(VS Code ではトップレベルの "servers" キーを使用します)。異なるのは設定ファイルのパスだけです。クライアントごとのパスとヘルスチェック用プロンプトについては互換性マトリックスを、コピーしてすぐ使えるスニペットについては docs/mcp-json-examples/ を参照してください。
ライブサーフェス
現在のリリースでは、175 個のツール(安定版 113 個/実験版 62 個)、14 個のリソース(安定版 9 個/実験版 5 個)、20 個のプロンプト(すべて実験版)が公開されています。
正式なライブカタログとサポート対象の区分は、実行中のサーバーを参照してください。
server_infoで人が読みやすい概要を確認できますroslyn://server/catalogで機械可読な仕様を確認できますroslyn://server/resource-templatesでリソース URI テンプレートを確認できます
安定版のファミリーには、ワークスペース/セッション管理、セマンティックナビゲーション、診断、ビルド/テスト用ヘルパー、リファクタリングのプレビュー/適用フローが含まれます。実験版のファミリーには、より幅広いプロジェクト変更、スキャフォールディング、オーケストレーション、直接的なテキスト編集用ヘルパー、プロンプトが含まれます。ツール定義を先行して読み込むクライアント向けに、クローズドな安定版ワークフロー(現在、呼び出し可能なツールは 94 個)のみを登録するには、ROSLYNMCP_TOOL_TIERS=stable を設定してください。
設定とセキュリティ
すべての運用設定は、コンパイル時に組み込まれたデフォルト値を持つ任意の ROSLYNMCP_* 環境変数です。詳しいリファレンスはdocs/setup.mdにあります。例外として、ROSLYNMCP_SANCTIONED_ROOTS は設定が必須です(上記を参照)。
ソリューションまたはプロジェクトを読み込むと、MSBuild の評価が実行されます。信頼できるリポジトリのみを読み込むか、サーバーをサンドボックス内で実行してください。ファイルシステムの境界はサーバー側で管理されます。クライアントの MCP Roots によって、この境界を狭めることはできますが、広げることはできません。docs/setup.mdとSECURITY.mdで、脆弱性情報の開示ポリシーを確認してください。2.x からアップグレードしますか? 先に移行に関する注意事項をお読みください。
ドキュメント
- docs/README.md —
docs/以下のすべての項目のインデックス - docs/setup.md — パッケージ化、インストール方法、設定、セキュリティモデル、プラグインのインストール、CI アーティファクト
- docs/compatibility.md — MCP クライアントの互換性マトリックスとヘルスチェック
- docs/stdio-client-integration.md — カスタム MCP クライアントとの統合
- docs/product-contract.md — 安定版と実験版のサーフェス契約
- docs/release-policy.md — リリースのゲートと互換性ルール
- CONTRIBUTING.md — ソースからのビルド、テスト、サーフェステストで見つかった問題の報告
- AGENTS.md — このリポジトリで作業する AI エージェント向けのブートストラップエントリーポイント
- ai_docs/README.md — AI ドキュメントの正式なルーティングインデックス
サポート
- バグと機能リクエスト:GitHub Issues
- 貢献ガイドライン:CONTRIBUTING.md
- セキュリティに関する報告:SECURITY.md
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。