第 2 课
find 与 run:第一次只读网站工具
用 find_website_tool 找到公开只读工具,再 run 一次并从 job 读取 result。
学习位置仅保存在当前浏览器,有效期 180 天。
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等待
课前准备
- 上一课已完成:MCP 指向
https://mcp.pomerado.ai/mcp/keyless。 - 选一个 不需要登录 的公开查询任务。官方示例:「Find nonstop flights from SFO to JFK next Friday on Google Flights。」
- 日期请换成 未来日期(示例里的
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 的人也能读该次运行。
四、读懂结果(最小验收)
成功时你应能回答:
- 用的
tool_id/name是什么? effect是否为read?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 → 发现工具 → 只读跑通」的最小闭环。
