启用 Mainframe Assessment Tool MCP 服务器

本页介绍了如何设置 Mainframe Assessment Tool MCP 服务器并与之互动。您可以使用自然语言提示探索业务网域、搜索资产,以及从大型机评估中检索复杂性指标。如需与 MCP 服务器互动,请通过 AI 代理或 Model Context Protocol (MCP) 客户端(例如 Gemini CLI)进行连接。

例如,您可以执行以下操作:

  • 列出并查看现有评估。
  • 探索在评估中发现的业务网域。
  • 根据不同条件搜索和过滤资产。
  • 检索素材资源规范,包括依赖项和复杂性指标。

如需详细了解 MCP,请参阅什么是 Model Context Protocol (MCP)?

准备工作

如需准备启用并连接到 MCP 服务器,请完成以下任务:

  • 熟悉 Mainframe Assessment Tool。确保您已使用 Mainframe Assessment Tool 运行评估。
  • 授予必要的权限。您需要的权限取决于您部署 Mainframe Assessment Tool 的方式:
    • 在 Compute Engine 虚拟机实例上,您需要有权在该实例上设置自定义元数据。如需详细了解所需角色,请参阅设置和移除自定义元数据
    • 在 GKE 集群上,您需要拥有更新集群中部署的权限,并且必须配置 kubectl 命令行工具以连接到集群。如需了解详情,请参阅为 kubectl 配置集群访问权限
  • 设置 Google Cloud CLI。安装并配置最新版本的 Google Cloud CLI。如需了解详情,请参阅安装 Google Cloud CLI

启用 MCP 服务器

MCP 服务器默认处于停用状态。如需启用 MCP 服务器,请按照部署环境的相关说明操作。

在 Compute Engine 实例上

如需在 Mainframe Assessment Tool Compute Engine 实例上启用 MCP 服务器,请运行以下 gcloud 命令,添加 MAT_ENABLE_MCP 元数据键并将其值设置为 true

    gcloud compute instances add-metadata INSTANCE_NAME \
    --metadata=MAT_ENABLE_MCP=true \
    --zone=ZONE

替换以下内容:

  • INSTANCE_NAME:虚拟机实例的名称。
  • ZONE:虚拟机实例所在的可用区。

如果您在正在运行的虚拟机上设置了元数据键,则必须重启该虚拟机才能使更改生效。

在 GKE 集群上

如需在 GKE 部署中启用 MCP 服务器,请将 mcp-server 容器中的 MAT_ENABLE_MCP 环境变量设置为 true

kubectl set env deployment/mat-apps --containers=mcp-server \
    MAT_ENABLE_MCP=true --namespace=VERSION

VERSION 替换为部署在集群上的 Mainframe Assessment Tool 版本。此版本也是部署的命名空间(例如 mainframe-assessment-2-8-0)。更新环境变量会重新启动启用了 MCP 服务器的 Mainframe Assessment Tool pod。 由于 Mainframe Assessment Tool 以单个 pod 运行,因此在启动新 pod 时,它会短暂不可用。如需停用 MCP 服务器,请将 MAT_ENABLE_MCP 环境变量设置为 false

连接到 MCP 服务器

您可以使用支持通过可流式传输的 HTTP 进行 MCP 连接的标准 AI 代理连接到 MCP 服务器。

MCP 服务器位于用于访问 Mainframe Assessment Tool 界面的同一端口上的 /mcp/ 路由下。如需了解详情,请参阅从计算机访问 Mainframe Assessment Tool 虚拟机从计算机访问 GKE 部署的 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

ExploreData

运行一个交互式 AI 智能体(数据探索器),充当评估的数据分析师。该代理可以查询特定评估的底层结构化数据库,以回答复杂的问题。

参数

名称 类型 必填 说明
AssessmentId 字符串 Mainframe Assessment Tool 评估的 ID。
Query 字符串 用于探索数据的提问或查询。

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 的列表。

FetchJobSpec

针对 Mainframe Assessment Tool 评估 ID 提取业务规则提取 (BRE) 作业规范。

参数

名称 类型 必填 说明
AssessmentId 字符串 Mainframe Assessment Tool 评估的 ID。
JobId 字符串 业务规则提取 (BRE) 作业的 ID。

用法示例

以下是一些自然语言提示示例,AI 智能体可以使用 MCP 服务器工具检索和处理评估数据,从而回答这些提示:

  • 场景:在评估中查找复杂程序。
  • 用户提示:“列出评估 AssessmentName 中最复杂的 10 个 COBOL 程序。”

  • 场景:查找和过滤属于某个企业网域的资产。
  • 用户提示:“列出评估 AssessmentName 下与 DomainName 领域相关的所有 JCL 作业。”

  • 场景:从评估中获取资产依赖项。
  • 用户提示:“在名为 AssessmentName 的评估中,JCL 作业 JCLJobName 的依赖项是什么?”

  • 场景:查找特定作业中提取的业务规则。
  • 用户提示:“列出 BusinessRuleJobName 在名为 AssessmentName 的评估中提取的所有业务规则。”

  • 场景:使用自然语言探索评估数据。
  • 用户提示:“请说明在名为 AssessmentName 的评估中,结算系统的数据处理流程是如何运作的。”