概要

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 を使用するための設定

  1. Eclipse で Chat ウィンドウに移動し、コンボ ボックスで [Agent] モードを選択します。
  2. [Configure Tools...] ボタンをクリックします。
  3. [GitHub Copilot/MCP] ウィンドウの [MCP Servers] フィールドで新規 Server Configuration を作成します。
    1. [Server ID] を指定します。
    2. サーバー タイプとして [stdio] を指定します。
    3. サーバー コマンドとして MCP サーバーの起動プログラムへのパスを指定します。<INSTALL_DIR>/integration/mcp/cpptestmcp.exe
  4. [保存] をクリックします。
  5. MCP Server ツールが追加され、ツール選択肢に表示されます。使用するツールを有効または無効にできます。

Visual Studio IDE で Copilot Chat とともに MCP Server を使用するための設定

  1. Visual Studio で Chat ウィンドウに移動し、ツール選択画面のプラス (+) ボタンをクリックします。
  2. Configure MCP Server ウィンドウで以下を設定します。
    1. [Server ID] を指定します。
    2. stdio サーバー タイプを選択します。
    3. MCP サーバーの起動コマンドを指定します。<INSTALL_DIR>/integration/mcp/cpptestmcp.exe
  3. [保存] をクリックします。
  4. MCP Server ツールが追加され、ツール選択肢に表示されます。使用するツールを有効または無効にできます。

VS Code IDE で Copilot Chat とともに MCP Server を使用するための設定

  1. VS Code で Command Palette に移動し、[MCP: Add Server...] を選択します。
  2. [Command (stdio)] を選択し、Enter キーを押して確定します。
  3. MCP サーバーの起動プログラムを入力します。

    <INSTALL_DIR>/integration/mcp/cpptestmcp.exe

  4. [Server ID] を指定します。
  5. 設定を保存する場所を選択します。

    • User Settings - すべてのワークスペースで使用可能

    • Workspace settings - 該当ワークスペースで使用可能

    MCP 設定を含む JSON ファイルが作成されます。  

  6. 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 ツールが確実に呼び出されるようにするには、カスタム インストラクションを追加します。

  1. Copilot Chat ウィンドウでユーザーのプロファイルの画像をクリックし、[Personal instructions] をクリックします。

  2. テキスト ボックスに自然言語のインストラクションを追加します。例:

    違反を含むレポートを解析する際、get_violations_from_report_file ツールを使用してレポートをレビューし、指摘事項に基づいて洞察や提案を提供する。 get_rule_documentation ツールを使用して違反に関する情報、違反の重要度、修正手順を取得する。
    上記の例に挙げたインストラクションを使用すると、Copilot は(自身でファイルを解析するのではなく) get_violations_from_report_file ツールを使用して report.xml から違反を抽出し、get_rule_documentation を使用してドキュメントの詳細を取得します。
  3. [保存] をクリックします。

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 ツールを使用します。



  • No labels