检查表

MCP-first 检查表

用于对照 MCP-first 原则检查现有或计划中系统的检查表——涵盖产品、工程、安全和用户体验。

这份检查表用于对照 MCP-first 原则检查现有或计划中的系统。

产品

  • 每个功能是否以 Capability 而非仅以界面或按钮的形式描述?
  • 每个 Capability 是否有明确的用户意图?
  • 每个 Capability 是否同时具备人类可用和智能体可用的使用形式?
  • 哪些 Capability 允许自主执行,是否有明确定义?
  • 哪些 Capability 需要用户明确确认,是否有明确定义?

工程

  • 是否有所有界面共用的中央 Action Layer?
  • 所有 Action 是否都有明确定义 Schema 的类型化?
  • 每个 Tool 是否都有输入和输出 Schema?
  • 每个 Tool 是否有清晰的机器可读错误码?
  • 是否有所有界面共用的中央 Policy 引擎?
  • 每个执行操作是否都有审计日志?
  • 是否有覆盖输入、输出和错误情况的 Tool 测试?
  • 高风险操作是否有 Dry-Run 模式?

安全

  • 所有 Tool 是否按风险等级分类(low / medium / high / critical / forbidden)?
  • Tool 是否在 Tool Discovery 阶段就根据用户权限、角色和 Scope 进行过滤——而非在调用时才拦截?
  • 特别敏感的操作是否有 Step-up Authentication?
  • 关键操作是否有人工确认门(Human Confirmation Gate)?
  • 是否有脱敏和上下文过滤,确保智能体只获得其任务所需的上下文?
  • 是否有租户隔离,防止跨租户访问?
  • 是否有按智能体、Client 和 Tool 的速率限制?
  • 是否有针对 Prompt 注入攻击的防护?
  • Tool 元数据是否在服务端验证,而非盲目信任 Client 提供的数据?
  • 是否有针对异常或异常智能体行为的监控和告警?

用户体验

  • 用户是否随时可以了解智能体已执行或将要执行的操作?
  • 用户在看到确认请求时,是否能清楚地理解将要发生什么?
  • 用户是否可以拒绝或取消智能体提议的操作?
  • 是否有草稿模式,允许智能体准备好内容,由人类最终决定?
  • 是否有针对可撤销操作的撤销或回滚选项?
  • 高风险操作是否用清晰的语言说明——收件人、范围、外部影响、风险等级?

Build capabilities once. Expose them everywhere.