このページでは、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 サーバーを有効にするには、次の gcloud コマンドを実行して MAT_ENABLE_MCP メタデータキーを追加し、その値を true に設定します。
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata=MAT_ENABLE_MCP=true \
--zone=ZONE
次のように置き換えます。
INSTANCE_NAME: VM インスタンスの名前。ZONE: VM インスタンスが配置されているゾーン。
実行中の VM にメタデータキーを設定する場合は、変更を有効にするために VM を再起動する必要があります。
MCP サーバーに接続する
Streamable HTTP 経由の MCP 接続をサポートする標準の AI エージェントを使用して、MCP サーバーに接続できます。
MCP サーバーは、Mainframe Assessment Tool UI へのアクセスに使用されるのと同じポートの /mcp/ ルートにあります。パソコンから Mainframe Assessment Tool VM にアクセスするをご覧ください。
設定例
以降のセクションでは、さまざまな AI エージェントを構成して MCP サーバーに接続する方法の例を示します。
LOCAL_PORT は、Mainframe Assessment Tool UI へのアクセスに使用するローカルポートに置き換えます。
Gemini CLI
Gemini CLI を使用するには、 Gemini CLI 設定ファイルで MCP サーバーを次のように構成します。
{
"mcpServers": {
"mainframe-assessment-tool": {
"httpUrl": "http://localhost:LOCAL_PORT/mcp/"
}
}
}
詳細については、settings.json で MCP サーバーを構成するをご覧ください。
Antigravity IDE
Antigravity IDE を使用するには、 mcp_config.json でカスタム MCP サーバーを次のように構成します。
{
"mcpServers": {
"mainframe-assessment-tool": {
"serverUrl": "http://localhost:LOCAL_PORT/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の依存関係は何ですか?」