Roslyn Workbench MCP について
Roslyn Workbench MCP は、C# 開発者やコーディングエージェント向けのローカル MCP サーバーで、コンパイラーを意識した解析と Roslyn による修正・リファクタリングを提供します。変更はレビュー用トランザクションにステージされ、コミットするまでソースファイルには反映されません。
主な機能
- 01Roslyn Code Actions の検出と適用
- 02シンボル移動と参照の追跡
- 03診断とコード構造の確認
- 04プロジェクト依存関係と変更影響の分析
- 05トランザクションのプレビュー、コミット、ロールバック
活用シーン
- 01コンパイラーが提案する C# 修正の適用
- 02呼び出し元や実装の追跡
- 03書き込み前のリファクタリング案の確認
- 04ソリューション全体に及ぶ変更の評価
MCP 対応
stdio 経由でローカル実行し、MCP クライアントにワークスペースのナビゲーション、解析、Code Actions、管理機能を提供します。利用できる変更・トランザクションツールは運用モードによって異なります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Roslyn Workbench MCP
Visual Studio の C# ワークフローを、エージェントでも利用できるように
Visual Studio 2026 でお使いの C# の修正とリファクタリングを、AI コーディングエージェントでも利用できます。
Roslyn Workbench MCP は、ローカルの MCP サーバーを通じて、Roslyn のコードアクションとコンパイラーを活用した C# 分析へのアクセスをエージェントに提供します。エージェントは、適用可能な修正とリファクタリングを検出し、コンパイラーが生成した変更を適用して、ソースファイルを書き込む前に結果を表示できます。Visual Studio の C# ツールを支えるものと同じ .NET Compiler Platform を使用しています。
Roslyn のコードアクションを活用する
230 を超える、組み込みの Roslyn コード修正プロバイダーとリファクタリングプロバイダーを、検出とステージングを行う単一のワークフローから利用できます。エージェントに次のように依頼できます。
- メソッドの抽出、パラメーターの導入、一時変数のインライン化、またはフィールドのカプセル化。
- ループを LINQ に変換する、または適用可能な Roslyn のリファクタリングでコードを最新化する。
- 現在のドキュメントにあるコンパイラーとアナライザーの診断に対する修正を検出する。
- ドキュメント、プロジェクト、またはソリューション全体で、サポートされている Fix All 操作を準備する。
- 選択した変更をステージングし、トランザクションの差分を確認してから、コミットまたはロールバックする。
これらは Roslyn が生成する変更であり、エージェントがテキスト置換でリファクタリングを模倣するための指示ではなく、実際のコードとプロジェクト構成に基づいて選択されます。検出、Fix All、ステージングについては、コードアクションガイドをご覧ください。
プロバイダー数は、個々のアクションの数ではありません。プロバイダーが複数の選択肢を提示する場合があり、適用可能かどうかはコード、診断、プロジェクト構成によって異なります。対話型のオプションダイアログ、パッケージのインストール、またはサポートされていないプロジェクトシステムの変更を必要とするアクションは対象外です。Visual Studio の機能を完全に再現するものではありません。
コードを変更する前に理解する
- コンパイラーのセマンティクスを使用して、定義への移動、参照と実装の検索、呼び出し元と呼び出し先の追跡を行います。
- 永続的な複数ワークスペースセッションをまたいで、型階層、プロジェクトの依存関係、公開 API の範囲を調べます。
- 診断、非同期の使用状況、null 許容性、制御フローを調べ、変更とテストへの影響を確認します。
- ソリューション全体を会話に読み込まず、エージェントの応答を適切な範囲に保ちます。
組み込みのリファレンスカタログには、ナビゲーション、分析、コードアクション、ワークスペース管理を網羅する57個の MCP ツール定義が含まれています。実際に利用できるツールセットは、運用モード、構成、有効なプラグインによって異なります。3つのコードアクションツールで、プロバイダーごとに MCP ツールを追加することなく、多数の適用可能な修正とリファクタリングを利用できます。
コンパイラーを活用した変更を、確認可能なトランザクションで実施
ソースの変更は、プレビュー、履歴、ロールバック、競合検出、クラッシュ復旧に対応したトランザクションを通じてステージングされます。コードアクションとシンボルの名前変更では同じトランザクション境界を使用するため、明示的にトランザクションをコミットするまでソースファイルへの書き込みは行われません。承認必須モードでは、レビューが変更内容を厳密に特定するレシートに紐付けられます。
サーバーは stdio を介してローカルで動作し、ワークスペースの分析とリファクタリングはお使いのマシン上で実行されます。デフォルトは検査専用モードで、ソースの変更を有効にするかどうかはユーザーが選べます。ビルド、テスト、Git コミットは、通常の開発ワークフローの一部として引き続き行います。
インストール
Roslyn Workbench は NuGet.org で Lantean.Roslyn.Workbench.Mcp .NET ツールとして配布されており、サポート対象の .NET 10 SDK が必要です。実行するリリースのバージョンを正確に指定してください。互換性ポリシーでは、ツール、エラーと継続処理、復旧形式、プラグイン API に関する安定版 1.x の保証を定めています。
恒久的にインストールせずに、特定のパッケージバージョンを実行します。
dnx Lantean.Roslyn.Workbench.Mcp@VERSION --yes -- --version
または、dotnet tool install --global Lantean.Roslyn.Workbench.Mcp --version VERSION を使って、同じパッケージをグローバルツールとしてインストールします。
インストールと MCP クライアントの設定については、ドキュメントサイトをご覧ください。
ローカルの stdio プロセスを起動できる任意の MCP クライアントを設定して、次を実行します。
{
"command": "roslyn-workbench-mcp",
"args": [
"--operational-mode", "inspection-only",
"--state-directory", "/absolute/path/to/roslyn-workbench-state"
]
}
inspection-only は安全なデフォルト設定であり、ソース変更ツールやトランザクションツールは公開しません。クライアントを介したコミット確認には transactional、正確なトランザクションレビューのレシートにひも付けた確認には approval-required、ホストによる確認なしのトランザクションには意図的に autonomous-trusted を選択してください。クライアント側で必要な確認機能については、設定ガイドをご覧ください。
サポート対象の環境
Windows x64、Linux x64、WSL2 x64 がサポートされています。macOS x64 と ARM64 は、ホスト環境での検証が行われるまではベストエフォートでのサポートとなります。Windows ARM64 と Linux ARM64 は現在、サポート対象のリリース環境ではありません。このサーバーはローカル stdio サーバーをサポートする任意の MCP クライアントで使用できます。確認機能を必要とする操作は、クライアントがその機能を提示し、許可するかどうかに依存します。
Roslyn Workbench スキル
オプションのスキルは、エージェントによるワークスペースの選択、セマンティック検査、Code Actions、トランザクション、復旧を支援します。MCP リソースをサポートするクライアントは、インストール済みサーバーから skill://roslyn-workbench/SKILL.md を読み込めます。タスク別の 11 個のリファレンスは、必要なときにのみ読み込まれます。
別途インストールする場合は、開発用スキルバンドルをダウンロードし、インストールガイドに従ってください。インストール済みサーバーに対応するドキュメントを選択すると、利用可能になり次第、リリース固有のバンドルを入手できます。リファレンス、クライアントメタデータ、ロゴを含む roslyn-workbench ディレクトリ全体を、クライアントがサポートするスキルの場所に展開してください。スキルの検出と有効化はクライアントに依存します。スキルによって権限やホストのポリシーが変更されることはありません。
エージェントによるツール選択を改善する
Roslyn Workbench に接続すると、そのツールが利用可能になります。ただし、通常のファイルツールやテキスト検索ツールでもタスクを試行できる場合、MCP クライアントが Roslyn Workbench のツールを自動的に選択しないことがあります。リポジトリ向けの簡潔な指示を追加すると、すべての C# ワークフローで使用を強制せずに、コンパイラー対応ツールが適している場面をエージェントに伝えられます。
次の基本指示を、エージェントが使用するユーザーレベルのガイダンスに追加するか、特定のコードベースにのみ適用する場合はリポジトリのガイダンスに追加してください。
## Roslyn Workbench
When Roslyn Workbench MCP is available, consider using it for C# work that benefits from compiler semantics, including precise symbol navigation, references, diagnostics, code structure, Code Actions, change-impact analysis and transactional source changes. Its semantic tools are particularly useful when symbol identity or compiler interpretation matters, while the repository's normal tools and commands remain suitable for builds, tests, package management, documentation and non-semantic file operations. Transaction previews and structured next actions can help keep source changes safe and easy to review.
ドキュメントサイトでは、Codex、GitHub Copilot、Claude Code、その他の MCP クライアント向けに、ユーザーレベルおよびリポジトリレベルの設定方法を説明しています。ユーザーレベルのガイダンスを使うと、複数のリポジトリで Roslyn Workbench を利用できる場合に指示を繰り返さずに済みます。一方、リポジトリのガイダンスでは、個々のコードベースに合わせた、より具体的な指示を追加できます。
信頼性とトランザクションの安全性
信頼できるワークスペースのみを開いてください。ワークスペースを読み込むと MSBuild のプロジェクトロジックが評価され、その後の操作で、Host プロセスのオペレーティングシステム権限を使ってプロジェクトアナライザーが読み込まれる場合があります。外部プラグインの読み込みはデフォルトで無効になっています。--enable-plugins を指定すると、設定済みのサードパーティ製プラグインを信頼されたインプロセスコードとして読み込むことを明示的に許可します。このコードはサンドボックス化されません。
transactional または autonomous-trusted モードを設定している場合の、一般的な安全なワークフローは次のとおりです。
server-statusを確認し、信頼できるソリューション、ソリューションフィルター、またはプロジェクトをworkspace-openで開きます。- クエリツールを使って、読み込まれたワークスペースを調べます。
workspace-statusを確認してから、transaction-startでトランザクションを開始します。- 変更または Code Action をステージングし、
transaction-previewで内容を確認します。 - レビュー済みのトランザクションをコミットするか、
transaction-rollbackで破棄します。
実行中のインスタンスが公開するツールとスキーマについては、ライブ MCP tools/list レスポンスが正式な情報源です。ドキュメントサイトでは、バージョン管理された詳しいツールリファレンスとエージェントガイドを提供しています。
プラグインと貢献
プラグインの作成者は、別途提供されている Lantean.Roslyn.Workbench.Mcp.Plugins パッケージを参照してください。対応 API とデプロイ構成については、プラグイン作成ガイドをご覧ください。ユーザーは信頼できるプラグインを手動でインストールします。厳選されたプラグインリポジトリはありません。
外部からのプルリクエストを受け付けています。まず変更範囲について相談し、すべての貢献コミットに GitHub が検証できる暗号署名を付与してください。手順については、貢献ポリシーをご覧ください。
サポートとプロジェクトリンク
謝辞
Roslyn Workbench MCP は、.NET Compiler Platformによって実現しています。セマンティック分析とリファクタリング機能を支えるコンパイラツールを構築、保守してくださっている Roslyn チームに感謝します。
オプトイン方式のエラー報告サービスにオープンソースライセンスを提供し、プロジェクトを支援してくださったSentryに感謝します。
Roslyn Workbench MCP はMIT Licenseの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。