payfetch 是 Forum Labs 网络中的买方席位,定位于带有支出管控的付费抓取客户端。用户自带钱包,私钥始终留在本机,没有任何 MCP 工具可以提升限额。它作为本地 stdio MCP 服务器发布,并附带一个小型库和 CLI。
用途 payfetch 让 AI 代理抓取 URL,当服务器返回 HTTP 402(x402 支付协议)时,在用户控制的支出策略内自动付费。与参考 x402 客户端无条件支付 402 请求不同,payfetch 的核心在于策略与安全面。
主要能力 · 支出上限:每次调用、每日、每主机每日以及可选的终身总额上限。上限是硬性的,支付前先预留预算,签名授权会占用预算直至明确过期,预算可能多计但绝不会少计;每个请求最多一次支付尝试,重试循环无法耗尽钱包。 · 允许与拒绝列表:默认 open,可设为 allowlist 只支付列表内主机;deny 中的模式始终被拒绝并优先于 allow。 · 审批阈值:价格严格高于阈值(默认 0.10 USD)触发审批,审批只授权单次支付,没有“始终允许”。 · 信任与安全检查:可选,调用 Forum Labs API,默认守卫预算为 0,仅使用免费额度;付费守卫需显式开启并设定每日预算。 · 收据账本:每次尝试(含免费抓取、试运行、拒绝、未知结算)追加一条不可篡改 JSON 记录,记录 URL、方法、主机、结果、拒绝码、经过的管线步骤、所选报价、守卫结果、审批信息、支付信息、决策时预算和 HTTP 摘要;密钥材料、签名、完整支付载荷、响应体和请求头值永不存储。
使用方式 通过 npx 按需运行,包暴露两个二进制:payfetch(操作 CLI)和 payfetch-mcp(stdio MCP 服务器),启动服务器需使用 npx -p @forum-labs/payfetch payfetch-mcp。配置钱包时必须恰好设置一个签名来源,支持原始私钥、权限为 600 的密钥文件或 Coinbase CDP 服务器钱包。随后可接入 MCP 客户端,示例中设置 PAYFETCH_TEST_MODE=1 以便在 Base Sepolia 上试运行。使用时可先用 payment_quote 获取条款、所选报价、信任检查结果、剩余预算和策略决定(不签名、不预留),再用 paid_fetch 的 dryRun 试运行,最后正式支付。maxAmountUsd 只能收紧单次上限,不能放宽。
适用场景与限制 适用于希望让 AI 代理在受控范围内为 x402 API 自动付费、且要求非托管钱包与详细审计的场景。限制包括:仅支持 x402、Base USDC 和 exact 方案,Solana 结算的 x402、upto 方案和 MPP 会被解析后拒绝并记录原因;需要 Node 22 或更高版本,不支持 Windows;USD 按 1.00 视为 USDC,脱锚会使上限按脱锚系数失准;策略文件位于 {dataDir}/config.json,无效文件会失效关闭,所有付费工具返回 policy_config_invalid,仅用户本人可修改策略,MCP 工具不会变更它;审批中 elicit 默认,但截至 Claude Code v2.1.198 和当前 Claude Desktop 均无法支持 elicit 提示,queue 模式下审批需 PAYFETCH_APPROVER=1 环境变量,代理不得审批自身支付;信任守卫开启时每次付费抓取会向 Forum Labs 信任 API 发送剥除查询字符串的目标端点和随机安装 id,可用 guards.trust.enabled: false 完全关闭,关闭后无任何外部调用;可选结果上报默认关闭,仅通过 payfetch report <receiptId> 逐事件上报。官网 https://forum-labs.com/payfetch ,源码 https://github.com/forum-labs/payfetch ,状态与范围:版本 1.0.0,策略 schema p3f.policy.v1,客户端 schema p3f-1.0.0。