用途
AgentPay MCP 是一个基于 stdio 的 Model Context Protocol(MCP)服务器,用于 x402 支付与钱包操作。它把 Agent Wallet SDK 的函数暴露为 MCP 工具,并从本地进程环境加载由调用方控制的签名密钥。项目定位为面向 AI 智能体的非托管 x402 MCP 支付层,是 Vercel x402-mcp 的开源替代方案。当前 npm 包版本为 agentpay-mcp v4.2.0。
主要能力
工具注册表位于 src/index.ts,工具 schema 与处理程序位于 src/tools/ 下,按组暴露。钱包工具读取环境变量,其中 AGENT_PRIVATE_KEY 会被读入本地 Node.js 进程,并使用 viem 进行签名。运行时钱包配置目前支持 Base 主网和 Base Sepolia,不支持的链 ID 会在 src/utils/client.ts 中失败关闭(fail closed)。
涉及资金移动的工具包括 swap_tokens、bridge_usdc、托管(escrow)与支付工具,它们可以转移资金并消耗 gas。swap_tokens 和 bridge_usdc 在 approve 时预留支出,随后结算、释放或保持未知状态;报价、校验以及已确认未扣费的 revert 失败会释放预留并保持可重试;广播后结果不明确时,该意图会被锁定且没有计时器。
get_transaction_history 读取链上钱包事件;对于未限定范围的全量查询,还会列出由该服务器进程完成的 x402 结算记录(已支付响应的最终 URL,在重定向下可能与 402 发行方不同、方法、金额、代币、收款方、交易哈希、重放次数)。这些 x402 收据表示支付已广播(返回了交易哈希),并不表示收据已确认;它们仅保存在内存中,上限 256 条,重启后丢失,且不会出现在按区块限定的查询中。这不是 MCP 请求日志,不记录被拒绝的链前尝试或只读调用。
使用方式
可以在不加载钱包凭据的情况下检查已安装命令,并使用 AgentPay Wallet Starter 进行无资金验证,检查允许、需审批和被阻止的策略结果。MCP 客户端配置中,钱包工具读取环境变量,示例配置见仓库。不要提交真实签名密钥,应使用客户端或操作系统的密钥机制;建议先在 Base Sepolia 上测试,再使用 Base 主网。
安全边界
这些边界比功能列表更重要:服务器把 AGENT_PRIVATE_KEY 读入本地 Node.js 进程并用 viem 签名,需保护进程、环境与 MCP 客户端配置。set_spend_policy 把策略存储在 MCP 服务器进程中,同一智能体可以再次调用该工具,进程重启会清除其滚动状态。当前每个涉及资金移动的处理程序都会调用进程内策略检查,但这仍属于应用层强制。链上限额只有在钱包所有者直接在 AgentAccountV2 上配置时才存在,set_spend_policy 不会写入这些合约限额。只有当所有者密钥与智能体密钥分开保管时,超限交易才构成人工闸门。
适用场景与限制
适用于需要让 AI 智能体以非托管方式在 Base 网络上进行 x402 支付、钱包操作、代币兑换、跨链桥接与托管等场景,并希望以 MCP 工具形式接入现有 MCP 客户端。限制包括:仅支持 Base 主网与 Base Sepolia;策略为进程内应用层强制,重启即清除;链上限额需另行在合约配置;x402 收据仅存内存且不代表确认;涉及资金移动的工具会消耗 gas,应使用有界金额和独立钱包限额进行测试。详细控制图与已知限制见 docs/security-posture.md。
其他信息
仓库还包含多份版本化技术证明文档,涵盖买家流程一致性、付费 MCP 网关加固、五工具一致性检查、托管与声誉边界、发现就绪证据、链中立网关配置、动态付费 MCP 清单漂移、MCP 注册表列表证明、Smithery 付费 MCP 安装、提供商健康证明、托管 x402 代理验证、x402 原生与 Stripe 代理区分、依赖固定策略等。AgentPay 将 viem 精确固定为 2.57.4。相关仓库包括 Agent Wallet SDK、AgentPay Wallet Starter,以及 NVIDIA NeMo Agent Toolkit Examples PR 17 集成示例。产品缺陷通过 GitHub issue 队列提交,安全问题通过 SECURITY.md 报告,贡献规则见 CONTRIBUTING.md,采用 MIT 许可。