このページでは、 Gemini CLI や AI エージェントなどの MCP クライアントを使用して、Model Context Protocol(MCP)を介して Mainframe Assessment Tool の評価を設定し、操作する方法について説明します。自然言語プロンプトを使用して、メインフレーム評価に関する分析情報を取得できます。MCP サーバーを使用すると、AI エージェントを使用して、Mainframe Assessment Tool の評価に対して検出と分析のオペレーションを実行できます。たとえば、次のことができます。
- 既存の評価を一覧表示して確認する。
- 評価で検出されたビジネス ドメインを調べる。
- さまざまな条件に基づいてアセットを検索してフィルタする。
- 依存関係や複雑さの指標など、アセットの仕様を取得する。
MCP の詳細については、 Model Context Protocol(MCP)の概要をご覧ください。
始める前に
MCP サーバーを有効にして接続する準備として、次のタスクを行います。
- Mainframe Assessment Tool に慣れておく。 Mainframe Assessment Tool を使用して評価を実行済みであることを確認します。
- 必要な権限を付与する。 Mainframe Assessment Tool MCP サーバーを有効にするには、VM インスタンスにカスタム メタデータを設定する権限が必要です。必要なロールと権限の詳細については、 カスタム メタデータを設定および削除する をご覧ください。
- Google Cloud CLI を設定する。 最新バージョンの Google Cloud CLI をインストールして構成します。詳細については、Google Cloud CLI をインストールするをご覧ください。
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 サーバーを構成するをご覧ください。
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 のリスト。 |
ListBusinessRulesExtractionJobs
指定された Mainframe Assessment Tool 評価 ID のビジネスルール ジョブを一覧表示します。 返されるリストには、各ジョブの ID、名前、ステータス、フォーカス プロンプトなどが含まれます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
ListBusinessRules
指定されたビジネスルール抽出ジョブ ID と Mainframe Assessment Tool 評価 ID によって抽出されたビジネスルールを一覧表示します。 大量のルールを処理するため、このアクションはページネーションをサポートしています。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool の評価の ID。 |
JobId |
文字列 | はい | ビジネスルール抽出ジョブの ID。 |
PageSize |
文字列 | いいえ | 取得するページのサイズ。サポートされている最大値は `25` です。 |
PageToken |
文字列 | いいえ | 取得するページのトークン。この値は、このアクションに対する以前の呼び出しによって返されました。 |
OrderList |
オブジェクト | いいえ | 結果を返す順序。フィールドごとの説明をご覧ください。 |
OrderList.OrderBy |
文字列 | いいえ | 結果の並べ替えに使用するフィールドの名前。例: business_rule_id、business_rule_name、status。 |
OrderList.Order |
文字列 | いいえ | 順序の方向。指定できる値は次のとおりです。ASCENDING、DESCENDING。 |
Filter |
オブジェクト | いいえ | 返された結果をフィルタします。フィールドごとの説明をご覧ください。 |
Filter.Status |
文字列 | いいえ | フィルタするビジネスルールのステータス。指定できる値は次のとおりです。PENDING、VALIDATED、OBSOLETE。 |
Filter.Tags |
string[] | いいえ | ビジネスルールに関連付けられたタグのリスト。 |
Filter.AssetIDs |
string[] | いいえ | ビジネスルールに関連付けられた Mainframe Assessment Tool アセット ID のリスト。 |
使用例
以下に、AI エージェントが MCP サーバーツールを使用して評価データを取得して処理することで回答できる自然言語プロンプトの例を示します。
- シナリオ: 評価で複雑なプログラムを見つける。
- ユーザー プロンプト: 「
AssessmentNameという評価で、最も複雑な COBOL プログラムを 10 個リストアップしてください。」 - シナリオ: ビジネス ドメインに属するアセットを見つけてフィルタする。
- ユーザー プロンプト: 「
AssessmentNameという評価で、DomainNameドメインに関連するすべての JCL ジョブをリストアップしてください。」 - シナリオ: 評価からアセットの依存関係を取得する。
- ユーザー プロンプト: "
AssessmentNameという評価で、JCL ジョブJCLJobNameの依存関係は何ですか?" - シナリオ: 特定のジョブから抽出されたビジネスルールを見つける。
- ユーザー プロンプト: 「
AssessmentNameという評価で、BusinessRuleJobNameによって抽出されたすべてのビジネスルールをリストアップしてください。」