このページでは、Mainframe Assessment Tool MCP サーバーの設定方法と操作方法について説明します。自然言語プロンプトを使用して、ビジネス ドメインの探索、アセットの検索、メインフレーム評価からの複雑さの指標の取得を行うことができます。MCP サーバーを操作するには、 AI エージェントまたは Model Context Protocol(MCP)クライアント( Antigravity など)を介して接続します。
たとえば、次の操作が可能です。
- 既存の評価を一覧表示して確認する。
- 評価で検出されたビジネス ドメインを探索する。
- さまざまな条件に基づいてアセットを検索してフィルタする。
- 依存関係や複雑さの指標など、アセットの仕様を取得する。
MCP の詳細については、 Model Context Protocol(MCP)とはをご覧ください。
始める前に
MCP サーバーを有効にして接続する準備として、次のタスクを行います。
- Mainframe Assessment Tool に慣れておく。 Mainframe Assessment Tool を使用して評価を実行済みであることを確認します。
- 必要な権限を付与する。必要な権限は、Mainframe Assessment Tool のデプロイ方法によって異なります。
- Compute Engine VM インスタンスでは、インスタンスにカスタム メタデータを設定する権限が必要です。必要なロールの詳細については、 カスタム メタデータの設定と削除をご覧ください。
- GKE クラスタでは、クラスタ内のデプロイを更新する権限が必要です。
また、クラスタに接続するように
kubectlコマンドライン ツールを構成する必要があります。詳細については、kubectl 用のクラスタ アクセスを構成するをご覧ください。
- Google Cloud CLI を設定する。 最新バージョンの Google Cloud CLI をインストールして構成します。詳細については、Google Cloud CLI をインストールするをご覧ください。
MCP サーバーを有効にする
MCP サーバーはデフォルトで無効になっています。MCP サーバーを有効にするには、デプロイ環境の手順に沿って操作します。
Compute Engine インスタンス
Mainframe Assessment Tool Compute Engine インスタンスで 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 を再起動する必要があります。
GKE クラスタ上
GKE デプロイで MCP サーバーを有効にするには、mcp-server コンテナの MAT_ENABLE_MCP 環境変数を true に設定します。
kubectl set env deployment/mat-apps --containers=mcp-server \
MAT_ENABLE_MCP=true --namespace=VERSION
VERSION は、クラスタにデプロイされた Mainframe Assessment Tool のバージョン
に置き換えます。このバージョンは、デプロイの名前空間(mainframe-assessment-2-8-0 など)でもあります。環境変数を更新すると、MCP サーバーが有効になった状態で Mainframe Assessment Tool Pod が再起動します。
Mainframe Assessment Tool は単一の Pod として実行されるため、新しい Pod の起動中は一時的に使用できなくなります。MCP サーバーを無効にするには、MAT_ENABLE_MCP 環境変数を false に設定します。
MCP サーバーに接続する
Streamable HTTP 経由の MCP 接続をサポートする標準の AI エージェントを使用して、MCP サーバーに接続できます。
MCP サーバーは、Mainframe Assessment Tool UI へのアクセスに使用されるのと同じポートの /mcp/ ルートにあります。詳細については、 パソコンから Mainframe Assessment Tool VM にアクセスする または パソコンから GKE にデプロイされた Mainframe Assessment Tool にアクセスする をご覧ください。
設定例
以降のセクションでは、MCP サーバーに接続するようにさまざまな AI エージェントを構成する方法の例を示します。
LOCAL_PORT は、Mainframe Assessment Tool UI へのアクセスに使用されるローカルポートに置き換えます。
Antigravity
Antigravity を使用するには、
mcp_config.json ファイルで MCP サーバーを次のように構成します。
{
"mcpServers": {
"mainframe-assessment-tool": {
"serverUrl": "http://localhost:LOCAL_PORT/mcp/"
}
}
}
詳細については、Model Context Protocol(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 のリスト。 |
SearchContent
特定のメインフレーム評価内のソースコード、AI 生成の仕様、ビジネスルールを検索します。キーワード ベース(bm25)、セマンティック(embedding)、ハイブリッド(hybrid)の検索モードをサポートしており、ユーザーは関連するアセットとドキュメントを見つけることができます。
このツールでは、ドキュメント タイプ(source、spec、bre)で結果をフィルタし、返される一致件数を制限できます。また、一致するドキュメントの完全なコンテンツを取得することもできます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool 評価の ID。 |
Query |
文字列 | はい | 検索クエリ。 |
DocTypes |
string[] | いいえ | ドキュメント タイプで結果をフィルタします。指定できる値は source、spec、bre です。 |
Limit |
integer | いいえ | 返される一致件数を制限します。 |
IncludeContent |
ブール値 | いいえ | true に設定すると、レスポンスには一致するドキュメントの完全なコンテンツも含まれます。デフォルト値は false です。 |
SearchMode |
文字列 | いいえ | 使用する検索モード。指定できる値は、bm25(キーワード ベース)、embedding(セマンティック)、hybrid です。デフォルト値は hybrid です。 |
ExploreData
評価のデータ アナリストとして機能するインタラクティブな AI エージェント(データ エクスプローラ)を 実行します。エージェントは、 特定の評価の基盤となる構造化データベースにクエリを実行して、複雑な質問に回答できます。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool 評価の ID。 |
Query |
文字列 | はい | データ探索の質問またはクエリ。 |
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 のリスト。 |
FetchJobSpec
Mainframe Assessment Tool 評価 ID のビジネスルール抽出(BRE)ジョブ仕様を取得します。
引数
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
AssessmentId |
文字列 | はい | Mainframe Assessment Tool 評価の ID。 |
JobId |
文字列 | はい | ビジネスルール抽出(BRE)ジョブの ID。 |
使用例
AI エージェントが MCP サーバーツールを使用して評価データを取得して処理することで回答できる自然言語プロンプトの例を次に示します。
- シナリオ: 評価で複雑なプログラムを見つける。
- ユーザー プロンプト: 「
AssessmentNameという評価で、最も複雑な COBOL プログラムを 10 個リストアップしてください。」 - シナリオ: ビジネス ドメインに属するアセットを見つけてフィルタする。
- ユーザー プロンプト: 「
AssessmentNameという評価で、DomainNameドメインに関連するすべての JCL ジョブをリストアップしてください。」 - シナリオ: 評価からアセットの依存関係を取得する。
- ユーザー プロンプト: "
AssessmentNameという評価で、JCL ジョブJCLJobNameの依存関係は何ですか?" - シナリオ: 特定のジョブから抽出されたビジネスルールを見つける。
- ユーザー プロンプト: "
AssessmentNameという評価で、BusinessRuleJobNameによって抽出されたすべてのビジネスルールをリストアップしてください。" - シナリオ: 自然言語を使用して評価データを探索する。
- ユーザー プロンプト: 「
という評価で、請求システムのデータ処理フローの仕組みを説明してください。」
AssessmentName