MCP.so
Sign In

EVM MCP Server

@mcpdotdirect

About EVM MCP Server

MCP server that provides LLMs with tools for interacting with EVM networks

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "evm-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@mcpdotdirect/evm-mcp-server"
      ]
    },
    "evm-mcp-http": {
      "command": "npx",
      "args": [
        "-y",
        "@mcpdotdirect/evm-mcp-server",
        "--http"
      ]
    }
  }
}

Tools

25

Get the address of the configured wallet. Use this to verify which wallet is active.

Get information about an EVM network: chain ID, current block number, and RPC endpoint

Get a list of all supported EVM networks

Get current gas prices (base fee, standard, and fast) for a network

Resolve an ENS name to an Ethereum address

Lookup the ENS name for an Ethereum address (reverse resolution)

Get block details by block number or hash

Get the latest block from the network

Get the native token balance (ETH, MATIC, etc.) for an address

Get the ERC20 token balance for an address

Check the allowance granted to a spender for a token. This tells you how much of a token an address can spend on your behalf.

Get transaction details by transaction hash

Get transaction receipt (confirmation status, gas used, logs). Use this to check if a transaction has been confirmed.

Wait for a transaction to be confirmed (mined). Polls the network until confirmation.

Fetch a contract's full ABI from Etherscan/block explorers. Use this to understand verified contracts before interacting. Requires ETHERSCAN_API_KEY. Supports 30+ EVM networks. Works best with verified contracts on block explorers.

Call read-only functions on a smart contract. Automatically fetches ABI from block explorer if not provided (requires ETHERSCAN_API_KEY). Falls back to common functions if contract is not verified. Use this to query contract state and data.

Execute state-changing functions on a smart contract. Automatically fetches ABI from block explorer if not provided (requires ETHERSCAN_API_KEY). Use this to call any write function on verified contracts. Requires wallet to be configured (via private key or mnemonic).

Batch multiple contract read calls into a single RPC request. Significantly reduces latency and RPC usage when querying multiple functions. Uses the Multicall3 contract deployed on all major networks. Perfect for portfolio analysis, price aggregation, and querying multiple contract states efficiently.

Transfer native tokens (ETH, MATIC, etc.) to an address. Uses the configured wallet.

Transfer ERC20 tokens to an address. Uses the configured wallet.

Approve a spender (contract) to spend tokens on your behalf. Required before interacting with DEXes, lending protocols, etc.

Get information about an ERC721 NFT including metadata URI

Get ERC1155 token balance for an address

Sign an arbitrary message using the configured wallet. Useful for authentication (SIWE), meta-transactions, and off-chain signatures. The signature can be verified on-chain or off-chain.

Sign structured data (EIP-712) using the configured wallet. Used for gasless transactions, meta-transactions, permit signatures, and protocol-specific signatures. The signature follows the EIP-712 standard.

Overview

What is EVM MCP Server?

The EVM MCP Server is a Model Context Protocol server that provides blockchain services across 60+ EVM-compatible networks. It enables AI agents to interact with Ethereum, Optimism, Arbitrum, Base, Polygon, and many other chains through 22 tools and 10 AI-guided prompts, supporting reading blockchain state, smart contract interactions, token transfers, and message signing.

How to use EVM MCP Server?

Install with Bun or npm, configure environment variables (EVM_PRIVATE_KEY or EVM_MNEMONIC for wallet operations, and optionally ETHERSCAN_API_KEY for ABI fetching). Run using npx @mcpdotdirect/evm-mcp-server (stdio mode) or add --http for HTTP/SSE mode. Connect from any MCP-compatible client, such as Cursor via its MCP settings.

Key features of EVM MCP Server

  • Multi-chain support for 60+ EVM networks (34 mainnets + 26 testnets)
  • ENS name resolution for all address parameters
  • Automatic ABI fetching from Etherscan v2 API
  • Token services for ERC20, ERC721, and ERC1155 standards
  • Smart contract read/write with automatic ABI retrieval
  • Message signing including EIP-712 typed data and SIWE
  • AI-guided prompts for complex blockchain workflows

Use cases of EVM MCP Server

  • Prepare and execute token transfers across multiple EVM chains
  • Analyze wallet activity and holdings with natural language queries
  • Interactively explore and interact with smart contracts
  • Audit and manage token spending approvals
  • Compare EVM network information and troubleshoot transactions

FAQ from EVM MCP Server

What dependencies are required to run the server?

The server requires Bun 1.0.0+ or Node.js 20.0.0+. An Etherscan API key is optional but needed for automatic ABI fetching.

How can I connect to the server?

Run the server using npx @mcpdotdirect/evm-mcp-server for stdio mode, or add --http for HTTP/SSE mode. Connect from Cursor or any MCP-compatible client using a command or URL configuration.

Which networks are supported?

60+ EVM networks are supported, including 34 mainnets (Ethereum, Optimism, Arbitrum, Base, Polygon, etc.) and 26 testnets (Sepolia, Optimism Sepolia, etc.). The default chain is Ethereum mainnet.

How does the server handle ABI fetching?

ABIs are automatically fetched from the Etherscan v2 API using an optional ETHERSCAN_API_KEY environment variable. This eliminates the need to know contract ABIs in advance.

Can I use human-readable names for addresses?

Yes, every tool that accepts Ethereum addresses also supports ENS names (e.g., 'vitalik.eth'), which are automatically resolved to addresses behind the scenes.

Frequently asked questions

What dependencies are required to run the server?

The server requires Bun 1.0.0+ or Node.js 20.0.0+. An Etherscan API key is optional but needed for automatic ABI fetching.

How can I connect to the server?

Run the server using `npx @mcpdotdirect/evm-mcp-server` for stdio mode, or add `--http` for HTTP/SSE mode. Connect from Cursor or any MCP-compatible client using a command or URL configuration.

Which networks are supported?

60+ EVM networks are supported, including 34 mainnets (Ethereum, Optimism, Arbitrum, Base, Polygon, etc.) and 26 testnets (Sepolia, Optimism Sepolia, etc.). The default chain is Ethereum mainnet.

How does the server handle ABI fetching?

ABIs are automatically fetched from the Etherscan v2 API using an optional `ETHERSCAN_API_KEY` environment variable. This eliminates the need to know contract ABIs in advance.

Can I use human-readable names for addresses?

Yes, every tool that accepts Ethereum addresses also supports ENS names (e.g., 'vitalik.eth'), which are automatically resolved to addresses behind the scenes.

Comments

More Other MCP servers