付费MCP工具客户端

用于付费MCP工具的客户端SDK,支持自动支付、预算控制和多协议支付。

  • by QuinnYates
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 QuinnYates/agentic-mcp-pay-client

使用说明

代理mcp付费客户端

用于支付MCP工具的客户端SDK——自动支付、预算控制、多协议。

MCP SDK的插入式包装器 Client 透明地处理 PAYMENT_REQUIRED 挑战。你的代理人像往常一样调用工具;客户在幕后协商付款。

安装

npm install agentic-mcp-pay-client

快速开始

import { PaidMcpClient } from "agentic-mcp-pay-client";

const client = new PaidMcpClient(
  { name: "my-agent", version: "1.0.0" },
  {
    walletPrivateKey: process.env.WALLET_KEY,
    budget: {
      maxPerCallCents: 1000,  // $10 max per tool call
      maxDailyCents: 10000,   // $100 daily cap
    },
  }
);

await client.connect(transport);

// Tools that require payment are handled automatically
const result = await client.callTool({
  name: "premium-search",
  arguments: { query: "market analysis" },
});

预算控制

设定支出限制以防止成本失控:

const client = new PaidMcpClient(
  { name: "my-agent", version: "1.0.0" },
  {
    walletPrivateKey: process.env.WALLET_KEY,
    budget: {
      maxPerCallCents: 500,   // reject any single call over $5
      maxDailyCents: 5000,    // stop after $50/day
    },
  }
);

投掷 BudgetExceededError 当工具的价格超过任何一个限制时。

审批回访

付款前需要人工批准:

const client = new PaidMcpClient(
  { name: "my-agent", version: "1.0.0" },
  {
    walletPrivateKey: process.env.WALLET_KEY,
    onPaymentRequired: async (info) => {
      console.log(`Tool "${info.toolName}" costs ${info.amountCents}c (${info.protocol})`);
      return confirm("Approve?"); // return false to reject
    },
  }
);

投掷 PaymentRejectedError 当回调返回时 false.

支出统计

const stats = client.getSpendingStats();
// { totalCents: 1500, todayCents: 500, callCount: 3 }

支持的协议

协议 凭证配置密钥 说明
x402 walletPrivateKey HMAC-SHA256签名挑战
stripe stripePaymentMethodId 条纹支付方式传递
mpp mppSessionToken 微支付协议会话令牌

运作原理

  1. 你的代理人打电话来了 client.callTool() 像往常一样。
  2. 如果服务器返回 PAYMENT_REQUIRED,客户端解析挑战。
  3. 检查预算限制。这 onPaymentRequired 回调被调用(如果已设置)。
  4. 适当的签名者为挑战的协议提供证明。
  5. 使用重试工具调用 _payment: { nonce, proof, protocol } 在争论中。
  6. 支出记录在预算跟踪器中。
  7. 成功的结果将透明地返回给您的代理。

网关

此客户端旨在与 代理mcp支付,MCP工具的服务器端支付网关。

许可证

麻省理工学院


另见