etherscan-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETHERSCAN_API_KEY | No | Etherscan API key for higher rate limits (optional, get from etherscan.io/apis) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_eth_balanceA | Check ETH balance for any Ethereum address. Returns balance in ETH (not wei). Use for quick portfolio checks or verifying funds before a transaction. Returns: {address: string, balance_eth: string}. |
| get_token_balancesA | List all ERC-20 token balances held by an Ethereum address. Returns token name, symbol, contract address, and human-readable amount for each token. Requires ETHERSCAN_API_KEY env var. Supports pagination for wallets with many tokens. Use get_erc20_transfers as fallback if no API key. |
| get_transactionA | Look up a single transaction by its hash. Returns from, to, value (ETH), gas limit, gas price (Gwei), nonce, input data, and block number. Use when you have a specific tx hash and need full details. For bulk transactions, use get_transactions_by_address instead. |
| get_transactions_by_addressA | List normal (external) transactions for an Ethereum address. Returns value (ETH), direction (IN/OUT), gas price, function name, date, and status for each tx. Paginated, newest first. For ERC-20 transfers, use get_erc20_transfers. For contract-to-contract calls, use get_internal_transactions. |
| get_erc20_transfersA | List ERC-20 token transfer events for an address. Returns token name, symbol, amount (human-readable), direction (IN/OUT), date, and contract address for each transfer. Filter by contract address to track a specific token. Use get_token_balances for current holdings instead. |
| get_internal_transactionsA | List internal transactions (contract-to-contract calls) for an address. These are transactions triggered by smart contracts, not direct EOA transfers. Returns value (ETH), direction, type (call/create), date, and hash. Use for tracing DeFi interactions or contract execution flows. |
| get_contract_abiA | Fetch the ABI for a verified smart contract. Returns a summary: function count, event count, and a list of all functions with their signatures and state mutability. Includes a truncated raw ABI (2000 chars). The ABI is required for calling contract methods or decoding transactions. Use get_transaction to see raw input data first. |
| get_gas_priceA | Get current Ethereum gas prices from Etherscan oracle. Returns three tiers: Safe Low (turtle, cheapest), Standard (car, recommended), Fast (rocket, urgent) all in Gwei. Also shows base fee, last block, and estimated ETH cost for a simple 21k-gas transfer. Use before sending any transaction to set appropriate gas. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/friendlygeorge/etherscan-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server