用途
Botwallet MCP Server 为 AI 智能体提供可编程的 USDC 钱包,使智能体能够独立完成收款、付款和管理资金,同时由人类所有者保留控制权。它适合需要让智能体在链上自主交易、访问付费 API 或向其他智能体付款的场景,例如让智能体创建发票获得报酬、按需购买语音转文字等付费 API、向指定智能体或 Solana 地址转账。
主要能力
- 钱包管理:注册、备份、导出、导入钱包,查看余额与历史记录。
- 收款:智能体可创建发票(paylink),付款方支付后 USDC 直接进入钱包。
- 付款:支持向用户名、Solana 地址或其他智能体付款;支持通过 x402 目录查找并支付付费 API,然后获取结果。
- 消费护栏:人类所有者设置消费限额,超出自动批准阈值的大额交易需所有者审批;所有者可在仪表盘中冻结钱包,冻结后钱包仍可收款但不能付款、提现或调用付费 API。
- 门限签名:采用 FROST 2-of-2 门限签名。创建钱包时进行密钥生成仪式,生成两个密钥份额:Key 1 由智能体本地保存在
~/.botwallet/seeds/,Key 2 由 Botwallet 服务器持有。完整私钥从不出现,任何一方都无法单独转移资金。 - 交易校验:Botwallet 准备每笔交易;在 Key 1 共同签名前,MCP 服务器会解码交易,仅当交易只将 USDC 从钱包转出(约定金额进入收款方的关联标准 USDC 账户,加上最多报价费用,付费 API 的费用以整数美分报价,最多多一分钱)且无其他内容时才签名。收款方会与智能体提供的地址核对(提现、付费 API 和付款到 Solana 地址),付款到用户名时地址来自 Botwallet 查询,因此仅核对金额和费用。
- 幂等与异常处理:
botwallet_pay和botwallet_withdraw返回idempotency_key,使用相同 key 再次调用会返回第一次请求的结果而不是发起新付款。若付款超时或连接中断,结果会说明资金是否可能已移动:OUTCOME_UNKNOWN表示需先用check_tool指定的工具确认(通常是botwallet_list_payments或botwallet_get_withdrawal,或当 Botwallet 列出转账为失败但仍可能成功时用botwallet_balance)再决定是否重试。 - 待处理交易:已发送但未确认时返回正常结果而非错误,状态为
pending,sent: true,并带有 Solana 签名、浏览器链接和check_tool;智能体不能重复付款,约一分钟后可通过check_tool查看完成或失败。
使用方式
在 MCP 客户端配置中添加一个 JSON 块,然后告诉智能体“Create a Botwallet for yourself.”。智能体会运行 botwallet_register,本地生成密钥份额,并返回存款地址,无需预先配置 API 密钥。
Claude Desktop:编辑配置文件
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code:添加配置会作用于当前项目;若要用于所有项目,加上 --scope user。在原生 Windows(非 WSL)上,npx 需要 cmd /c 包装:claude mcp add botwallet -- cmd /c npx -y @botwallet/mcp。
Cursor:前往 Settings > MCP,点击 Add new MCP server 并添加配置。
Windsurf:添加到 ~/.codeium/windsurf/mcp_config.json。
Cline:打开 Cline 侧边栏,点击 MCP Servers,然后 Configure 并添加配置。
其他 MCP 客户端:配置相同,命令为 npx -y @botwallet/mcp。
全局安装:若全局安装,命令改为 botwallet-mcp。
环境变量:全部可选。服务器读取 ~/.botwallet/config.json(与 CLI 共享)并推断其余信息。没有这些变量时使用默认钱包;注册或导入钱包会使其成为默认。
提供 36 个工具,分为 8 组,包括钱包管理、历史与护栏、钱包转账等。
安全与限制
服务器在智能体机器上本地运行,密钥份额存储在 ~/.botwallet/seeds/,从不发送给 Botwallet。服务器与 Botwallet API 通信进行共同签名,并将合并后的签名提交到 Solana。消费限额在服务端强制执行,智能体无法绕过。所有工具带有 MCP 工具注解:余额、历史和查询标记为只读,支持注解的客户端可无需询问直接运行;涉及资金移动(botwallet_pay、botwallet_withdraw、确认工具、botwallet_x402_pay_and_fetch)、触碰 Key 1(botwallet_wallet_backup、botwallet_wallet_export、botwallet_wallet_import)或更改所有者的工具标记为破坏性,客户端可保持询问。允许只读工具比对整个服务器“始终允许”更安全。
Key 1 仅存储在智能体机器上,从不发送给 Botwallet。注册会将 API 密钥保存到 ~/.botwallet/config.json 而不显示。有两项操作会暴露密钥材料,仅在所有者要求时使用:botwallet_wallet_backup 向智能体显示 Key 1(12 个单词)以便转交给所有者(所有者需要它们来提现和恢复钱包),这些单词会留在 AI 对话中,因此应将该对话视为敏感;与 CLI 一样,它需要两次调用,第一次返回有效 30 秒的一次性代码,第二次携带该代码才显示单词。botwallet_wallet_export 写入一个包含 Key 1 和 API 密钥的 .bwlt 文件,任何持有该文件的人都可在 24 小时内导入钱包。
MCP 服务器与 Botwallet CLI 共享同一组本地文件:配置 ~/.botwallet/config.json、种子 ~/.botwallet/seeds/*.seed、导出格式 .bwlt(加密,双向可用,包含 Key 1 和 API 密钥,需保密)。用 CLI 创建的钱包可在 MCP 服务器中使用,反之亦然。
网站、仪表盘、文档、CLI、npm 等资源暂未提供具体地址信息。安全漏洞报告请参见 SECURITY.md,具体内容暂未提供。