このページでは、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)の検索モードをサポートしており、ユーザーは関連するアセットとドキュメントを見つけることができます。
このツールでは、ドキュメント タイプ(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という評価の課金システムのデータ処理フローの仕組みを説明してください。」