本页面介绍如何设置 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) 的搜索模式,让用户能够找到相关资产和文档。
该工具可以按文档类型(source、spec 或 bre)过滤结果,限制返回的匹配项数量,并选择性地检索匹配文档的完整内容。
实参
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
AssessmentId |
字符串 | 是 | Mainframe Assessment Tool 评估的 ID。 |
Query |
字符串 | 是 | 搜索查询。 |
DocTypes |
字符串 [] | 否 | 按文档类型过滤结果。支持的值包括:source、spec 或 bre。 |
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的评估中结算 系统的数据处理流程是如何运作的。”