本頁說明如何透過 Model Context Protocol (MCP),使用 Gemini CLI 或 AI 代理等 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 伺服器,請新增 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 的標準 AI 代理程式,連線至 MCP 伺服器。
MCP 伺服器位於 /mcp/ 路由下,與存取 Mainframe Assessment Tool UI 所用的連接埠相同,請參閱「從電腦存取 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的評估中,最複雜的 10 個 COBOL 程式。」 - 情境:尋找並篩選屬於商家網域的資產。
- 使用者提示:「列出名為『
AssessmentName』的評估中,與『DomainName』網域相關的所有 JCL 工作。」 - 情境:從評估作業取得資產依附元件。
- 使用者提示:「在名為
AssessmentName的評估中,JCL 工作JCLJobName的依附元件為何?」 - 情境:找出特定工作擷取的業務規則。
- 使用者提示:「列出
BusinessRuleJobName在名為『AssessmentName』的評估中擷取的所有業務規則。」