Server data from the Official MCP Registry
Route EVM transactions to browser wallets (MetaMask, etc.) for signing via EIP-6963
About
Route EVM transactions to browser wallets (MetaMask, etc.) for signing via EIP-6963
Security Report
Valid MCP server (1 strong, 4 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
10 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: EVM_MCP_PORT
Environment variable: EVM_MCP_DEFAULT_CHAIN
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-nikicat-mcp-wallet-signer": {
"env": {
"EVM_MCP_PORT": "your-evm-mcp-port-here",
"EVM_MCP_DEFAULT_CHAIN": "your-evm-mcp-default-chain-here"
},
"args": [
"-y",
"mcp-wallet-signer-web"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
mcp-wallet-signer
[!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-signerdirectly.
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
| Package | What it is now |
|---|---|
mcp-wallet-signer | MCP stdio server: four signing tools over browser-web3-signer |
browser-evm-signer | The old WalletSigner EVM library API, re-backed by the Rust bridge |
browser-tron-signer | The 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
claude mcp add wallet-signer -- npx -y mcp-wallet-signer
Or, for Claude Desktop / Cursor / Windsurf and any other stdio MCP client:
{
"mcpServers": {
"wallet-signer": {
"command": "npx",
"args": ["-y", "mcp-wallet-signer"]
}
}
}
| Tool | Description |
|---|---|
connect_wallet | Connect a wallet, return the address |
send_transaction | Send value or call a contract, return the tx hash |
sign_message | personal_sign a message, return the signature |
sign_typed_data | Sign EIP-712 typed data, return the signature |
EVM_MCP_DEFAULT_CHAIN sets the chain id used when a call omits one (default: 1).
Libraries
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. approvalUrlis 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_PORTstill 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 orcast calldoes them without an approval prompt — and TRON signing is a CLI away.WalletSigner.getBalanceand.getTokenBalanceare untouched in both libraries. - Deprecated on npm and JSR.
browser-evm-signer@0.3.0never worked at all: itsexportspointed at./esm/mod.jswhile the tarball shipped./esm/browser-evm-signer/src/mod.js, which tookmcp-wallet-signer@0.6.0down 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
npm install
npm 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
Reviews
No reviews yet
Be the first to review this server!
More Finance MCP Servers
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Lharries · Communication
Read, search, and send WhatsApp messages through your AI assistant
Memory
Freeby Modelcontextprotocol · Productivity
Knowledge graph-based persistent memory across sessions
