Mainframe Assessment Tool MCP サーバーを有効にする

このページでは、Mainframe Assessment Tool MCP サーバーを設定して操作する方法について説明します。自然言語プロンプトを使用して、ビジネス ドメインの探索、アセットの検索、メインフレーム評価からの複雑性指標の取得を行うことができます。MCP サーバーとやり取りするには、Gemini CLI などの AI エージェントまたは Model Context Protocol(MCP)クライアントを介して接続します。

たとえば、次の操作が可能です。

  • 既存のアセスメントを一覧表示して確認します。
  • 評価で検出されたビジネス ドメインを確認します。
  • さまざまな条件に基づいてアセットを検索してフィルタします。
  • 依存関係や複雑性指標などのアセットの仕様を取得します。

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 サーバーを有効にするには、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 サーバーに接続する

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 のリスト。

SearchContent

特定のメインフレーム評価内のソースコード、AI 生成の仕様、ビジネスルールを検索します。キーワード ベース(bm25)、セマンティック(embedding)、ハイブリッド(hybrid)の検索モードをサポートしており、ユーザーは関連するアセットとドキュメントを見つけることができます。

このツールでは、ドキュメント タイプ(sourcespecbre)で結果をフィルタし、返される一致の数を制限できます。また、一致するドキュメントのコンテンツ全体を必要に応じて取得することもできます。

引数

名前 必須 説明
AssessmentId 文字列 Mainframe Assessment Tool の評価の ID。
Query 文字列 検索クエリ。
DocTypes string[] × ドキュメントの種類で結果をフィルタします。指定できる値は sourcespec または 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 という評価の課金システムのデータ処理フローの仕組みを説明してください。」