EVM MCP Server

by MCP-Mirror

285 downloads
Not rated
GitHub

About

EVM MCP Server is an MCP server that provides blockchain services across 30+ EVM-compatible networks, enabling AI agents to read blockchain state, interact with smart contracts, transfer tokens, and resolve ENS names with a unified interface.

Details

Author
MCP-Mirror
Downloads
285
Categories
Other

- Multi-chain support for 30+ EVM networks.
- ENS name resolution for all address parameters.
- Token services for ERC20, ERC721, and ERC1155.
- Smart contract read/write interactions.
- Native token transfers and gas estimation.
- stdio and HTTP/SSE transport modes.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name EVM MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with Bun or npm, then start the server in stdio mode (bun start or npx @mcpdotdirect/evm-mcp-server) or HTTP mode with SSE (bun start:http). Connect using any MCP-compatible client; Cursor and Claude CLI configurations are provided.

get_wallet_address

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

get_chain_info

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

get_supported_networks

Get a list of all supported EVM networks

get_gas_price

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

resolve_ens_name

Resolve an ENS name to an Ethereum address

lookup_ens_address

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

get_block

Get block details by block number or hash

get_latest_block

Get the latest block from the network

get_balance

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

get_token_balance

Get the ERC20 token balance for an address

get_allowance

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

Get transaction details by transaction hash

get_transaction_receipt

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

wait_for_transaction

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

get_contract_abi

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.

read_contract

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.

write_contract

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).

multicall

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

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

transfer_erc20

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

approve_token_spending

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

get_nft_info

Get information about an ERC721 NFT including metadata URI

get_erc1155_balance

Get ERC1155 token balance for an address

sign_message

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_typed_data

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

EVM MCP Server

License: MIT
EVM Networks
TypeScript
Viem

A comprehensive Model Context Protocol (MCP) server that provides blockchain services across multiple 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.

📋 Contents

- Overview
- Features
- Supported Networks
- Prerequisites
- Installation
- Server Configuration
- Usage
- API Reference
- Tools
- Resources
- Security Considerations
- Project Structure
- Development
- License

🔭 Overview

The MCP EVM Server leverages the Model Context Protocol to provide blockchain services to AI agents. It supports a wide range of services including:

- Reading blockchain state (balances, transactions, blocks, etc.)
- Interacting with smart contracts
- Transferring tokens (native, ERC20, ERC721, ERC1155)
- Querying token metadata and balances
- Chain-specific services across 30+ EVM networks
- ENS name resolution for all address parameters (use human-readable names like 'vitalik.eth' instead of addresses)

All services are exposed through a consistent interface of MCP tools and resources, 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.

✨ Features

Blockchain Data Access

- Multi-chain support for 30+ EVM-compatible networks
- 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 services with private key signing
- Contract verification to distinguish from EOAs
- Event logs retrieval and filtering

Comprehensive Transaction Support

- Native token transfers across all supported networks
- Gas estimation for transaction planning
- Transaction status and receipt information
- Error handling with descriptive messages

🌐 Supported Networks

Mainnets

- Ethereum (ETH) - Optimism (OP) - Arbitrum (ARB) - Arbitrum Nova - Base - Polygon (MATIC) - Polygon zkEVM - Avalanche (AVAX) - Binance Smart Chain (BSC) - zkSync Era - Linea - Celo - Gnosis (xDai) - Fantom (FTM) - Filecoin (FIL) - Moonbeam - Moonriver - Cronos - Scroll - Mantle - Manta - Blast - Fraxtal - Mode - Metis - Kroma - Zora - Aurora - Canto - Flow - Lumia

Testnets

- Sepolia - Optimism Sepolia - Arbitrum Sepolia - Base Sepolia - Polygon Amoy - Avalanche Fuji - BSC Testnet - zkSync Sepolia - Linea Sepolia - Scroll Sepolia - Mantle Sepolia - Manta Sepolia - Blast Sepolia - Fraxtal Testnet - Mode Testnet - Metis Sepolia - Kroma Sepolia - Zora Sepolia - Celo Alfajores - Goerli - Holesky - Flow Testnet - Lumia Testnet

🛠️ Prerequisites

- Bun 1.0.0 or higher
- Node.js 18.0.0 or higher (if not using Bun)

📦 Installation

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.