Mainframe Assessment Tool MCP 服务器

本页介绍了如何使用 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 提取的所有业务规则?”