Skip to main content
Glama
septemhill

Etherscan MCP Tool

by septemhill
README.md
# 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:

```json
{
  "chain_id": 56,
  "token_address": "0x6B2a01A5f79dEb4c2f3c0eDa7b01DF456FbD726a"
}
```

The tool would then return the total supply of the token, such as:

```
46141292590
```

### Get 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:

```json
{
  "chain_name": "BNB Smart Chain Mainnet"
}
```

The tool would then return the chain ID, such as:

```
56
```

### Get 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:

```json
{
  "chain_id": "1"
}
```

The tool would then return the RPC list for chain ID 1.

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues