SuperAPI AI 工具集

mpp-agent

智能体与模型

查看项目

更新于 10-16 10:46

技能介绍

MPP Agent Skill

用途

mpp-agent 封装了机器支付协议(MPP,https://mpp.dev)的客户端,使 Hermes 能够为按次请求的 API 访问进行付费,适用于那些返回 HTTP 402 Payment Required 的服务器。

主要能力

提供多个客户端选项,均通过 npm 分发。用户应选择最轻量、能解决其需求的方案。该技能当前受限于 linux、macos 平台,因为更广泛的支付工具在 Windows 上尚在成熟中。

何时使用

  • 商家 API 返回 HTTP 402 并带有 www-authenticate 头,且用户希望实际完成支付,而不仅仅是记录响应。
  • 用户要求“按请求付费”“设置代理钱包”“使用 Tempo / Privy / AgentCash”,或希望发现 MPP 定价的服务。
  • 一次 Stripe Link 消费已生成 Shared Payment Token(SPT),代理需要将其附加到 402 挑战中——此流程中优先使用 link-cli mpp pay(参见 stripe-link-cli 技能)。

选择客户端

  • link-cli:用户已配置 Stripe Link,或 402 挑战声明 method="stripe"。设置方式参见 stripe-link-cli 技能。
  • Tempo Wallet:适用于带支出控制的 MPP 服务、服务发现。设置方式:tempo wallet login。
  • Privy Agent CLI:多链钱包、基于浏览器的资金充值。设置方式:privy-agent-wallets login。
  • AgentCash:通过一个 USDC.e 余额访问 300+ 预定价 API。设置方式:npx agentcash onboard。
  • mppx:开发与调试,依赖面最小。设置方式:npm install -g mppx,然后 mppx account create。

默认策略:如果用户已配置 Stripe Link,或 402 挑战指定了 method="stripe",使用 link-cli mpp pay(stripe-link-cli 技能)。否则,对于一次性付费调用和调试使用 mppx,当用户希望持久化支出控制时使用 Tempo Wallet。

前提条件

  • PATH 中有 Node.js 20+。
  • 已充值的钱包(Tempo / Privy / AgentCash)或一个 mppx 账户。
  • 对于 Tempo / Privy / AgentCash:遵循各自的入门技能:
    • https://tempo.xyz/SKILL.md
    • https://agents.privy.io/skill.md
    • https://agentcash.dev/skill.md
  • 如果用户选择其中之一,使用 web_extract 获取对应的 SKILL.md 文件。

操作流程(mppx,最快路径)

通过终端工具运行所有命令。

  1. 安装并创建账户

npm install -g mppx mppx account create

将生成的账户凭据存储在 CLI 指示的位置(CLI 会写入其自身的配置目录——不要将其粘贴到代理对话记录中)。

  1. 检查商家的 402 挑战

如果用户提供了 URL,先探测以确认它确实支持 MPP:

curl -i <url>

真实的 MPP 402 响应如下所示:

HTTP/1.1 402 Payment Required www-authenticate: tempo amount=0.1 currency=...

  1. 支付请求

mppx <url>

对于非 GET 方法或带有请求体的情况:

mppx <url> --method POST --data '<json>'

mppx 会自动处理 402 挑战/凭据流程,并在成功时打印商家的实际响应。

  1. 验证收据

mppx 会自动附加收据头。如需检查:

mppx <url> -v

操作流程(Tempo Wallet)

Tempo Wallet 技能位于 https://tempo.xyz/SKILL.md,是权威参考;使用 web_extract 获取并遵循它。要点如下:

tempo wallet login tempo wallet pay <url>

支出控制和服务发现位于钱包 UI:https://wallet.tempo.xyz。

注意事项

  • 不带 method="stripe" 的 HTTP 402 无法通过 Stripe Link 支付。如果挑战仅声明 Tempo / 其他方法,请使用 mppx(或匹配的钱包)——Link 会拒绝。反之,如果声明 method="stripe",优先通过 stripe-link-cli 技能使用 Link,以便消费走用户已批准的卡片。
  • 单个头中包含多个挑战。www-authenticate 可能列出多个方法(例如 tempo、stripe)。Link CLI 的 mpp decode 会选择 Stripe 那个;mppx 会选择 Tempo。没有单一的“正确”客户端——根据用户已充值的钱包来选择。
  • 零金额挑战。某些 MPP 端点收费 $0.00,仅需要证明凭据。这些无需已充值钱包即可工作。不要将其视为“损坏”而拒绝。
  • 钱包密钥绝不进入代理上下文。所有四个客户端都将密钥存储在自己的配置目录下(或在 Privy 的情况下生成每会话临时密钥对)。不要 cat/read_file 它们。
  • 服务端 MPP 是另一项技能。如果用户想为自己的 API 添加 402,此技能不适用——请指向 https://mpp.dev/quickstart/server 以及 mppx/nextjs、mppx/hono、mppx/express、mppx/elysia 中间件。专门的 mpp-server 技能可能会在之后推出。

验证

mppx --version && mppx account list

退出码 0 表示已安装且账户存在。