Skip to main content
Glama

@xiaok/etherscan-mcp

Etherscan의 API 및 서비스와 상호 작용하기 위한 동적 MCP 서버입니다.

서버 실행

mcp-cli 로 테스트

서버를 테스트하고 디버깅하는 가장 빠른 방법은 fastmcp dev 사용하는 것입니다.

지엑스피1

이렇게 하면 터미널에서 MCP 서버를 테스트하고 디버깅하기 위해 mcp-cli 로 서버가 실행됩니다.

MCP Inspector 으로 검사하세요

또 다른 방법은 공식 MCP Inspector 사용하여 웹 UI로 서버를 검사하는 것입니다.

npx fastmcp inspect server.ts

Related MCP server: MCP Etherscan Server

자주 묻는 질문

Claude Desktop과 함께 사용하는 방법?

https://modelcontextprotocol.io/quickstart/user 가이드를 따르고 다음 구성을 추가하세요.

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "npx",
      "args": ["tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts"],
      "env": {
        "ETHERSCAN_API_KEY": "********"
      }
    }
  }
}

API 문서

https://docs.etherscan.io/etherscan-v2

지원 체인 목록: https://docs.etherscan.io/etherscan-v2/getting-started/supported-chains 모든 체인에서 모든 엔드포인트를 지원하는 것은 아닙니다. 지원 목록은 다음에서 확인하세요: https://forms.blockscan.com/public/grid/3E9QiN00NLhCQVibiP3Z-Bpqhmd7zGXsgapEKJupxiI

할 일

  1. 완전히 테스트하다

Available Tools

6 tools
get_chain_idB

Get the chain ID for a given chain name

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_nameYesThe name of the chain to get the chain ID for

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYesThe chain ID to get the RPC endpoints for
isOpenSourceNoFilter by isOpenSource
trackingNoFilter by tracking (none, yes, limited, unspecified)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYesThe chain ID
token_addressYesThe address of the token
addressYesThe address to check the balance for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYesThe chain ID
token_addressYesThe address of the token

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYesThe chain ID
token_addressYesThe address of the token

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYesThe chain ID
token_addressYesThe address of the token

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedget_chain_id
    • First observedget_filtered_rpc_list
    • First observedget_token_balance
    • First observedget_token_holders
    • First observedget_token_holders_count
    • First observedget_total_supply

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have distinct purposes targeting different token-related queries, but get_token_holders and get_token_holders_count could be confused as they both retrieve holder information. The descriptions clarify the difference (list vs count), but the overlap in naming might cause misselection.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_chain_id, get_token_balance). The naming is highly predictable and readable throughout the set, with no deviations in style or convention.

Tool Count4/5

With 6 tools, the count is reasonable for an Etherscan-focused server, covering chain info, RPC endpoints, and token data. It feels slightly thin for a full blockchain explorer, but it's well-scoped for the provided token and chain utilities.

Completeness3/5

The tools cover token balances, holders, and supply, plus chain and RPC info, but there are notable gaps for a broader Etherscan domain. Missing operations include transaction lookups, contract interactions, and gas/price queries, which are common in blockchain tools, limiting coverage to a narrow subset.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers