📇 ☁️ - Access EVM JSON-RPC methods through any EVM-compatible node provider, such as Infura, Alchemy,…
⛽ EVM MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **Complete EVM JSON-RPC access in your AI workflow.** Query any EVM-compatible network (Ethereum, Polygon, Arbitrum, Optimism, BSC, and more) through any node provider. Works with Infura, Alchemy, QuickNode, local nodes, and more.
An MCP (Model Context Protocol) server that provides comprehensive access to Ethereum Virtual Machine (EVM) JSON-RPC methods for AI coding environments like Cursor and Claude Desktop.
Why Use EVM MCP?
- 🌐 **Any EVM Network** – Ethereum, Polygon, Arbitrum, Optimism, BSC, Avalanche, and more
- 🔌 **Any Node Provider** – Infura, Alchemy, QuickNode, local nodes, or custom RPC
- 📊 **20+ RPC Methods** – Complete access to blockchain data, transactions, and contracts
- ⚡ **Easy Setup** – One-click install in Cursor or simple manual setup
- 🔧 **Flexible Configuration** – Works with any JSON-RPC compatible endpoint
Quick Start
Ready to interact with EVM blockchains? Install in seconds:
**Install in Cursor (Recommended):**
🔗 Install in Cursor
**Or install manually:**
Features
🔢 Blockchain Data
- **eth_blockNumber** – Get latest block number
- **eth_getBalance** – Get account balance
- **eth_getTransactionCount** – Get transaction count (nonce)
- **eth_getBlockByNumber** – Get block information
- **eth_getTransactionByHash** – Get transaction details
- **eth_getTransactionReceipt** – Get transaction receipt
- **eth_getCode** – Get contract bytecode
- **eth_getStorageAt** – Get storage value
🔄 Transactions
- **eth_call** – Execute contract call
- **eth_estimateGas** – Estimate gas for transaction
- **eth_sendRawTransaction** – Send signed transaction
- **eth_gasPrice** – Get current gas price
🧪 Transaction Simulation (read-only, never broadcasts)
Craft transactions in natural language and simulate them against forked/overridden EVM state. Reports whether a transaction would succeed or revert, the revert reason in plain English, estimated gas, and balance/state changes. Supports address aliases and ENS names (e.g. alice.eth). By default the sender is funded with virtual ETH so a simulation can run "from" any address; set fund: false to use real balances.
- **simulate_native_transfer** – Simulate sending native currency (e.g. "Transfer 100 ETH from A to B")
- **simulate_erc20_transfer** – Simulate an ERC20 transfer with human amounts (e.g. "Transfer 10 USDC to alice.eth from fun.eth")
- **simulate_contract_call** – Encode a function signature + args and simulate the call
- **simulate_transaction** – Simulate a raw transaction (from/to/value/data)
- **encode_function_data** – Encode calldata from a human-readable signature (pure helper, no RPC)
> These tools only use eth_call, eth_estimateGas, and debug_traceCall (when the provider supports it). They never sign or send a real transaction. Real state diffs are used when debug_traceCall is available; otherwise changes are inferred from the decoded intent.
📊 Events & Logs
- **eth_getLogs** – Get event logs
🌍 Network
- **list_supported_networks** – List configured networks and providers
- **list_known_addresses** – List configured wallet aliases and known token/contract addresses
- **eth_chainId** – Get chain ID
- **net_version** – Get network version
- **net_listening** – Check if listening
- **net_peerCount** – Get peer count
🌐 Web3
- **web3_clientVersion** – Get client version
- **web3_sha3** – Hash data with Keccak-256
Installation
Cursor (One-Click)
Click the install link above or use:
Manual Installation
**Requirements:** Node.js 18+ and npm
Claude Desktop
Add to claude_desktop_config.json:
**macOS**: ~/Library/Application Support/Claude/claude_desktop_config.json
**Windows**: %APPDATA%\Claude\claude_desktop_config.json