概要
C/C++test には MCP (Model Context Protocol) Server 拡張が付属しています。この拡張は、C/C++test と AI エージェントまたは LLM ベースのコーディング アシスタント (GitHub Copilot など) のシームレスな統合を実現します。MCP Server は、Eclipse、Visual Studio、VS Code など、MCP 統合をサポートする任意の LLM 連携の開発環境で使用できます。この拡張を使用すると、AI エージェントが C/C++test と直接やりとりし、コンテキストを意識したガイド、解析、自動化を提供することが可能になります。
この拡張は、AI コーディング アシスタントを使用して以下を実現できます。
- 静的解析ルールの詳細を取得します。
プロジェクトでレポートされた静的解析違反をレビューします。
提供されたコード スニペットまたはファイルに基づいて違反の修正を提案します。
- 特定の問題に対して適切なルールを提案します。
- 製品ユーザー ガイドの情報にアクセスします。
MCP サーバーの起動プログラムは <INSTALL_DIR>/integration/mcp ディレクトリにあります。
Parasoft MCP サーバーは stdio トランスポート プロトコルを排他的に使用します。Parasoft MCP ツールは外部システムまたはサービスにアクセスしません。
次の手順は、さまざまな環境で LLM ベースのエージェントと C/C++test を統合する方法を示しています (例として Copilot を使用)。
Eclipse IDE で Copilot Chat とともに MCP Server を使用するための設定
- Eclipse で Chat ウィンドウに移動し、コンボ ボックスで [Agent] モードを選択します。
- [Configure Tools...] ボタンをクリックします。
- [GitHub Copilot/MCP] ウィンドウの [MCP Servers] フィールドで新規 Server Configuration を作成します。
- [Server ID] を指定します。
- サーバー タイプとして [stdio] を指定します。
- サーバー コマンドとして MCP サーバーの起動プログラムへのパスを指定します。
<INSTALL_DIR>/integration/mcp/cpptestmcp.exe
- [保存] をクリックします。
- MCP Server ツールが追加され、ツール選択肢に表示されます。使用するツールを有効または無効にできます。
Visual Studio IDE で Copilot Chat とともに MCP Server を使用するための設定
- Visual Studio で Chat ウィンドウに移動し、ツール選択画面のプラス (
+) ボタンをクリックします。 - Configure MCP Server ウィンドウで以下を設定します。
- [Server ID] を指定します。
- stdio サーバー タイプを選択します。
- MCP サーバーの起動コマンドを指定します。
<INSTALL_DIR>/integration/mcp/cpptestmcp.exe
- [保存] をクリックします。
- MCP Server ツールが追加され、ツール選択肢に表示されます。使用するツールを有効または無効にできます。
VS Code IDE で Copilot Chat とともに MCP Server を使用するための設定
- VS Code で Command Palette に移動し、[MCP: Add Server...] を選択します。
- [Command (stdio)] を選択し、Enter キーを押して確定します。
- MCP サーバーの起動プログラムを入力します。
<INSTALL_DIR>/integration/mcp/cpptestmcp.exe - [Server ID] を指定します。
設定を保存する場所を選択します。
User Settings - すべてのワークスペースで使用可能
Workspace settings - 該当ワークスペースで使用可能
MCP 設定を含む JSON ファイルが作成されます。
- MCP サーバーの JSON 設定ファイルに MCP サーバー エントリが追加されます。
Copilot Chat とともに MCP ツールを使用する
MCP サーバーを設定したら、Copilot Chat で用意された MCP ツールを使用できます。
プロンプト例:
- goo.cpp のすべての重要度-1 の違反をリストして
- 行 10 の違反の修正方法を提案して
- BD-PB-ARRAY ルールを説明して
- 静的解析の違反を抑制する方法は?
プロジェクト構造 (たとえば report.xml ファイルの場所) を明示的に説明したり、より複雑なワークフローを定義するには、インストラクション ファイルの使用を検討してください。
Copilot でのインストラクションの使用
Copilot が Parasoft MCP ツールを呼び出さない場合があります。Parasoft MCP ツールが確実に呼び出されるようにするには、カスタム インストラクションを追加します。
Copilot Chat ウィンドウでユーザーのプロファイルの画像をクリックし、[Personal instructions] をクリックします。
テキスト ボックスに自然言語のインストラクションを追加します。例:
上記の例に挙げたインストラクションを使用すると、Copilot は(自身でファイルを解析するのではなく) get_violations_from_report_file ツールを使用して report.xml から違反を抽出し、get_rule_documentation を使用してドキュメントの詳細を取得します。違反を含むレポートを解析する際、get_violations_from_report_file ツールを使用してレポートをレビューし、指摘事項に基づいて洞察や提案を提供する。 get_rule_documentation ツールを使用して違反に関する情報、違反の重要度、修正手順を取得する。
- [保存] をクリックします。
MCP Server ツール リファレンス
| ツール | 説明 | 注意点 |
|---|---|---|
| get_relevant_rules | ユーザーのクエリーに一致する静的解析ルールを返します。各エントリにはルール ヘッダーおよび対応するルール識別子がカンマで区切られたリストが含まれます。 | |
| get_rule_documentation | 静的解析ルールのドキュメントとともに参考情報として元のドキュメント ファイルへのパスを返します。 | 次のように正確なルール ID を指定する必要があります。 BD-PB-ARRAY |
| get_violations_from_report_file | レポート XML ファイルから違反を抽出し、重要な詳細情報とともに JSON フォーマットで出力します。結果はオプションのルール ID、重要度、ソース ファイル名のフィルターによって絞り込まれます。 | レポート XML ファイルへの絶対パスを指定する必要があります。サーバーはレポート ファイルにローカル アクセスできる必要があります。 |
| search_documentation | ドキュメントを検索し、ユーザーのクエリーに合わせて適切なページを取得します。各ページの内容およびソース URL を返します。静的解析ルールのドキュメントを検索するには、get_rule_documentation または get_relevant_rules ツールを使用します。 |