本页介绍了如何使用 MCP 客户端(例如 Gemini CLI 或 AI 智能体)通过 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 ToolMCP 服务器,您需要拥有在虚拟机实例上设置自定义元数据的权限。如需详细了解所需角色和权限,请参阅 设置和移除自定义元数据 。
- 设置 Google Cloud CLI。 安装并配置最新版本的 Google Cloud CLI。如需了解详情,请参阅安装 Google Cloud CLI。
启用 MCP 服务器
如需在 Mainframe Assessment Tool 虚拟机实例上启用 MCP 服务器,请添加 MAT_ENABLE_MCP 元数据键,并通过运行以下 gcloud 命令将其值设置为 true:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata=MAT_ENABLE_MCP=true \
--zone=ZONE
替换以下内容:
INSTANCE_NAME:虚拟机实例的名称。ZONE:虚拟机实例所在的可用区。
如果您在正在运行的虚拟机上设置元数据键,则必须重启虚拟机,更改才会生效。
连接到 MCP 服务器
您可以使用支持通过 Streamable HTTP 进行 MCP 连接的标准 AI 智能体连接到 MCP 服务器。
MCP 服务器位于用于访问 Mainframe Assessment Tool 界面(请参阅从计算机访问 Mainframe Assessment Tool 虚拟机)的同一端口的 /mcp/ 路由下。
配置示例
以下部分提供了有关如何配置不同的 AI 智能体以连接到 MCP 服务器的示例。
将 LOCAL_PORT 替换为用于访问 Mainframe Assessment Tool 界面的本地端口。
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 |
字符串 [] | 是 | 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 |
字符串 [] | 否 | 与业务规则关联的标签列表。 |
Filter.AssetIDs |
字符串 [] | 否 | 与业务规则关联的 Mainframe Assessment Tool 资产 ID 的列表。 |
用法示例
以下是自然语言提示的示例,AI 智能体可以使用 MCP 服务器工具检索和处理评估数据来回答这些提示:
- 场景:在评估中查找复杂程序。
- 用户提示: “列出名为
AssessmentName的评估中最复杂的 10 个 COBOL 程序。” - 场景:查找和过滤属于业务网域的资产。
- 用户提示: “列出名为
AssessmentName的评估下与DomainName网域相关的所有 JCL 作业。” - 场景:从评估中获取资产依赖项。
- 用户提示: “名为
AssessmentName的评估中 JCL 作业JCLJobName的依赖项是什么?” - 场景:从特定作业中查找提取的业务规则。
- 用户提示: “列出名为
AssessmentName的评估中BusinessRuleJobName提取的所有业务规则?”