Mainframe Assessment Tool MCP 服务器

本页面介绍了如何通过 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) 的搜索模式,让用户能够找到相关资源和文档。

该工具可以按文档类型(sourcespecbre)过滤结果,限制返回的匹配项数量,并可选择性地检索匹配文档的完整内容。

参数

名称 类型 必需 说明
AssessmentId 字符串 Mainframe Assessment Tool 评估的 ID。
Query 字符串 搜索查询。
DocTypes 字符串[] 按文件类型过滤结果。支持的值为:sourcespecbre
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 的评估中提取的所有业务规则?”