MCP Directory

EVM MCP Server

Interact with 60+ EVM chains: balances, transfers, contracts, ENS, and ABI fetching.

Verified
stdio (local)
API key
Stale
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y @mcpdotdirect/evm-mcp-server

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "evm-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@mcpdotdirect/evm-mcp-server"
      ],
      "env": {
        "EVM_PRIVATE_KEY": "<your-evm-private-key-optional>",
        "ETHERSCAN_API_KEY": "<your-etherscan-api-key>"
      }
    }
  }
}

Before you start

  • Bun 1.0.0+ (recommended) or Node.js 20.0.0+
  • Optional: an Etherscan API key (`ETHERSCAN_API_KEY`) for automatic ABI fetching
  • For write operations/transfers: a wallet via `EVM_PRIVATE_KEY` or `EVM_MNEMONIC` (with optional `EVM_ACCOUNT_INDEX`) — read-only tools need no key
  • An MCP-compatible client (Claude Desktop, Cursor, etc.)

About EVM MCP Server

EVM MCP Server is a Model Context Protocol server from mcp.direct that gives AI agents a unified interface to interact with 60+ EVM-compatible blockchains — 34 mainnets (Ethereum, Optimism, Arbitrum, Base, Polygon, Avalanche, BSC, zkSync, and more) and 26 testnets.

It handles reading chain state, transferring native and ERC-20/721/1155 tokens, calling and writing smart contracts, and signing messages. A standout feature is built-in ENS resolution: you can pass names like vitalik.eth to any tool instead of hex addresses.

It also automatically fetches contract ABIs from block explorers (with an optional Etherscan API key), so agents can interact with verified contracts without knowing the ABI in advance, and supports multicall to batch multiple reads into a single RPC call. It runs over stdio or in HTTP/SSE mode for web apps.

Tools & capabilities (12)

get_supported_networks

List all supported EVM chains

get_balance

Get native token balance for an address or ENS name

get_token_balance

Get an ERC-20 token balance

resolve_ens_name

Resolve an ENS name to an address

get_contract_abi

Fetch a verified contract's ABI from a block explorer

read_contract

Call a read-only contract method

write_contract

Send a state-changing contract transaction

multicall

Batch multiple contract reads into one RPC call

transfer_native

Transfer native coin (e.g. ETH) to an address or ENS name

transfer_erc20

Transfer ERC-20 tokens

get_nft_info

Fetch ERC-721 NFT metadata/info

sign_typed_data

Sign EIP-712 typed data

When to use it

  • You want an AI agent to read balances and chain state across many EVM networks with one tool set
  • You're interacting with verified contracts and want ABIs fetched automatically instead of hardcoding them
  • You want to use ENS names like `vitalik.eth` in place of raw addresses
  • You need to transfer native coins or ERC-20/721/1155 tokens programmatically
  • You want to batch multiple contract reads with multicall to reduce RPC round-trips
  • You need EIP-712 / SIWE / permit message signing from an agent workflow

Quick setup

  1. 1Run with `npx @mcpdotdirect/evm-mcp-server` (stdio), or add `--http` for HTTP/SSE mode on port 3001
  2. 2Optionally set `ETHERSCAN_API_KEY` to enable automatic ABI fetching
  3. 3For write actions, set `EVM_PRIVATE_KEY` or `EVM_MNEMONIC` in the env block
  4. 4Add the server to your MCP client config with the npx command
  5. 5Restart your MCP client and confirm the EVM tools appear
  6. 6Verify by listing supported networks or checking a balance for an ENS name

Security notes

Providing EVM_PRIVATE_KEY or EVM_MNEMONIC lets the server sign and broadcast transactions that move real crypto; use a dedicated low-value wallet and omit the key entirely for read-only use. Never paste a mainnet seed phrase you also use elsewhere.

EVM MCP Server FAQ

How many chains does it support?

60+ EVM networks: 34 mainnets (Ethereum, Optimism, Arbitrum, Base, Polygon, Avalanche, BSC, zkSync, etc.) and 26 testnets.

Do I need a private key?

Only for write/transfer operations. Read-only tools (balances, contract reads, ENS, ABI fetching) work without any wallet credentials.

Can it run as a remote/HTTP server?

Yes. It runs over stdio by default, or in HTTP mode with an SSE endpoint (e.g. http://localhost:3001/sse) using the `--http` flag for web applications.

Do I need an Etherscan API key?

It's optional. Without it basic functionality works; with `ETHERSCAN_API_KEY` set, the server can automatically fetch ABIs for verified contracts.

Does it support ENS names?

Yes. ENS resolution is built in, so you can pass names like `vitalik.eth` to any tool that accepts an address.

Alternatives to EVM MCP Server

Official Stripe server for payments, customers, subscriptions, invoices, and billing via natural language.

Featured
Verified
stdio (local)
API key
TypeScript
12 tools
Updated 1 month agoRepo

Coinbase's AgentKit MCP extension for onchain actions: transfers, swaps, and contract calls.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 1 month agoRepo

Alpaca's official trading server for stocks, ETFs, options, and crypto in plain English.

Verified
stdio (local)
API key
Python
12 tools
Updated 26 days agoRepo