はじめに

Parasoft MCP Client は、SOAtest に Model Context Protocol (MCP) のサポートを追加します。MCP を介して送られるメッセージを設定、送信、検証するときに、SOAtest の豊かなインターフェイスをフルに活用できます。この拡張機能は MCP サーバーをテストするために使用でき、Server-Sent Events (SSE) を使用して HTTP 経由で送信されるメッセージをサポートします。

前提条件

インストール手順

このツールは UI またはコマンドラインからインストールできます。

UI からのインストール

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
  2. [JAR の追加] をクリックし、com.parasoft.soavirt.tool.mcpclient-<version>.jar ファイルを選択します。
  3. [適用] をクリックします。
  4. SOAtest/Virtualize を再起動します。

コマンドラインからのインストール

設定プロパティ ファイルの system.properties.classpath プロパティに com.parasoft.soavirt.tool.mcpclient-<version>.jar ファイルを追加します。例:

system.properties.classpath=<PATH_TO_JAR>/com.parasoft.soavirt.tool.mcpclient-<version>.jar

使用方法

MCP Client は、SOAtest の [テストの追加] ツールからスタンドアロンツールとして追加できます。また、Virtualize のセットアップ アクション ツールとして追加することも可能です。クライアントを実行する前に、接続とリクエストを構成する必要があります。MCP Client をスイートに追加すると、トラフィック出力としてトラフィック ビューアーを追加したり、レスポンス出力として任意の JSON ツールを追加したりできます。

設定

ツール設定では以下の設定を行うことができます。

接続の設定

Base URL

MCP サーバーのベース URL を指定します。

これは新しい接続を作成するために必要です。初期接続を作成したら、接続ID を使ってどの接続を使用するかを制御できます。

SSE EndpointSSE エンドポイント パスを指定します。デフォルト値は /sse です。
Keep Alive

テスト実行後に接続を開いたままにするか閉じるかを指定するには、true または false を指定します。デフォルトは false です。

MCP Client は、複数のアクティブな接続の使用を許可します。すでにオープンしている接続の ID に接続 ID が一致する場合、その接続は再利用されます。クローズした接続の ID 、あるいは接続のオープンに一度も使用されていない接続の ID に接続 ID が一致する場合、新しい接続が作成されます。

[Keep Alive] が true の場合、SOAtest はテスト実行の終了時に接続をクローズしません。[Keep Alive] が false の場合、SOAtest はテスト実行の終了時に接続をクローズします。ビルトイン トランスポートと異なり、このカスタム ツールの場合、実行の完了時にオープンしている接続のクリーンアップは行われません。そのため、接続の最後のテストについて [Keep Alive] を false に設定するべきです。有効化しない場合、接続はオープンのままになります。

たとえば、以下のシナリオでは、テスト実行が終わった後、両方の接続がオープンのままになります。

  • Connection A (Keep Alive: true)
  • Connection B (Keep Alive: true)
  • Connection A (Keep Alive: true)
  • Connection B (Keep Alive: true)

これを修正するには、特定の接続を使用する最後のテストに対して [Keep Alive] を false に設定します。

  • Connection A (Keep Alive: true)
  • Connection B (Keep Alive: true)
  • Connection A (Keep Alive: false)
  • Connection B (Keep Alive: false)
Request Timeoutリクエストがタイムアウトする前にサーバーの応答を待機する最大秒数を定義します。デフォルトは 20 です。
Connection ID

複数の接続をテストしている場合、接続 ID を指定します。接続 ID には任意の文字列を使用できます。

すでにオープンしている接続を参照する接続 ID と接続エンドポイント (ベース URL と SSE エンドポイントの組み合わせ) を指定した場合、接続はすでにオープンしているため、接続エンドポイントは無視されます。

テスト スイートで1 つの接続だけを使用している場合、接続 ID を指定する必要はありません。SOAtest は接続 ID にデフォルト値 (<default>) を使用します。

ただし、同じシナリオで複数の接続をオープンしてメッセージを送受信したい場合、接続ごとに固有の接続 ID を指定する必要があります。

デフォルトは <default> です。

リクエストの設定

Method

呼び出すメソッドの名前。以下のメソッドがサポートされています。

  • tools/list
  • tools/call
  • resources/list
  • resources/read
  • prompts/list
  • prompts/get
Parameters: nameツールまたはプロンプトの名前 (tools/call または prompts/get メソッドで使用)。
Parameters: cursor前回のリスト レスポンスから取得されたオプションのページ区切りカーソル (tools/list、resources/list、または prompts/list メソッドで使用)。
Parameters: uriリソースの URI (resources/read メソッドで使用)。
Parameters: argument 1 to Parameters: argument 10

これらのフィールドは、リクエストの一部として送信される引数を設定します。

最大 10 個の引数を設定できます。引数は name=value 形式で設定します。(値は JSON 構造にすることができます。)例えば、message="hello" および entities=[{"name":"John_Smith","entityType":"person","observations":["Speaks fluent Spanish"]}]

Logging 設定

Log Level

コンソールと[モニターの開始] ビューに表示する情報の量を指定します。以下のレベルを指定できます。

  • 1: エラー
  • 2: 警告
  • 3: 通知
  • 4: デバッグ

デフォルトは 2 です。

サード パーティのコンテンツ

この拡張機能は、以下のサード パーティのコンテンツを含みます。

その他のライセンスの詳細については、拡張機能の licenses フォルダーを参照してください。