AIコーディングツールは便利ですが、実はファイルシステムレベルでしかコードを理解していないという根本的な問題があります。grepベースの検索では、メソッド名と変数名、コメント内の文字列を区別できません。この問題を解決するために、Visual StudioのコンパイラエンジンRoslynをMCP(Model Context Protocol)経由で公開する「VS-MCP」という拡張機能が登場しました。Claude CodeをはじめとするMCP対応クライアントから、C#コンパイラの持つセマンティック解析能力を直接利用できるようになります。
この記事のポイント
- 現在のAIコーディングツールはgrepベースの検索しかできず、シンボルの意味的な区別ができない
- VS-MCPはRoslynのセマンティック解析をMCPツールとして公開し、20種類のツールを提供する
- Claude Code、Codex CLI、Gemini CLIなど、MCP対応クライアントならどれでも利用可能
現在のAIコーディングツールが抱える問題
すべてのAIコーディングツールは、ファイルシステムレベルで動作しています。ファイルを読み込み、grepを実行し、テキストを解析する——それが現状です。
例えば「ProcessDocumentの使用箇所をすべて見つけて」と依頼すると、AIはgrep -rn "ProcessDocument" . --include="*.cs"のようなコマンドを実行します。その結果には、実際のメソッド定義だけでなく、ProcessDocumentAsync(別のメソッド)、ログメッセージ内の文字列リテラル、コメント内の言及、processDocumentResultのような変数名、XMLドキュメント参照なども含まれてしまいます。
このような不正確な検索結果に基づいてリネーム(名前変更)を行ったらどうなるか——想像するだけで恐ろしいですね。
一方、Visual StudioはRoslyn(C#コンパイラ)を通じて、ProcessDocumentがどこで定義されているか、どこで呼び出しされているか(それ以外は含まない)、どのインターフェースが宣言しているか、どのクラスがオーバーライドしているか、そして何が「それではない」か(ProcessDocumentAsyncは別のシンボル)を正確に把握しています。
VS-MCPが提供する20のツール
VS-MCPはVisual Studioの拡張機能で、Roslynのセマンティック解析をMCPツールとして公開します。Claude Code、Claude Desktop、Codex CLI、Gemini CLI、OpenCode、Aider、Cline、Windsurfなど、MCP互換のクライアントであればどれでも利用できます。
ナビゲーション系ツール(セマンティック検索)
FindSymbols は、テキストではなくシンボルとして名前を検索します。「WhisperFactoryを探して」と依頼すると、クラスであること、名前空間、ファイル名、行番号まで正確に1つの結果を返します。
FindSymbolDefinition は、Visual StudioのF12キー(定義へ移動)と同等の機能をセマンティックに提供します。インターフェースやクラスの定義箇所を正確に特定できます。
FindSymbolUsages は、コンパイラが検証したすべての参照箇所を返します。宣言、実装、呼び出し箇所を区別して表示でき、grepのように無関係な結果が混ざることはありません。
コード解析・リファクタリング系ツール
記事では20種類のツールが提供されると述べられています。ナビゲーション以外にも、コードの構造解析、型情報の取得、リファクタリング支援など、Roslynのコンパイラインテリジェンスを活用した多彩なツールが含まれています。これにより、AIコーディングツールがIDEレベルのコード理解を持てるようになります。
なぜMCPが重要なのか
MCP(Model Context Protocol)はAnthropicが策定したプロトコルで、AIモデルと外部ツールを標準化された方法で接続する仕組みです。VS-MCPがこのプロトコルを採用したことで、特定のAIツールに依存せず、MCP対応クライアントであればどれでもRoslynの能力を利用できます。
これは単なるコード検索の改善にとどまりません。AIがコードの意味を理解した上でリファクタリングや修正を行えるようになるということです。grepベースの「テキストマッチング」から、コンパイラベースの「セマンティック理解」への大きなパラダイムシフトと言えます。
知っておくと便利なTips
- VS-MCPはVisual Studio Marketplaceからインストール可能(拡張機能名:VS-MCP、作者:Ladislav Sopko)
- C#プロジェクトだけでなく、Roslynが解析できる.NET系言語全般に対応
- Claude Codeユーザーは、MCPサーバーとして設定するだけですぐに利用開始できる
- セマンティック検索は大規模なソリューション(多数のプロジェクト・ファイルを含む)ほど威力を発揮する
まとめ
VS-MCPは、AIコーディングツールの根本的な弱点——コードをテキストとしてしか理解できない——を解決する画期的なアプローチです。Visual StudioのRoslynコンパイラが持つセマンティック解析能力をMCP経由で公開することで、Claude Codeなどのツールが「シンボルとしてのコード」を理解できるようになります。特にC#/.NETの大規模プロジェクトでリファクタリングや参照検索を頻繁に行う開発者にとって、非常に価値のある拡張機能と言えるでしょう。AIツールとIDEの融合という方向性は、今後のソフトウェア開発のあり方を大きく変えていく可能性を秘めています。
📎 元記事: https://dev.to/ladislav_sopko_0ics/what-if-your-ai-had-visual-studios-intellisense-40e7


コメント