EVM Wallet Signer

io.github.nikicat由 GitHub 帳號 nikicat 發布v0.1.3更新於 Oct 24, 2026

Route EVM transactions to browser wallets (MetaMask, etc.) for signing via EIP-6963

已驗證STDIO僅桌面金融安全與監控

概覽

AI 產生的概覽

讓助理發起 EVM 錢包連線、交易與訊息簽章請求,並由你在自己的瀏覽器錢包中逐筆核准。

可以做什麼
這是一個本機 stdio MCP 伺服器,透過本機橋接與核准頁面,把簽章請求轉交給 MetaMask、Rabby 等瀏覽器錢包。它提供四個工具:connect_wallet 回傳地址,send_transaction 傳送轉帳或呼叫合約並回傳交易雜湊,sign_message 執行 personal_sign,sign_typed_data 簽署 EIP-712 型別化資料。私鑰始終留在瀏覽器中,每個請求都需要在錢包裡明確核准。
適用情境
適合助理需要準備並提交 EVM 交易或簽章、而私鑰由你自己保管並逐筆確認的情境。適用於可以接受每次請求都跳出錢包確認的互動式流程,而不是無人看管的自動簽章。
執行需求
以 npm 套件形式在本機執行,通常用 npx 啟動,因此需要 Node.js。它會啟動與平台相關的 browser-web3-signer 執行檔,由後者負責本機橋接與核准頁面,同時需要安裝瀏覽器錢包擴充功能。選用環境變數:EVM_MCP_DEFAULT_CHAIN 指定預設鏈 ID,EVM_MCP_PORT 指定核准介面連接埠。
安裝前請注意
此伺服器可以要求錢包傳送交易、簽署訊息或型別化資料,可能轉移資金或授權鏈上操作;未經你在錢包中核准不會簽章。README 說明此套件已被 browser-web3-signer 取代,本儲存庫現為相容性外殼,並提到 [email protected] 曾完全無法運作並連帶導致 [email protected] 失效,安裝前請確認版本。餘額工具與 TRON 工具已不再包含。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 EVM Wallet Signer,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-wallet-signer

[npm version] [License: MIT]

[!WARNING] Superseded by browser-web3-signer — the same browser-wallet signing flow, reimplemented in Rust with a CLI plus Rust/TypeScript/Go libraries. Everything published from this repo is now a thin compatibility shim over it, so existing installs keep working; new code should use browser-web3-signer directly.

Your private keys never leave your browser. Every transaction requires explicit approval in your own wallet (MetaMask, Rabby, TronLink, …).

Most blockchain tooling wants a private key in a config file — full, unsupervised access to your funds. These packages route each request to the browser wallet you already use, so you review and approve it like any other dapp interaction.

Packages

PackageWhat it is now
mcp-wallet-signerMCP stdio server: four signing tools over browser-web3-signer
browser-evm-signerThe old WalletSigner EVM library API, re-backed by the Rust bridge
browser-tron-signerThe same for TRON (TronLink, TRC-20, contract deploys)

All three spawn browser-web3-signer serve, which owns the localhost bridge, the approval page and the browser tab. The binary for your platform is installed as a dependency; nothing else to set up.

MCP server

bash
claude mcp add wallet-signer -- npx -y mcp-wallet-signer

Or, for Claude Desktop / Cursor / Windsurf and any other stdio MCP client:

json
{  "mcpServers": {    "wallet-signer": {      "command": "npx",      "args": ["-y", "mcp-wallet-signer"]    }  }}
ToolDescription
connect_walletConnect a wallet, return the address
send_transactionSend value or call a contract, return the tx hash
sign_messagepersonal_sign a message, return the signature
sign_typed_dataSign EIP-712 typed data, return the signature

EVM_MCP_DEFAULT_CHAIN sets the chain id used when a call omits one (default: 1).

Libraries

ts
import { WalletSigner } from "browser-evm-signer";
const signer = new WalletSigner({ defaultChainId: 8453 });const { address } = await signer.connectWallet();const { txHash } = await signer.sendTransaction({ to: "0x…", value: "1000000000000000000" });

What changed in the shims

  • Gone: PendingStore, pendingStore, createHttpServer, startTestServer, buildConnectUrl, buildSignUrl, openBrowser — the in-process HTTP bridge they drove no longer exists.
  • approvalUrl is now the bridge's base URL. The bridge opens the approval page itself and does not hand the per-request URL back.
  • port (the constructor option) is ignored: the bridge binds its own free port. getPort() / DEFAULT_PORT still resolve, for source compatibility.
  • MCP: the balance tools (get_balance, get_token_balance) and the TRON tools are gone from the MCP server. Balances never needed a wallet — any RPC-reading MCP server or cast call does them without an approval prompt — and TRON signing is a CLI away. WalletSigner.getBalance and .getTokenBalance are untouched in both libraries.
  • Deprecated on npm and JSR. [email protected] never worked at all: its exports pointed at ./esm/mod.js while the tarball shipped ./esm/browser-evm-signer/src/mod.js, which took [email protected] down with it (#2).

The pre-shim Deno implementation — the in-process bridge, the Svelte approval UI, the wallet-signer-core package — is in the history, up to commit 636fd3b.

Development

bash
npm installnpm test     # builds, then runs each package's tests against a fake bridge

Releases are per package: tag <package>@<version> and publish a GitHub release.

License

MIT

來源:README.md,提交 5476879

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分