启用 Mainframe Assessment Tool MCP 服务器

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

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

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

如需详细了解 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 服务器,请添加 MAT_ENABLE_MCP 元数据键,并通过运行以下 gcloud 命令将其值设置为 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)。更新环境变量会重启 Mainframe Assessment Tool pod,并启用 MCP 服务器。 由于 Mainframe Assessment Tool 作为单个 pod 运行,因此在启动新 pod 时会短暂不可用。如需停用 MCP 服务器,请将 MAT_ENABLE_MCP 环境变量设置为 false

连接到 MCP 服务器

您可以使用支持通过 Streamable HTTP 进行 MCP 连接的标准 AI 智能体连接到 MCP 服务器。

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

配置示例

以下部分提供了有关如何配置不同的 AI 智能体以连接到 MCP 服务器的示例。

LOCAL_PORT 替换为用于访问 Mainframe Assessment Tool 界面的本地端口。

Antigravity

如需使用 Antigravity,请按如下方式在 mcp_config.json 文件中配置 MCP 服务器:

{
  "mcpServers": {
    "mainframe-assessment-tool": {
      "serverUrl": "http://localhost:LOCAL_PORT/mcp/"
    }
  }
}

如需了解详情,请参阅 Model Context Protocol (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 的依赖项是什么?”

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

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