このページでは、Model Context Protocol(MCP)を介して Gemini CLI や AI エージェントなどの MCP クライアントを使用して、Mainframe Assessment Tool の評価を設定し、操作する方法について説明します。自然言語プロンプトを使用して、メインフレームの評価に関する分析情報を取得できます。MCP サーバーを使用すると、AI エージェントを使用して、Mainframe Assessment Tool の評価で検出と分析のオペレーションを実行できます。たとえば、次の操作が可能です。
- 既存の評価を一覧表示して確認します。
- 評価で検出されたビジネス ドメインを確認します。
- さまざまな条件に基づいてアセットを検索してフィルタします。
- 依存関係や複雑性指標などのアセット仕様を取得します。
MCP の詳細については、Model Context Protocol(MCP)とはをご覧ください。
始める前に
Mainframe Assessment Tool をよく理解し、すでに評価の実行に使用していることを確認します。
MCP サーバーを有効にする
Mainframe Assessment Tool VM インスタンスで MCP サーバーを有効にするには、MAT_ENABLE_MCP メタデータキーを追加し、次の gcloud コマンドを実行して値を true に設定します。
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata=MAT_ENABLE_MCP=true \
--zone=ZONE
次のように置き換えます。
INSTANCE_NAME: VM インスタンスの名前。ZONE: VM インスタンスが配置されているゾーン。
実行中の VM にメタデータキーを設定した場合は、変更を有効にするために VM を再起動する必要があります。
MCP サーバーに接続する
SSE(サーバー送信イベント)を介した MCP 接続をサポートする標準の AI エージェントを使用して、MCP サーバーに接続できます。
MCP サーバーは、Mainframe Assessment Tool UI へのアクセスに使用される同じポートの /mcp/ ルートにあります。パソコンから Mainframe Assessment Tool VM にアクセスするをご覧ください。
たとえば、Gemini CLI を使用するには、Gemini CLI 設定ファイルで MCP サーバーを次のように構成します。
{
"mcpServers": {
"mainframe-assessment-tool": {
"url": "http://localhost:LOCAL_PORT/mcp/"
}
}
}
次のように置き換えます。
- LOCAL_PORT: Mainframe Assessment Tool UI へのアクセスに使用されるローカルポート。
詳細については、settings.json で MCP サーバーを構成するをご覧ください。
MCP サーバーツール
Mainframe Assessment Tool MCP サーバーは、AI エージェントが評価からデータを取得できるようにするツールを提供します。
ListAssessments
Mainframe Assessment Tool インスタンスに存在するすべての評価を一覧表示します。各評価には、名前、ID、説明、タイムスタンプが含まれます。
ListDomains
指定された Mainframe Assessment Tool 評価 ID のドメインを一覧表示します。各ドメインには、名前、説明、ID が含まれます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
ListAssets
特定の Mainframe Assessment Tool 評価 ID のアセットを一覧表示します。各アセットには、ID、名前、パス、タイプ、割り当てられたドメイン ID が含まれます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
FetchDomain
指定されたドメイン ID と Mainframe Assessment Tool の評価 ID のドメインの詳細を取得します。ドメインの詳細には、ID、名前、説明、概要が含まれます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
DomainId |
文字列 | はい | Mainframe Assessment Tool ドメインの ID。 |
FetchAsset
指定された Mainframe Assessment Tool の評価 ID のアセットの仕様の概要を取得します。アセット仕様には、ID、名前、使用状況、説明、ETL グラフ、BMS マップが含まれます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
AssetId |
文字列 | はい | Mainframe Assessment Tool アセットの ID。 |
DetailedSpec |
ブール値 | いいえ(デフォルト: false) |
true に設定すると、レスポンスにはメソッド仕様とそのテストケースも含まれます。 |
FetchAssetsCyclomaticComplexity
指定された Mainframe Assessment Tool の評価 ID のアセットのリストのサイクロマティック複雑度スコアを取得します。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
AssetIds |
string[] | はい | Mainframe Assessment Tool アセット ID のリスト。 |
使用例
AI エージェントが MCP サーバーツールを使用して評価データを取得して処理することで回答できる自然言語プロンプトの例を次に示します。
- シナリオ: 評価で複雑なプログラムを見つける。
- ユーザー プロンプト: 「
AssessmentNameという評価で最も複雑な COBOL プログラムを 10 個リストして。」 - シナリオ: ビジネス ドメインに属するアセットを検索してフィルタします。
- ユーザー プロンプト: 「
AssessmentNameという評価でDomainNameドメインに関連するすべての JCL ジョブを一覧表示して。」 - シナリオ: 評価からアセットの依存関係を取得する。
- ユーザー プロンプト: 「評価
AssessmentNameの JCL ジョブJCLJobNameの依存関係は何ですか?」