evm-mcp-server
evm-mcp-server is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of evm-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A comprehensive Model Context Protocol (MCP) server that provides blockchain services across multiple EVM-compatible networks.
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, interacting with smart contracts, transferring tokens, querying token metadata and balances, and chain-specific services across 30+ EVM networks. ENS name resolution is supported for all address parameters, allowing the use of 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, block data access, transaction details, address balances, and ENS resolution.
- Token Services: ERC20, ERC721, and ERC1155 token services including metadata retrieval, balance checks, transfers, and approvals.
- Smart Contract Interactions: Read and write contract state, contract verification, and event logs retrieval.
- Comprehensive Transaction Support: Native token transfers, gas estimation, transaction status, and error handling.
Tools
get_chain_info
Get information about an EVM network
resolve_ens
Resolve an ENS name to an Ethereum address
get_supported_networks
Get a list of supported EVM networks
get_block_by_number
Get a block by its block number
get_latest_block
Get the latest block from the EVM
get_balance
Get the native token balance (ETH, MATIC, etc.) for an address
get_erc20_balance
Get the ERC20 token balance of an Ethereum address
get_token_balance
Get the balance of an ERC20 token for an address
get_transaction
Get detailed information about a specific transaction by its hash. Includes sender, recipient, value, data, and more.
get_transaction_receipt
Get a transaction receipt by its hash
estimate_gas
Estimate the gas cost for a transaction
transfer_eth
Transfer native tokens (ETH, MATIC, etc.) to an address
transfer_erc20
Transfer ERC20 tokens to another address
approve_token_spending
Approve another address (like a DeFi protocol or exchange) to spend your ERC20 tokens. This is often required before interacting with DeFi protocols.
transfer_nft
Transfer an NFT (ERC721 token) from one address to another. Requires the private key of the current owner for signing the transaction.
transfer_erc1155
Transfer ERC1155 tokens to another address. ERC1155 is a multi-token standard that can represent both fungible and non-fungible tokens in a single contract.
transfer_token
Transfer ERC20 tokens to an address
read_contract
Read data from a smart contract by calling a view/pure function. This doesn't modify blockchain state and doesn't require gas or signing.
write_contract
Write data to a smart contract by calling a state-changing function. This modifies blockchain state and requires gas payment and transaction signing.
is_contract
Check if an address is a smart contract or an externally owned account (EOA)
get_token_info
Get comprehensive information about an ERC20 token including name, symbol, decimals, total supply, and other metadata. Use this to analyze any token on EVM chains.
get_token_balance_erc20
Get ERC20 token balance for an address
get_nft_info
Get detailed information about a specific NFT (ERC721 token), including collection name, symbol, token URI, and current owner if available.
check_nft_ownership
Check if an address owns a specific NFT
get_erc1155_token_uri
Get the metadata URI for an ERC1155 token (multi-token standard used for both fungible and non-fungible tokens). The URI typically points to JSON metadata about the token.
get_nft_balance
Get the total number of NFTs owned by an address from a specific collection. This returns the count of NFTs, not individual token IDs.
get_erc1155_balance
Get the balance of a specific ERC1155 token ID owned by an address. ERC1155 allows multiple tokens of the same ID, so the balance can be greater than 1.
get_address_from_private_key
Get the EVM address derived from a private key