本页面介绍了如何通过 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 服务器,您需要具备在虚拟机实例上设置自定义元数据的权限。如需详细了解所需的角色和权限,请参阅设置和移除自定义元数据。
- 设置 Google Cloud CLI。安装并配置最新版本的 Google Cloud CLI。如需了解详情,请参阅安装 Google Cloud CLI。
启用 MCP 服务器
如需在 Mainframe Assessment Tool 虚拟机实例上启用 MCP 服务器,请运行以下 gcloud 命令,添加 MAT_ENABLE_MCP 元数据键并将其值设置为 true:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata=MAT_ENABLE_MCP=true \
--zone=ZONE
替换以下内容:
INSTANCE_NAME:虚拟机实例的名称。ZONE:虚拟机实例所在的可用区。
如果您在正在运行的虚拟机上设置元数据键,则必须重启该虚拟机才能使更改生效。
连接到 MCP 服务器
您可以使用支持通过可流式传输的 HTTP 进行 MCP 连接的标准 AI 代理连接到 MCP 服务器。
MCP 服务器位于用于访问 Mainframe Assessment Tool 界面的同一端口的 /mcp/ 路由下,请参阅从计算机访问 Mainframe Assessment Tool 虚拟机。
配置示例
以下部分提供了有关如何配置不同 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 的列表。 |
SearchContent
在特定的大型机评估中搜索源代码、AI 生成的规范和业务规则。它支持基于关键字 (bm25)、语义 (embedding) 和混合 (hybrid) 的搜索模式,让用户能够找到相关资源和文档。
该工具可以按文档类型(source、spec 或 bre)过滤结果,限制返回的匹配项数量,并可选择性地检索匹配文档的完整内容。
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
AssessmentId |
字符串 | 是 | Mainframe Assessment Tool 评估的 ID。 |
Query |
字符串 | 是 | 搜索查询。 |
DocTypes |
字符串[] | 否 | 按文件类型过滤结果。支持的值为:source、spec 或 bre。 |
Limit |
整数 | 否 | 限制返回的匹配项数量。 |
IncludeContent |
布尔值 | 否 | 如果设置为 true,则响应还会包含匹配文档的完整内容。默认值为 false。 |
SearchMode |
字符串 | 否 | 要使用的搜索模式。支持的值包括:bm25(基于关键字)、embedding(语义)或 hybrid。默认值为 hybrid。 |
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的依赖项是什么?” - 场景:查找特定作业中提取的业务规则。
- 用户提示:“列出
BusinessRuleJobName在名为AssessmentName的评估中提取的所有业务规则?”