Etherscan MCP Tool
This server provides blockchain data retrieval and filtering capabilities:
Get Chain ID: Retrieve the chain ID for a given blockchain name
Get Filtered RPC List: Obtain RPC endpoints for a specific chain ID, with filtering options
Get Total Supply: Retrieve a token's total supply by address and chain ID
Get Token Balance: Check the balance of a specific token for a given address
Get Token Holders: View holders of a particular token
Get Token Holders Count: Obtain the total number of holders for a specific token
Provides tools for blockchain data retrieval, including getting token supply information, chain IDs, and RPC endpoints across different blockchain networks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Etherscan MCP Toolwhat's the total supply of USDC on Ethereum?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Etherscan MCP Tool
This tool provides functionality to interact with blockchain data, specifically to retrieve the total supply of a token on a given chain, retrieve the chain ID for a given chain name, and retrieve a filtered list of RPC endpoints for a given chain ID.
Usage
The tool exposes the following functionalities:
Get Total Supply: Retrieves the total supply of a token given its address and chain ID.
Get Chain ID: Retrieves the chain ID for a given chain name.
Get Filtered RPC List: Retrieves a filtered list of RPC endpoints for a given chain ID.
Get Total Supply
To get the total supply of a token, you need to provide the chain ID and the token address.
Parameters:
chain_id: The ID of the blockchain network.token_address: The address of the token.
Example:
To find the total supply of token 0x6B2a01A5f79dEb4c2f3c0eDa7b01DF456FbD726a on chain 56, you would use the following:
{
"chain_id": 56,
"token_address": "0x6B2a01A5f79dEb4c2f3c0eDa7b01DF456FbD726a"
}The tool would then return the total supply of the token, such as:
46141292590Get Chain ID
To get the chain ID, you need to provide the chain name.
Parameters:
chain_name: The name of the blockchain network.
Example:
To find the chain ID for BNB Smart Chain Mainnet, you would use the following:
{
"chain_name": "BNB Smart Chain Mainnet"
}The tool would then return the chain ID, such as:
56Get Filtered RPC List
To get a filtered list of RPC endpoints, you need to provide the chain ID. You can also filter by isOpenSource and tracking.
Parameters:
chain_id: The ID of the blockchain network.isOpenSource(optional): Filter by isOpenSource.tracking(optional): Filter by tracking (none, yes, limited, unspecified).
Example:
To find the RPC list for chain ID 1, you would use the following:
{
"chain_id": "1"
}The tool would then return the RPC list for chain ID 1.
Available Tools
6 toolsget_chain_idB
Get the chain ID for a given chain name
| Name | Required | Description | Default |
|---|---|---|---|
| chain_name | Yes | The name of the chain to get the chain ID for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' data, implying a read-only operation, but doesn't clarify aspects like error handling (e.g., what happens if the chain name is invalid), performance (e.g., speed or rate limits), or output format. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the core purpose ('Get the chain ID'), making it easy to understand at a glance. Every part of the sentence contributes directly to explaining the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks details on behavioral traits, usage context, or output. For a simple lookup tool, this might suffice, but it doesn't provide a complete picture for an agent to use it effectively without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'chain_name' fully documented. The description adds no additional semantic meaning beyond what the schema provides (e.g., it doesn't explain what a 'chain name' entails or provide examples). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('chain ID'), and specifies the input ('for a given chain name'). However, it doesn't differentiate this tool from its siblings (like get_filtered_rpc_list or get_token_balance), which all appear to be blockchain-related queries but serve different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or specific contexts for usage, nor does it reference sibling tools. The agent must infer usage based solely on the tool name and description without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filtered_rpc_listC
Get a filtered list of RPC endpoints for a given chain ID
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The chain ID to get the RPC endpoints for | |
| isOpenSource | No | Filter by isOpenSource | |
| tracking | No | Filter by tracking (none, yes, limited, unspecified) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), but doesn't cover aspects like rate limits, authentication needs, response format, or potential side effects. This leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded with the core action and resource, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the filtered list returns, how results are formatted, or any behavioral constraints. For a tool with three parameters and no structured output information, more context is needed to fully understand its use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the three parameters. The description adds no additional meaning beyond implying filtering functionality, which is already clear from the schema's parameter descriptions. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get a filtered list') and resource ('RPC endpoints for a given chain ID'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_chain_id' or 'get_token_balance', which operate on different resources, so it doesn't fully address sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for filtering, or compare to other tools that might retrieve similar data, leaving the agent without usage direction beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_balanceC
Get the balance of a specific token for a specific address
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The chain ID | |
| token_address | Yes | The address of the token | |
| address | Yes | The address to check the balance for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool's function but omits critical details like whether it's a read-only operation, potential rate limits, error conditions (e.g., invalid addresses), or the format of the returned balance. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficient for a tool with three required parameters. It doesn't explain what the balance output looks like (e.g., numeric value, units) or address common use cases, leaving the agent with incomplete context for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting all three parameters. The description adds no additional semantic context beyond what the schema provides, such as examples or constraints (e.g., address formats). This meets the baseline for high schema coverage but doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the balance') and resource ('of a specific token for a specific address'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_token_holders' or 'get_total_supply', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_token_holders' or 'get_total_supply'. It lacks context about prerequisites, such as whether the token must be deployed on the specified chain, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_holdersC
Get the token holders for a given token address
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The chain ID | |
| token_address | Yes | The address of the token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, pagination, or return format (e.g., list of holders with balances). This is inadequate for a tool that likely returns sensitive or complex data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of token holder data, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'token holders' means (e.g., addresses with balances), how results are structured, or any limitations, leaving significant gaps for the agent to handle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('chain_id' and 'token_address'). The description adds minimal value by mentioning 'token address' but doesn't provide additional context like format examples or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('token holders'), and identifies the key input ('token address'). However, it doesn't differentiate from sibling tools like 'get_token_holders_count' or 'get_token_balance', which reduces clarity about its unique function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_token_holders_count' for counts or 'get_token_balance' for individual balances, leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_holders_countC
Get the number of token holders for a given token address
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The chain ID | |
| token_address | Yes | The address of the token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic function. It doesn't mention whether this is a read-only operation, potential rate limits, error conditions, or what the return value looks like (e.g., integer count, formatted string). This leaves significant gaps for a tool that likely queries blockchain data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple query tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain the return type (e.g., integer, JSON object), error handling, or dependencies on sibling tools. For a blockchain query tool with potential complexity, this leaves the agent under-informed about behavioral expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents both parameters (chain_id and token_address). The description adds no additional meaning beyond implying these parameters are required, which the schema already states. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('number of token holders for a given token address'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_token_holders' (which might return detailed holder data rather than just a count), leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_token_holders' or 'get_token_balance'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_total_supplyB
Get the total supply of a token given its address
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The chain ID | |
| token_address | Yes | The address of the token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states what the tool does but lacks behavioral details like whether it's a read-only operation, potential rate limits, error handling, or authentication needs. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for its function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 required parameters) and no annotations or output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavior, usage context, or return values, which are needed for full completeness in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters (chain_id and token_address). The description adds no additional meaning beyond the schema, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'total supply of a token', specifying it requires a token address. It distinguishes from siblings like get_token_balance (which gets balance for a specific address) or get_token_holders (which lists holders). However, it doesn't explicitly mention how it differs from siblings like get_token_holders_count, which might be related but not identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as when to choose this over other token-related tools like get_token_balance or get_token_holders. This leaves the agent without explicit usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, such as get_chain_id for chain identification and get_token_balance for balance queries. However, get_token_holders and get_token_holders_count could be confused as they both relate to token holders, though the descriptions clarify one provides a list and the other a count.
All tool names follow a consistent verb_noun pattern with 'get_' prefix, such as get_chain_id and get_token_balance. This uniformity makes the set predictable and easy to understand, with no deviations in style or convention.
With 6 tools, the count is reasonable for an Etherscan-related server, covering key blockchain queries. It is slightly lean but not overly sparse, as each tool serves a specific function without obvious bloat or redundancy.
The tools cover basic token and chain queries, such as balances and holders, but there are notable gaps. For an Etherscan domain, missing operations like transaction lookups, contract interactions, or event logs limit the surface, though agents can work around this for simple tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Query real-time blockchain token data across EVM and Solana networks. Access token balances, transfers, prices, holders, NFT ownership, DEX swaps, and liquidity pools. Supports Ethereum, Base, Arbitrum, BSC, Polygon, Solana, and more.
Multi-chain wallet intelligence: balances, transactions, ENS, OFAC screening across 7 chains.
Explore blockchain data across addresses, tokens, blocks, and transactions. Investigate any transa…
Safety-first EVM and Bitcoin RPC tools for balances, contracts, blocks, and transactions
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA powerful toolkit that enables seamless interaction with EVM-compatible networks through natural language processing and AI assistance, allowing users to manage wallets, launch tokens, and interact with blockchain networks.18MIT
- FlicenseNot gradedqualityDmaintenanceProvides tools for querying onchain data across 12+ blockchain networks, including token balances, transaction analysis, and smart contract security auditing. It enables users to interact with multiple EVM-compatible chains and perform deep contract evaluations through natural language interfaces.1
- AlicenseAqualityCmaintenanceMCP server with 43 tools for blockchain data — token lookups, wallet balances, live chain queries across 10+ networks, and full API documentation search.27192Apache 2.0

RouteMesh MCP Serverofficial
AlicenseAqualityCmaintenanceEnables querying blockchain data across multiple EVM chains via RouteMesh, offering built-in RPC tools for blocks, transactions, logs, balances, and gas estimation, plus customer management tools for API keys and usage.111781ISC
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/septemhill/etherscan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server