evm-mcp-server

evm-mcp-server

4.2

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.

get_chain_info

Get information about an EVM network

Try it

Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

      Result:

      resolve_ens

      Resolve an ENS name to an Ethereum address

      Try it

      ENS name to resolve (e.g., 'vitalik.eth')

        Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. ENS resolution works best on Ethereum mainnet. Defaults to Ethereum mainnet.

            Result:

            get_supported_networks

            Get a list of supported EVM networks

            Try it

              Result:

              get_block_by_number

              Get a block by its block number

              Try it

              The block number to fetch

                Network name or chain ID. Defaults to Ethereum mainnet.

                    Result:

                    get_latest_block

                    Get the latest block from the EVM

                    Try it

                    Network name or chain ID. Defaults to Ethereum mainnet.

                        Result:

                        get_balance

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

                        Try it

                        The wallet address or ENS name (e.g., '0x1234...' or 'vitalik.eth') to check the balance for

                          Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                              Result:

                              get_erc20_balance

                              Get the ERC20 token balance of an Ethereum address

                              Try it

                              The Ethereum address to check

                                The ERC20 token contract address

                                  Network name or chain ID. Defaults to Ethereum mainnet.

                                      Result:

                                      get_token_balance

                                      Get the balance of an ERC20 token for an address

                                      Try it

                                      The contract address or ENS name of the ERC20 token (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC or 'uniswap.eth')

                                        The wallet address or ENS name to check the balance for (e.g., '0x1234...' or 'vitalik.eth')

                                          Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                              Result:

                                              get_transaction

                                              Get detailed information about a specific transaction by its hash. Includes sender, recipient, value, data, and more.

                                              Try it

                                              The transaction hash to look up (e.g., '0x1234...')

                                                Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Defaults to Ethereum mainnet.

                                                    Result:

                                                    get_transaction_receipt

                                                    Get a transaction receipt by its hash

                                                    Try it

                                                    The transaction hash to look up

                                                      Network name or chain ID. Defaults to Ethereum mainnet.

                                                          Result:

                                                          estimate_gas

                                                          Estimate the gas cost for a transaction

                                                          Try it

                                                          The recipient address

                                                            The amount of ETH to send in ether (e.g., '0.1')

                                                              The transaction data as a hex string

                                                                Network name or chain ID. Defaults to Ethereum mainnet.

                                                                    Result:

                                                                    transfer_eth

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

                                                                    Try it

                                                                    Private key of the sender account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                      The recipient address or ENS name (e.g., '0x1234...' or 'vitalik.eth')

                                                                        Amount to send in ETH (or the native token of the network), as a string (e.g., '0.1')

                                                                          Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                                                              Result:

                                                                              transfer_erc20

                                                                              Transfer ERC20 tokens to another address

                                                                              Try it

                                                                              Private key of the sending account (this is used for signing and is never stored)

                                                                                The address of the ERC20 token contract

                                                                                  The recipient address

                                                                                    The amount of tokens to send (in token units, e.g., '10' for 10 tokens)

                                                                                      Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                                                                          Result:

                                                                                          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.

                                                                                          Try it

                                                                                          Private key of the token owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                                            The contract address of the ERC20 token to approve for spending (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC on Ethereum)

                                                                                              The contract address being approved to spend your tokens (e.g., a DEX or lending protocol)

                                                                                                The amount of tokens to approve in token units, not wei (e.g., '1000' to approve spending 1000 tokens). Use a very large number for unlimited approval.

                                                                                                  Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Defaults to Ethereum mainnet.

                                                                                                      Result:

                                                                                                      transfer_nft

                                                                                                      Transfer an NFT (ERC721 token) from one address to another. Requires the private key of the current owner for signing the transaction.

                                                                                                      Try it

                                                                                                      Private key of the NFT owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                                                        The contract address of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for Bored Ape Yacht Club)

                                                                                                          The ID of the specific NFT to transfer (e.g., '1234')

                                                                                                            The recipient wallet address that will receive the NFT

                                                                                                              Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Most NFTs are on Ethereum mainnet, which is the default.

                                                                                                                  Result:

                                                                                                                  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.

                                                                                                                  Try it

                                                                                                                  Private key of the token owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                                                                    The contract address of the ERC1155 token collection (e.g., '0x76BE3b62873462d2142405439777e971754E8E77')

                                                                                                                      The ID of the specific token to transfer (e.g., '1234')

                                                                                                                        The quantity of tokens to send (e.g., '1' for a single NFT or '10' for 10 fungible tokens)

                                                                                                                          The recipient wallet address that will receive the tokens

                                                                                                                            Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. ERC1155 tokens exist across many networks. Defaults to Ethereum mainnet.

                                                                                                                                Result:

                                                                                                                                transfer_token

                                                                                                                                Transfer ERC20 tokens to an address

                                                                                                                                Try it

                                                                                                                                Private key of the sender account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                                                                                  The contract address or ENS name of the ERC20 token to transfer (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC or 'uniswap.eth')

                                                                                                                                    The recipient address or ENS name that will receive the tokens (e.g., '0x1234...' or 'vitalik.eth')

                                                                                                                                      Amount of tokens to send as a string (e.g., '100' for 100 tokens). This will be adjusted for the token's decimals.

                                                                                                                                        Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                                                                                                                            Result:

                                                                                                                                            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.

                                                                                                                                            Try it

                                                                                                                                            The address of the smart contract to interact with

                                                                                                                                              The ABI (Application Binary Interface) of the smart contract function, as a JSON array

                                                                                                                                              Unsupported field schema for field root_abi: Missing items definition.

                                                                                                                                              {
                                                                                                                                                "type": "array",
                                                                                                                                                "description": "The ABI (Application Binary Interface) of the smart contract function, as a JSON array"
                                                                                                                                              }

                                                                                                                                                The name of the function to call on the contract (e.g., 'balanceOf')

                                                                                                                                                  The arguments to pass to the function, as an array (e.g., ['0x1234...'])

                                                                                                                                                  Unsupported field schema for field root_args: Missing items definition.

                                                                                                                                                  {
                                                                                                                                                    "type": "array",
                                                                                                                                                    "description": "The arguments to pass to the function, as an array (e.g., ['0x1234...'])"
                                                                                                                                                  }

                                                                                                                                                    Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Defaults to Ethereum mainnet.

                                                                                                                                                        Result:

                                                                                                                                                        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.

                                                                                                                                                        Try it

                                                                                                                                                        The address of the smart contract to interact with

                                                                                                                                                          The ABI (Application Binary Interface) of the smart contract function, as a JSON array

                                                                                                                                                          Unsupported field schema for field root_abi: Missing items definition.

                                                                                                                                                          {
                                                                                                                                                            "type": "array",
                                                                                                                                                            "description": "The ABI (Application Binary Interface) of the smart contract function, as a JSON array"
                                                                                                                                                          }

                                                                                                                                                            The name of the function to call on the contract (e.g., 'transfer')

                                                                                                                                                              The arguments to pass to the function, as an array (e.g., ['0x1234...', '1000000000000000000'])

                                                                                                                                                              Unsupported field schema for field root_args: Missing items definition.

                                                                                                                                                              {
                                                                                                                                                                "type": "array",
                                                                                                                                                                "description": "The arguments to pass to the function, as an array (e.g., ['0x1234...', '1000000000000000000'])"
                                                                                                                                                              }

                                                                                                                                                                Private key of the sending account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.

                                                                                                                                                                  Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Defaults to Ethereum mainnet.

                                                                                                                                                                      Result:

                                                                                                                                                                      is_contract

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

                                                                                                                                                                      Try it

                                                                                                                                                                      The wallet or contract address or ENS name to check (e.g., '0x1234...' or 'uniswap.eth')

                                                                                                                                                                        Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                                                                                                                                                            Result:

                                                                                                                                                                            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.

                                                                                                                                                                            Try it

                                                                                                                                                                            The contract address of the ERC20 token (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC on Ethereum)

                                                                                                                                                                              Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Defaults to Ethereum mainnet.

                                                                                                                                                                                  Result:

                                                                                                                                                                                  get_token_balance_erc20

                                                                                                                                                                                  Get ERC20 token balance for an address

                                                                                                                                                                                  Try it

                                                                                                                                                                                  The address to check balance for

                                                                                                                                                                                    The ERC20 token contract address

                                                                                                                                                                                      Network name or chain ID. Defaults to Ethereum mainnet.

                                                                                                                                                                                          Result:

                                                                                                                                                                                          get_nft_info

                                                                                                                                                                                          Get detailed information about a specific NFT (ERC721 token), including collection name, symbol, token URI, and current owner if available.

                                                                                                                                                                                          Try it

                                                                                                                                                                                          The contract address of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for Bored Ape Yacht Club)

                                                                                                                                                                                            The ID of the specific NFT token to query (e.g., '1234')

                                                                                                                                                                                              Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Most NFTs are on Ethereum mainnet, which is the default.

                                                                                                                                                                                                  Result:

                                                                                                                                                                                                  check_nft_ownership

                                                                                                                                                                                                  Check if an address owns a specific NFT

                                                                                                                                                                                                  Try it

                                                                                                                                                                                                  The contract address or ENS name of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for BAYC or 'boredapeyachtclub.eth')

                                                                                                                                                                                                    The ID of the NFT to check (e.g., '1234')

                                                                                                                                                                                                      The wallet address or ENS name to check ownership against (e.g., '0x1234...' or 'vitalik.eth')

                                                                                                                                                                                                        Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet.

                                                                                                                                                                                                            Result:

                                                                                                                                                                                                            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.

                                                                                                                                                                                                            Try it

                                                                                                                                                                                                            The contract address of the ERC1155 token collection (e.g., '0x76BE3b62873462d2142405439777e971754E8E77')

                                                                                                                                                                                                              The ID of the specific token to query metadata for (e.g., '1234')

                                                                                                                                                                                                                Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. ERC1155 tokens exist across many networks. Defaults to Ethereum mainnet.

                                                                                                                                                                                                                    Result:

                                                                                                                                                                                                                    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.

                                                                                                                                                                                                                    Try it

                                                                                                                                                                                                                    The contract address of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for Bored Ape Yacht Club)

                                                                                                                                                                                                                      The wallet address to check the NFT balance for (e.g., '0x1234...')

                                                                                                                                                                                                                        Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. Most NFTs are on Ethereum mainnet, which is the default.

                                                                                                                                                                                                                            Result:

                                                                                                                                                                                                                            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.

                                                                                                                                                                                                                            Try it

                                                                                                                                                                                                                            The contract address of the ERC1155 token collection (e.g., '0x76BE3b62873462d2142405439777e971754E8E77')

                                                                                                                                                                                                                              The ID of the specific token to check the balance for (e.g., '1234')

                                                                                                                                                                                                                                The wallet address to check the token balance for (e.g., '0x1234...')

                                                                                                                                                                                                                                  Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', 'polygon') or chain ID. ERC1155 tokens exist across many networks. Defaults to Ethereum mainnet.

                                                                                                                                                                                                                                      Result:

                                                                                                                                                                                                                                      get_address_from_private_key

                                                                                                                                                                                                                                      Get the EVM address derived from a private key

                                                                                                                                                                                                                                      Try it

                                                                                                                                                                                                                                      Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored.

                                                                                                                                                                                                                                          Result:

                                                                                                                                                                                                                                          Related MCP Servers

                                                                                                                                                                                                                                          View all finance servers →