第 2 课

find 与 run:第一次只读网站工具

用 find_website_tool 找到公开只读工具,再 run 一次并从 job 读取 result。

图文22 分钟

课程目录第 2 / 2 课

学习位置仅保存在当前浏览器,有效期 180 天。

01 / 图文教材

find 与 run:第一次只读网站工具

find 与 run:第一次只读网站工具

本课按官方 Quickstart「Find a tool」「Run a tool」整理,在上一课 keyless MCP 已连通的前提下跟做。
目标:搜索一个公开只读工具 → 用只读 run 跑一次 → 从 job 结果里读出结构化数据。
主要来源:Find a tool · Run a tool · Try without a key

你将得到什么

  • 一次成功的 find_website_tool(拿到 tool_id)
  • 一次成功的 run_read_only_website_tool(或 REST 等价调用)
  • 理解 job 的 status / result,以及何时该 get_job 等待

课前准备

  1. 上一课已完成:MCP 指向 https://mcp.pomerado.ai/mcp/keyless。
  2. 选一个 不需要登录 的公开查询任务。官方示例:「Find nonstop flights from SFO to JFK next Friday on Google Flights。」
  3. 日期请换成 未来日期(示例里的 2026-11-20 可按你上课当天改)。

安全: 不要对支付、下单、发帖、删数据等写操作使用本课步骤。写工具需账号,且应带 idempotency key。

一、用自然语言让 agent 找工具

在已接入 Pomerado 的对话里发送(可原样复制):

用 Pomerado 的 find_website_tool 找一个能在 Google Flights 上搜索航班的工具。
query 用 "search flights",site_url 用 "google.com"。把返回的 tool id、name、effect、input_schema 关键要点列给我。

Agent 应调用 find_website_tool,参数形态与官方一致:

{
  "query": "search flights",
  "site_url": "google.com"
}

对照结果:

  • 返回列表中有工具,字段至少包含:id(形如 tool_…)、name、effect(期望为 read)、input_schema、site。
  • login 为 null 或表明无需网站登录时,才适合 keyless 直接跑。
  • 若无合适工具:官方下一步是 build_website_tool(需要账号);本课可换任务重试,例如换「公开比价/公开检索」类站点,不要硬编造 tool id。

二、MCP:只读运行工具

把上一步的真实 tool_id 填进请求(下面 id 是文档示例占位,必须换成你 find 到的 id):

请 agent 执行:

用 run_read_only_website_tool 运行刚才的 tool。
input 为 JSON 字符串,字段按 input_schema 填写,例如 origin=SFO、destination=JFK、departure_date=2026-11-20(若 schema 字段名不同,以 schema 为准)。
若 job 未立刻结束,就用 get_job 按提示的 wait 继续等到 succeeded/failed。

官方 MCP 参数示意:

{
  "tool_id": "YOUR_TOOL_ID",
  "input": "{\"origin\": \"SFO\", \"destination\": \"JFK\", \"departure_date\": \"2026-11-20\"}"
}

对照结果:

  • 调用返回一个 job;常见情况是数秒内 status 为 succeeded,result 里有航班列表或结构化字段。
  • 若仍在运行:跟随 next / get_job(带 wait_seconds),不要重复 run 同一写意图(本课是只读,仍建议等同一 job)。
  • 若返回 try_limit_reached:当日 keyless 额度用尽,需等次日或注册免费账号(官方说明)。
  • 若 sign_in_required:该工具超出 keyless 范围,换一个公开只读工具或注册后再试。

三、REST 等价路径(可选,便于对照)

Keyless 也可用 REST(无 Authorization):

curl "https://api.pomerado.ai/v1/tools?query=search+flights&site_url=google.com"

只读运行(需把 YOUR_TOOL_ID 换成真实 id):

curl https://api.pomerado.ai/v1/runs/read-only \
  -H "Content-Type: application/json" \
  -d '{"tool_id":"YOUR_TOOL_ID","input":{"origin":"SFO","destination":"JFK","departure_date":"2026-11-20"}}'

REST 通常先回 202 + job;再轮询:

curl "https://api.pomerado.ai/v1/jobs/YOUR_JOB_ID"

对照结果:

  • GET /v1/tools 返回含 data 数组的 JSON。
  • job status 最终为 succeeded 时,result 可被读取;官方提醒:结果在首次读取后或最多约 60 分钟后不再保留,请立刻保存你需要的字段。
  • 不要把 job id 公开传播:无密钥时,知道 id 的人也能读该次运行。

四、读懂结果(最小验收)

成功时你应能回答:

  1. 用的 tool_id / name 是什么?
  2. effect 是否为 read?
  3. result 里至少有一条与任务相关的数据(例如一班航班的出发时间或价格字段——具体 schema 以工具为准)?

若失败:把 status、error 码记下来,对照 Errors;常见是额度、需登录、或 input 不符合 schema。

本课检查清单

  • find_website_tool 返回了真实 tool_id(非文档占位符)
  • run_read_only_website_tool(或 REST read-only)得到 succeeded 的 job
  • 已保存/看到 result 中的业务字段
  • 未对写操作或需登录站点使用 keyless 硬闯

延伸(非本课必做)

  • 注册后改用 https://mcp.pomerado.ai/mcp,可 build 新工具、保存网站登录与 2FA。
  • 写操作使用 run_website_tool + idempotency key,避免重试双写。见 Retries。

恭喜:你已经用官方路径完成「接入 MCP → 发现工具 → 只读跑通」的最小闭环。