Files
TARE-Learn/slidev/pages/day5/m12-mcp-asset-governance.md
smart 67837df8d0 docs: 更新TRA编程培训课程材料、课件与AI技能交付包
- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
2026-08-08 11:00:36 +08:00

7.9 KiB

模块 12:MCP 也必须沉淀为能力资产

MCP 不是一条连接地址,也不是把所有外部系统工具都暴露给 Agent。

它是“可被 Agent 调用的外部能力”,因此同样需要清楚的输入输出、权限、审计、失败处理和验证边界。

能力说明
工具契约
权限范围
失败降级
验收夹具

MCP 资产包应包含什么?

mcp-assets/
├── README.md                       # 接入边界、适用场景与不适用场景
├── MCP能力契约.template.md          # 服务、工具、输入、输出、错误与审计
├── MCP工具权限与验收清单.md          # 最小授权、敏感数据与副作用验证
├── MCP故障降级清单.md                # 超时、鉴权、限流、不可用时的处理
└── fixtures/                        # 完整、拒绝、失败与脱敏结果样例
连接配置只说明“连得上”;资产包还要说明“什么时候可以调用、调用后能相信到什么程度”。

每个 MCP 工具都需要输入输出契约

契约字段 必须说明的问题
工具名称与用途 它解决哪一类外部事实或操作?
输入 必填字段、格式、数据范围和敏感参数处理方式是什么?
输出 返回哪些已确认字段,哪些字段可能为空或过期?
副作用 只读、可逆写入,还是不可逆操作?
错误 鉴权、限流、超时、无结果和服务错误如何区分?
审计 调用主体、目标对象、时间和结果如何留痕并脱敏?
工具名叫“查询”不代表一定只读;是否有副作用必须由契约明确,而不是让 Agent 猜测。

Agent 调用 MCP 时,权限要再收一层

外部能力类型 Agent 默认策略 必须补充的保护
读取公开或脱敏信息 可按职责开放 结果范围、来源时间与引用记录
读取受限业务信息 仅在明确授权后调用 数据范围、脱敏与审计
创建草稿或临时资源 需要用户确认 幂等键、撤销方式和可见结果
修改业务状态或数据 不作为默认工具权限 二次确认、最小范围和回滚路径
删除、发布、外发 不交给通用 Agent 专用流程与人工最终确认
自定义 Agent 的工具选择只是第一层;MCP 工具自身仍要定义调用级的权限与确认边界。

MCP 的验收不只检查“调用成功”

验收夹具 预期行为
合法完整请求 返回结构符合契约,来源和时间可追溯
缺少必填参数 拒绝并说明字段缺口,不自动补造参数
越权请求 拒绝或要求确认,不泄露超范围数据
限流、超时或服务不可用 区分故障类型,输出降级结论,不伪装成无结果
敏感字段返回 按契约脱敏,日志不写入密钥、Token 或完整隐私数据
有副作用的重复调用 符合幂等或明确阻止重复执行
MCP 失败时,Agent 应该报告“外部事实未取得”,而不是用已有代码或常识补出一个答案。

MCP 能力资产的交付标准

一份 MCP 资产的完成标准,不是 Agent 调用成功,而是能力、契约、权限、故障处置和验证边界均可被复核。
适用边界
工具契约
调用权限
故障降级
验收夹具