Agent 创收指南免费公开资源
中文 EN العربية

何时使用 Skill 或 MCP

Skill 提供可复用说明;MCP 暴露服务端资源或可调用工具。按任务需要指导、只读事实还是动作来选择。

内容审阅 · 2026-10-15 · 正文更新 · 2026-10-15

直接回答

Skill 提供可复用说明;MCP 暴露服务端资源或可调用工具。按任务需要指导、只读事实还是动作来选择。 契约:inventory_lookup(sku) 返回整数 quantity 和 UTC as_of。A-17=8,B-04=0。查询数量不构成写入授权的理由。

如何判断

Skill 提供可复用说明;MCP 暴露服务端资源或可调用工具。按任务需要指导、只读事实还是动作来选择。

具体示例

契约:inventory_lookup(sku) 返回整数 quantity 和 UTC as_of。A-17=8,B-04=0。查询数量不构成写入授权的理由。

失败检查

检查服务身份、授权范围、结构和错误行为。拒绝未知参数与过期结果;不能把错误转成库存为零。

离线示例与 Agent 验收流程

用示例输入对照输出和验收规则。

输入文本

请按下方虚构契约审阅两个只读库存样例。数量 0 也必须保留;每条结果都带有样例时间。

tool: inventory_lookup(sku: string)
returns: {sku: string, quantity: integer, as_of: UTC timestamp}
required_params: ["sku:string"]

sample_results:
  - {sku: "A-17", quantity: 8, as_of: "2026-10-15T09:00:00Z"}
  - {sku: "B-04", quantity: 0, as_of: "2026-10-15T09:00:00Z"}

rejection_rule: reject unknown fields

提交给已有 Agent 界面的提示

审阅只读契约。返回 JSON 顶层字段 tool_name、read_only、required_params、sample_results、rejection_rule;sample_results 中每条记录保留 as_of 时间戳。不要调用服务器或声称库存实时。

预期结果

{
  "tool_name": "inventory_lookup",
  "read_only": true,
  "required_params": [
    "sku:string"
  ],
  "sample_results": [
    {
      "sku": "A-17",
      "quantity": 8,
      "as_of": "2026-10-15T09:00:00Z"
    },
    {
      "sku": "B-04",
      "quantity": 0,
      "as_of": "2026-10-15T09:00:00Z"
    }
  ],
  "rejection_rule": "reject unknown fields"
}

核对要点

精选资源

MCP Builder:构建 MCP 服务

为什么选择: 指导把外部 API 封装为可发现、描述清楚且经过验证的 MCP 工具。

何时不适用: 仅调用现有只读查询时,不要重建服务器。

anthropics/skills · skills/mcp-builder/SKILL.md · 2026-10-13

搭建只读MCP工具服务器供Agent查询

为什么选择: 公开一个范围受限的查询工具,让MCP客户端读取应用数据而不能修改数据。

何时不适用: 它不能完成库存更新;本例有意不包含写入操作。

modelcontextprotocol/python-sdk · docs/servers/tools.md · 2026-10-14

在Agent使用前检查MCP工具清单与副作用

为什么选择: 在把远程MCP工具提供给Agent前检查名称、描述、schema、权限和副作用。

何时不适用: 客户端尚无服务器可审阅时,应先看服务端实现资料。

modelcontextprotocol/python-sdk · docs/servers/tools.md · 2026-10-14

为MCP工具建立稳定错误契约

为什么选择: 区分可重试、输入拒绝和内部故障,并保证错误不泄露服务端秘密。

何时不适用: 读取静态资源不需要可调用工具的错误契约。

modelcontextprotocol/python-sdk · docs/servers/handling-errors.md · 2026-10-14

用MCP资源URI提供版本化只读文档

为什么选择: 把文档作为稳定URI资源公开,使客户端能发现并读取内容而不获得写权限。

何时不适用: 此 SOP 讲稳定文档资源。本例选择查询工具,是因为库存会变化且需要新的 as_of 时间;这是本任务的选择,不是协议禁止动态资源。

modelcontextprotocol/python-sdk · docs/servers/resources.md · 2026-10-14

为Agent定义经过校验的函数工具

为什么选择: 把窄范围应用函数暴露为有明确参数契约的工具,并验证调用输入。

何时不适用: 若任务只读 Skill 或静态资源,就不需要工具参数结构。

openai/openai-agents-python · docs/tools.md · 2026-10-14

来源与核验日期