Back to MCP Catalog

EVM Blockchain Interaction MCP Server

Finance & FintechTypeScript
Interact with 30+ EVM-compatible blockchain networks
Available Tools

getChainInfo

Get information about a specific blockchain network including chainId, blockNumber, and RPC URL

network

getAddressBalance

Get the native token balance of an address on a specific network (supports ENS names)

addressnetwork

getBlockByNumber

Get block information by block number

blockNumbernetwork

getBlockByHash

Get block information by block hash

blockHashnetwork

getLatestBlock

Get the latest block information on a specific network

network

getTransaction

Get transaction details by transaction hash

txHashnetwork

getTransactionReceipt

Get transaction receipt by transaction hash

txHashnetwork

transferNativeTokens

Transfer native tokens (ETH, MATIC, etc.) to an address

toamountprivateKeynetwork

getERC20TokenInfo

Get ERC20 token information (name, symbol, decimals, totalSupply)

tokenAddressnetwork

getERC20TokenBalance

Get ERC20 token balance for an address

tokenAddressaddressnetwork

transferERC20Tokens

Transfer ERC20 tokens to an address

tokenAddresstoamountprivateKeynetwork

approveERC20Tokens

Approve an address to spend ERC20 tokens

tokenAddressspenderamountprivateKeynetwork

getNFTMetadata

Get metadata for an NFT (ERC721 token)

contractAddresstokenIdnetwork

getNFTOwner

Get the owner of an NFT (ERC721 token)

contractAddresstokenIdnetwork

transferNFT

Transfer an NFT (ERC721 token) to another address

contractAddresstokenIdtoprivateKeynetwork

getERC1155TokenBalance

Get ERC1155 token balance for an address

contractAddresstokenIdaddressnetwork

transferERC1155Tokens

Transfer ERC1155 tokens to an address

contractAddresstokenIdtoamountprivateKeynetwork

readContract

Read data from a smart contract using its ABI

contractAddressabifunctionNameargsnetwork

writeContract

Write data to a smart contract using its ABI and a private key

contractAddressabifunctionNameargsprivateKeynetwork

isContract

Check if an address is a contract or an externally owned account (EOA)

addressnetwork

getContractEvents

Get events emitted by a contract

contractAddresseventNameabifromBlocktoBlocknetwork

estimateGas

Estimate gas required for a transaction

todatavaluenetwork

The EVM Blockchain Interaction MCP provides a comprehensive interface for AI agents to interact with Ethereum and 30+ other EVM-compatible blockchain networks. It enables reading blockchain state, interacting with smart contracts, transferring various token types (native, ERC20, ERC721, ERC1155), and querying token metadata across multiple chains. With built-in ENS name resolution, this MCP allows the use of human-readable addresses like 'vitalik.eth' instead of complex hexadecimal addresses. The unified interface makes blockchain functionality easily discoverable and accessible for AI agents, regardless of which specific EVM network they need to interact with.

Installation

To use the EVM Blockchain Interaction MCP, you'll need to add it to your MCP configuration:

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

You can also install it globally and run it directly:

# Install globally
npm install -g @mcpdotdirect/evm-mcp-server

# Run the server
evm-mcp-server

Configuration

The server uses the following default configuration:

  • Port: 8000 (can be customized via PORT environment variable)
  • Host: 0.0.0.0 (can be customized via HOST environment variable)
  • RPC Providers: Public RPC endpoints for each supported network

For production use, you may want to configure custom RPC providers for better reliability and rate limits. You can do this by setting environment variables for specific networks:

ETH_RPC_URL=https://your-ethereum-rpc-url
OPTIMISM_RPC_URL=https://your-optimism-rpc-url

Security Considerations

When using this MCP with private keys for transaction signing:

  1. Never share your private keys with the AI model directly
  2. Use environment variables to securely store private keys
  3. Consider using a dedicated wallet with limited funds for testing
  4. For production applications, implement proper key management solutions

Supported Networks

The MCP supports 30+ EVM-compatible networks including:

Mainnets

  • Ethereum, Optimism, Arbitrum, Base, Polygon, Avalanche, Binance Smart Chain, zkSync Era, Linea, Celo, Gnosis, Fantom, and many more

Testnets

  • Sepolia, Optimism Sepolia, Arbitrum Sepolia, Base Sepolia, Polygon Amoy, and other test networks

Usage Examples

Reading Blockchain Data

To check an address balance:

getAddressBalance({ address: "vitalik.eth", network: "ethereum" })

Token Interactions

To get ERC20 token information:

getERC20TokenInfo({ tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", network: "ethereum" })

To transfer ERC20 tokens:

transferERC20Tokens({ 
  tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", 
  to: "recipient.eth", 
  amount: "100", 
  privateKey: "YOUR_PRIVATE_KEY", 
  network: "ethereum" 
})

Smart Contract Interactions

To read from a smart contract:

readContract({ 
  contractAddress: "0x1234...", 
  abi: [...], 
  functionName: "balanceOf", 
  args: ["0xabcd..."], 
  network: "optimism" 
})

NFT Operations

To get NFT metadata:

getNFTMetadata({ 
  contractAddress: "0x1234...", 
  tokenId: "42", 
  network: "polygon" 
})

Related MCPs

TastyTrade Portfolio Manager
Finance & FintechPython

Manage your TastyTrade brokerage account through Claude

Investor Agent
Finance & FintechPython

Financial analysis and investment insights for LLMs

Bankless Onchain
Finance & FintechTypeScript

Access and interact with blockchain data through the Bankless API

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.