SuperAPI AI 工具集

mcp-wallet-signer

mcp-wallet-signer 是一个非托管的 EVM 钱包交易路由工具,通过 MCP 服务器将区块链交易请求转发到浏览器钱包(如 MetaMask、Rabby、TronLink 等)进行签名。用户的私钥始终保留在浏览器钱包中,每笔交易都需要在钱包中明确批准,避免将私钥暴露给 AI 工具或配置文件。当前该项目已被 browser-web3-signer 取代,现有安装仍可通过兼容层继续运行,新代码建议直接使用 browser-web3-signer。

访问官网

工具介绍

mcp-wallet-signer 旨在解决区块链工具需要将私钥放入配置文件从而带来资金风险的问题。它通过 MCP 服务器将每个交易请求路由到用户已使用的浏览器钱包,让用户像处理普通 dapp 交互一样审查并批准交易。其核心特点是私钥永不离开浏览器,所有交易都需在用户自己的钱包(MetaMask、Rabby、TronLink 等)中显式批准。

该项目已被 nikicat/browser-web3-signer 取代。browser-web3-signer 使用 Rust 重新实现了相同的浏览器钱包签名流程,并提供 CLI 以及 Rust/TypeScript/Go 库。从此仓库发布的所有内容现在都是基于 browser-web3-signer 的轻量兼容层,因此现有安装可以继续工作;新代码应直接使用 browser-web3-signer。

使用方式方面,三种实现都会启动 browser-web3-signer serve,由其负责本地主机桥接、批准页面和浏览器标签页。对应平台的二进制文件会作为依赖自动安装,无需其他设置。对于 Claude Desktop、Cursor、Windsurf 以及其他 stdio MCP 客户端,也可通过 MCP 方式集成。EVM_MCP_DEFAULT_CHAIN 环境变量用于设置调用未指定链时的默认链 ID(默认值为 1)。

兼容层的变化包括:移除了 PendingStore、pendingStore、createHttpServer、startTestServer、buildConnectUrl、buildSignUrl、openBrowser 等组件,因为它们驱动的进程内 HTTP 桥接已不存在。approvalUrl 现在指向桥接的基础 URL,桥接会自行打开批准页面,不再返回每请求的 URL。构造选项 port 被忽略,桥接会绑定自己的空闲端口;getPort() / DEFAULT_PORT 仍可解析以保持源码兼容性。MCP 服务器中移除了余额工具(get_balance、get_token_balance)和 TRON 工具,因为余额查询不需要钱包,任何读取 RPC 的 MCP 服务器或 cast 调用都能在不触发批准提示的情况下完成,而 TRON 签名可通过 CLI 完成。两个库中的 WalletSigner.getBalance 和 .getTokenBalance 未做改动。npm 和 JSR 上已标记为弃用。browser-evm-signer@0.3.0 完全无法工作,因为其导出指向 ./esm/mod.js,而压缩包中实际提供的是 ./esm/browser-evm-signer/src/mod.js,这导致 mcp-wallet-signer@0.6.0 也受到影响。兼容层之前的 Deno 实现(进程内桥接、Svelte 批准 UI、wallet-signer-core 包)保留在历史记录中,直至提交 636fd3b。每个包独立发布:标签格式为 <package>@<version>,并发布 GitHub release。