# Add to your Claude Code skills
git clone https://github.com/mcpdotdirect/evm-mcp-server
README.md
EVM MCP Server
A comprehensive Model Context Protocol (MCP) server that provides blockchain services across 60+ EVM-compatible networks. This server enables AI agents to interact with Ethereum, Optimism, Arbitrum, Base, Polygon, and many other EVM chains with a unified interface through 22 tools and 10 AI-guided prompts.
ENS name resolution for all address parameters (use human-readable names like 'vitalik.eth' instead of addresses)
AI-friendly prompts that guide agents through complex workflows
All services are exposed through a consistent interface of MCP tools, resources, and prompts, making it easy for AI agents to discover and use blockchain functionality. Every tool that accepts Ethereum addresses also supports ENS names, automatically resolving them to addresses behind the scenes. The server includes intelligent ABI fetching, eliminating the need to know contract ABIs in advance.
✨ Features
Blockchain Data Access
Multi-chain support for 60+ EVM-compatible networks (34 mainnets + 26 testnets)
Chain information including blockNumber, chainId, and RPCs
Block data access by number, hash, or latest
Transaction details and receipts with decoded logs
Address balances for native tokens and all token standards
ENS resolution for human-readable Ethereum addresses (use 'vitalik.eth' instead of '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045')
Token services
ERC20 Tokens
Get token metadata (name, symbol, decimals, supply)
Check token balances
Transfer tokens between addresses
Approve spending allowances
NFTs (ERC721)
Get collection and token metadata
Verify token ownership
Transfer NFTs between addresses
Retrieve token URIs and count holdings
Multi-tokens (ERC1155)
Get token balances and metadata
Transfer tokens with quantity
Access token URIs
Smart Contract Interactions
Read contract state through view/pure functions
Write to contracts - Execute any state-changing function with automatic ABI fetching
Contract verification to distinguish from EOAs
Event logs retrieval and filtering
Automatic ABI fetching from Etherscan v2 API across all 60+ networks (no need to know ABIs in advance)
ABI parsing and validation with function discovery
Comprehensive Transaction Support
Flexible Wallet Support - Configure with Private Key or Mnemonic (BIP-39) with HD path support
Native token transfers across all supported networks
Gas estimation for transaction planning
Transaction status and receipt information
Error handling with descriptive messages
Message Signing Capabilities
Personal Message Signing - Sign arbitrary messages for authentication and verification
EIP-712 Typed Data Signing - Sign structured data for gasless transactions and meta-transactions
SIWE Support - Enable Sign-In With Ethereum authentication flows
Permit Signatures - Create off-chain approvals for gasless token operations
Meta-Transaction Support - Sign transaction data for relay services and gasless transfers
AI-Guided Workflows (Prompts)
Transaction preparation - Guidance for planning and executing transfers
Wallet analysis - Tools for analyzing wallet activity and holdings
Smart contract exploration - Interactive ABI fetching and contract analysis
Contract interaction - Safe execution of write operations on smart contracts
Network information - Learning about EVM networks and comparisons
Approval auditing - Reviewing and managing token approvals
# Clone the repository
git clone https://github.com/mcpdotdirect/mcp-evm-server.git
cd mcp-evm-server
# Install dependencies with Bun
bun install
# Or with npm
npm install
⚙️ Configuration
Environment Variables
The server uses the following environment variables. For write operations and ABI fetching, you must configure these variables:
Wallet Configuration (For Write Operations)
You can configure your wallet using either a private key or a mnemonic phrase:
Option 1: Private Key
export EVM_PRIVATE_KEY="0x..." # Your private key in hex format (with or without 0x prefix)
Option 2: Mnemonic Phrase (Recommended for HD Wallets)
export EVM_MNEMONIC="word1 word2 word3 ... word12" # Your 12 or 24 word BIP-39 mnemonic
export EVM_ACCOUNT_INDEX="0" # Optional: Account index for HD wallet derivation (default: 0)
The mnemonic option supports hierarchical deterministic (HD) wallet derivation:
Uses BIP-39 standard mnemonic phrases (12 or 24 words)
The same key works across all 60+ EVM networks via the Etherscan v2 API
Server Configuration
The server uses the following default configuration:
Default Chain ID: 1 (Ethereum Mainnet)
Server Port: 3001
Server Host: 0.0.0.0 (accessible from any network interface)
These values are hardcoded in the application. If you need to modify them, you can edit the following files:
For chain configuration: src/core/chains.ts
For server configuration: src/server/http-server.ts
🚀 Usage
Using npx (No Installation Required)
You can run the MCP EVM Server directly without installation using npx:
# Run the server in stdio mode (for CLI tools)
npx @mcpdotdirect/evm-mcp-server
# Run the server in HTTP mode (for web applications)
npx @mcpdotdirect/evm-mcp-server --http
Running the Server Locally
Start the server using stdio (for embedding in CLI tools):
# Start the stdio server
bun start
# Development mode with auto-reload
bun dev
Or start the HTTP server with SSE for web applications:
# Start the HTTP server
bun start:http
# Development mode with auto-reload
bun dev:http
Connecting to the Server
Connect to this MCP server using any MCP-compatible client. For testing and debugging, you can use the MCP Inspector.
Connecting from Cursor
To connect to the MCP server from Cursor:
Open Cursor and go to Settings (gear icon in the bottom left)
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.