代理mcp付费客户端
](https://npmjs.com/package/agentic-mcp-pay-client) 
用于支付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 | 微支付协议会话令牌 |
运作原理
- 你的代理人打电话来了
client.callTool()像往常一样。 - 如果服务器返回
PAYMENT_REQUIRED,客户端解析挑战。 - 检查预算限制。这
onPaymentRequired回调被调用(如果已设置)。 - 适当的签名者为挑战的协议提供证明。
- 使用重试工具调用
_payment: { nonce, proof, protocol }在争论中。 - 支出记录在预算跟踪器中。
- 成功的结果将透明地返回给您的代理。
网关
此客户端旨在与 代理mcp支付,MCP工具的服务器端支付网关。
许可证
麻省理工学院
______________________________________________________________________
另见
- 代理mcp支付 --服务器端支付网关:用支付强制包裹任何MCP服务器
- 代理mcp支付演示 --支付循环的完整端到端演示
- 教程:在5分钟内将MCP工具货币化
