はじめに
Parasoft MCP Client は、SOAtest に Model Context Protocol (MCP) のサポートを追加します。MCP を介して送られるメッセージを設定、送信、検証するときに、SOAtest の豊かなインターフェイスをフルに活用できます。この拡張機能は MCP サーバーをテストするために使用でき、Server-Sent Events (SSE) を使用して HTTP 経由で送信されるメッセージをサポートします。
前提条件
- プロトコルバージョン 2024-11-05 をサポートし、Server-Sent Events (SSE) トランスポートを使用して HTTP 通信を行う MCP サーバー。
- このツールを使用するには、SOAtest/Virtualize 2024.1 以降が必要です。SOAtest/Virtualize は、Java 17 以降で実行するように構成する必要があります。
インストール手順
このツールは UI またはコマンドラインからインストールできます。
UI からのインストール
- [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
- [JAR の追加] をクリックし、com.parasoft.soavirt.tool.mcpclient-<version>.jar ファイルを選択します。
- [適用] をクリックします。
- 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 ツールを追加したりできます。
設定
ツール設定では以下の設定を行うことができます。
接続の設定
| Endpoint | MCP サーバーのエンドポイントを ツールはデフォルトでエンドポイントを 2 つの部分に分割します。
例:
結果:
このルールが要件を満たさない場合は、次のシステムプロパティを設定してベース URL をオーバーライドできます。ツールはそれに応じて SSE エンドポイントを導出します。
|
|---|---|
| Keep Alive | テスト実行後に接続を開いたままにするか閉じるかを指定するには、 MCP Client は、複数のアクティブな接続の使用を許可します。すでにオープンしている接続の ID に接続 ID が一致する場合、その接続は再利用されます。クローズした接続の ID 、あるいは接続のオープンに一度も使用されていない接続の ID に接続 ID が一致する場合、新しい接続が作成されます。 [Keep Alive] が たとえば、以下のシナリオでは、テスト実行が終わった後、両方の接続がオープンのままになります。
これを修正するには、特定の接続を使用する最後のテストに対して [Keep Alive] を
|
| Request Timeout | リクエストがタイムアウトする前にサーバーの応答を待機する最大秒数を定義します。デフォルトは 20 です。 |
| Connection ID | 複数の接続をテストしている場合、接続 ID を指定します。接続 ID には任意の文字列を使用できます。 すでに開いている接続を参照する接続 ID に加えて、エンドポイント、リクエスト タイムアウト、ベアラー トークン、Basic 認証ユーザー名、または Basic 認証パスワードを指定した場合、接続がすでに開いているため、エンドポイント、リクエスト タイムアウト、ベアラー トークン、Basic 認証ユーザー名、または Basic 認証パスワードは無視されます。 テスト スイートで1 つの接続だけを使用している場合、接続 ID を指定する必要はありません。SOAtest は接続 ID にデフォルト値 ( ただし、同じシナリオで複数の接続をオープンしてメッセージを送受信したい場合、接続ごとに固有の接続 ID を指定する必要があります。 デフォルトは |
| Bearer Token | OAuth 認証を使用する MCP サーバーへの認証に使用する OAuth 2.0 アクセス トークンを指定します。OAuth 認証が不要な場合は、このフィールドを空白のままにしてください。このフィールドを指定すると、Basic 認証ユーザー名と Basic 認証パスワードのフィールドは無視されます。 |
| Basic Auth Username | Basic 認証を使用する MCP サーバーへの認証に使用するユーザー名を指定します。Basic 認証が不要な場合は、このフィールドを空白のままにしてください。ベアラー トークン フィールドが指定されている場合、このフィールドは無視されます。 |
| Basic Auth Password | Basic 認証を使用する MCP サーバーへの認証に使用するパスワードを指定します。 Basic 認証が不要な場合は、このフィールドを空白のままにしてください。ベアラー トークン フィールドが指定されている場合、このフィールドは無視されます。 |
リクエストの設定
| Method | 呼び出すメソッドの名前。以下のメソッドがサポートされています。
|
|---|---|
| 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 個の引数を設定できます。引数は |
Logging 設定
| Log Level | コンソールと[モニターの開始] ビューに表示する情報の量を指定します。以下のレベルを指定できます。
デフォルトは |
|---|
変更ログ
1.1
- OAuth 認証と Basic 認証のサポートを追加しました。
- 分離されていたベース URL と SSE エンドポイント設定フィールドを 1 つのエンドポイント設定フィールドに統合しました。
1.0
- 初回リリース。
サード パーティのコンテンツ
この拡張機能は、以下のサード パーティのコンテンツを含みます。
- jackson-annotations (Apache License 2.0 この notice と共に)
- jackson-core (Apache License 2.0 この notice と共に)
- jackson-databind (Apache License 2.0 この notice と共に)
- MCP Java SDK (MIT License)
- Byte Buddy (Apache License 2.0 この notice と共に)
- SLF4J (MIT License)
- jackson-dataformat-yaml (Apache License 2.0 この notice と共に)
- SnakeYAML (Apache License 2.0)
- JsonSchemaValidator (Apache License 2.0 この notice と共に)
- Internet Time Utility (Apache License 2.0)
- Reactor Core (Apache License 2.0)
- Reactive Streams (MIT No Attribution)
その他のライセンスの詳細については、拡張機能の licenses フォルダーを参照してください。