mcp-server
Server Details
MCP server for Blockscout
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- blockscout/mcp-server
- GitHub Stars
- 42
- Server Listing
- Blockscout MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 16 of 16 tools scored. Lowest: 3.4/5.
Each tool targets a distinct resource or action (address, block, transaction, token, NFT, contract, etc.). Even the generic direct_api_call is clearly for advanced use, and overlapping tools like get_transactions_by_address and get_token_transfers_by_address are well-differentiated.
Most tools follow a 'get_<noun>' pattern, but 'lookup_token_by_symbol' uses 'lookup', 'nft_tokens_by_address' lacks a verb, and '__unlock_blockchain_analysis__' uses double underscores and no consistent naming, breaking the pattern.
16 tools for a blockchain analysis server is well-scoped, covering essential operations (address, block, transaction, token, NFT, contract, raw API) without being overwhelming or insufficient.
The tool set covers most common blockchain query operations, including address lookups, block data, transactions, tokens, NFTs, and contract reading. Minor gaps (e.g., explicit event log retrieval) exist but are addressable via the generic direct_api_call.
Available Tools
16 toolsdirect_api_callDirect Blockscout API CallRead-onlyInspect
Call a raw Blockscout API endpoint for advanced or chain-specific data.
Before the first call to this tool in a session, read
`blockscout-mcp://skill/SKILL.md` (the operating rules), then
`blockscout-mcp://skill/references/blockscout-api-index.md` (the authoritative
index of callable endpoints); skip both reads only if this skill content is
already in context. Recalled Blockscout API knowledge is not a substitute:
endpoint paths, parameters, and response shapes vary across Blockscout
versions and per-chain deployments.
Supports POST requests with a JSON body for endpoints like JSON RPC.
**SUPPORTS PAGINATION**: If response includes 'pagination' field,
use the provided next_call to get additional pages (GET only).
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | The pagination cursor from a previous response to get the next page of results. | |
| method | No | HTTP method used for the upstream call. Use POST with json_body. | GET |
| chain_id | Yes | The ID of the blockchain | |
| json_body | No | JSON request body for POST requests. | |
| query_params | No | Optional query parameters forwarded to the Blockscout API. | |
| endpoint_path | Yes | The Blockscout API path to call (e.g., '/api/v2/stats'); do not include query strings — pass all query parameters via query_params to avoid double-encoding. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_address_by_ens_nameGet Address by ENS NameRead-onlyInspect
Useful for when you need to convert an ENS domain name (e.g. "blockscout.eth") to its corresponding Ethereum address.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS domain name to resolve |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_address_infoGet Address InformationRead-onlyInspect
Get comprehensive information about an address, including:
- Address existence check
- Native token (ETH) balance (provided as is, without adjusting by decimals)
- First transaction details (block number and timestamp) for age calculation
- ENS name association (if any)
- Contract status (whether the address is a contract, whether it is verified)
- Proxy contract information (if applicable): determines if a smart contract is a proxy contract (which forwards calls to implementation contracts), including proxy type and implementation addresses
- Token details (if the contract is a token): name, symbol, decimals, total supply, etc.
Essential for address analysis, contract investigation, token research, and DeFi protocol analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to get information about | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_block_infoGet Block InformationRead-onlyInspect
Get block information like timestamp, gas used, burnt fees, transaction count etc. Can optionally include the list of transaction hashes contained in the block. Transaction hashes are omitted by default; request them only when you truly need them, because on high-traffic chains the list may exhaust the context.
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The ID of the blockchain | |
| number_or_hash | Yes | Block number or hash | |
| include_transactions | No | If true, includes a list of transaction hashes from the block. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_block_numberGet Block NumberRead-onlyInspect
Retrieves the block number and timestamp for a specific date/time or the latest block.
Use when you need a block height for a specific point in time (e.g., "block at 2024-01-01")
or the current chain tip. If `datetime` is provided, finds the block immediately
preceding that time. If omitted, returns the latest indexed block.
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The ID of the blockchain | |
| datetime | No | The date and time (ISO 8601 format, e.g. 2025-05-22T23:00:00.00Z) to find the block for. If omitted, returns the latest block. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_chains_listGet List of ChainsRead-onlyInspect
Get supported blockchain chains with their chain IDs.
Ethereum Mainnet is `chain_id` `1`; use this tool to resolve any other chain.
Use this when another tool needs a supported `chain_id` and only the chain name,
ecosystem, or native currency is known. Prefer a narrow `query` to avoid returning
the full registry to the agent. Do not rely on partial numeric chain ID queries such
as `1`, because matching is substring-based and may return many chains.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional case-insensitive substring filter applied to chain name, chain ID, native currency, and ecosystem. Prefer narrow text terms over partial numeric chain IDs because matching is substring-based. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_contract_abiGet Contract ABIRead-onlyInspect
Get smart contract ABI (Application Binary Interface). An ABI defines all functions, events, their parameters, and return types. The ABI is required to format function calls or interpret contract data.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Smart contract address | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_tokens_by_addressGet Tokens by AddressRead-onlyInspect
Get comprehensive ERC20 token holdings for an address with enriched metadata and market data.
Returns detailed token information including contract details (name, symbol, decimals), market metrics (exchange rate, market cap, volume), holders count, and actual balance (provided as is, without adjusting by decimals).
Essential for portfolio analysis, wallet auditing, and DeFi position tracking.
**SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | The pagination cursor from a previous response to get the next page of results. | |
| address | Yes | Wallet address | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_token_transfers_by_addressGet Token Transfers by AddressRead-onlyInspect
Get ERC-20 token transfers for an address within a specific time range.
**SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | An ERC-20 token contract address to restrict results to a single token. If omitted, returns transfers of all tokens. | |
| age_to | No | End date and time (e.g 2025-05-22T22:30:00.00Z). Adding this bounds the upper end of the date range started by `age_from`; if omitted, transfers up to the current time are returned. | |
| cursor | No | The pagination cursor from a previous response to get the next page of results. | |
| address | Yes | Address which either transfer initiator or transfer receiver | |
| age_from | Yes | Start date and time (e.g 2025-05-22T23:00:00.00Z). Alone, returns all ERC-20 transfers to/from the address since this date. | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_transaction_infoGet Transaction InformationRead-onlyInspect
Get comprehensive transaction information.
Unlike standard eth_getTransactionByHash, this tool returns enriched data including decoded input parameters, detailed token transfers with token metadata, transaction fee breakdown (priority fees, burnt fees) and categorized transaction types.
By default, the raw transaction input is omitted if a decoded version is available to save context; request it with `include_raw_input=True` only when you truly need the raw hex data.
Essential for transaction analysis, debugging smart contract interactions, tracking DeFi operations.
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | Yes | The ID of the blockchain | |
| transaction_hash | Yes | Transaction hash | |
| include_raw_input | No | If true, includes the raw transaction input data. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
get_transactions_by_addressGet Transactions by AddressRead-onlyInspect
Retrieves native currency transfers and smart contract interactions (calls, internal txs) for an address.
**EXCLUDES TOKEN TRANSFERS**: Filters out direct token balance changes (ERC-20, etc.). You'll see calls *to* token contracts, but not the `Transfer` events. For token history, use `get_token_transfers_by_address`.
A single tx can have multiple records from internal calls.
Requires an `age_from` date to scope results for performance and relevance.
**SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
| Name | Required | Description | Default |
|---|---|---|---|
| age_to | No | End date and time (e.g 2025-05-22T22:30:00.00Z). Adding this bounds the upper end of the date range started by `age_from`. | |
| cursor | No | The pagination cursor from a previous response to get the next page of results. | |
| address | Yes | Address which either sender or receiver of the transaction | |
| methods | No | A method signature to filter transactions by (e.g 0x304e6ade). Filters the (optionally date-bounded) results to a specific method signature. | |
| age_from | Yes | Start date and time (e.g 2025-05-22T23:00:00.00Z). Alone, returns all transactions to/from the address since this date. | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
inspect_contract_codeInspect Contract CodeRead-onlyInspect
Inspects a verified contract's source code or metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The address of the smart contract. | |
| chain_id | Yes | The ID of the blockchain. | |
| file_name | No | The name of the source file to inspect. If omitted, returns contract metadata and the list of source files. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
lookup_token_by_symbolLookup Token by SymbolRead-onlyInspect
Search for token addresses by symbol or name. Returns multiple potential matches based on symbol or token name similarity. Only the first 7 matches from the Blockscout API are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Token symbol or name to search for | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
nft_tokens_by_addressGet NFT Tokens by AddressRead-onlyInspect
Retrieve NFT tokens (ERC-721, ERC-404, ERC-1155) owned by an address, grouped by collection.
Provides collection details (type, address, name, symbol, total supply, holder count) and individual token instance data (ID, name, description, external URL, metadata attributes).
Essential for a detailed overview of an address's digital collectibles and their associated collection data.
**SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | The pagination cursor from a previous response to get the next page of results. | |
| address | Yes | NFT owner address | |
| chain_id | Yes | The ID of the blockchain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
read_contractRead from ContractRead-onlyInspect
Calls a smart contract function (view/pure, or non-view/pure simulated via eth_call) and returns the
decoded result.
This tool provides a direct way to query the state of a smart contract.
Example:
To check the USDT balance of an address on Ethereum Mainnet, you would use the following arguments:
{
"tool_name": "read_contract",
"params": {
"chain_id": "1",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"abi": {
"constant": true,
"inputs": [{"name": "_owner", "type": "address"}],
"name": "balanceOf",
"outputs": [{"name": "balance", "type": "uint256"}],
"payable": false,
"stateMutability": "view",
"type": "function"
},
"function_name": "balanceOf",
"args": "["0xF977814e90dA44bFA03b6295A0616a897441aceC"]"
}
}
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | The JSON ABI for the specific function being called. This should be a dictionary that defines the function's name, inputs, and outputs. The function ABI can be obtained using the `get_contract_abi` tool. | |
| args | No | A JSON string containing an array of arguments. Example: "["0xabc..."]" for a single address argument, or "[]" for no arguments. Order and types must match ABI inputs. Addresses: use 0x-prefixed strings; Numbers: prefer integers (not quoted); numeric strings like "1" are also accepted and coerced to integers. Bytes: keep as 0x-hex strings. | [] |
| block | No | The block identifier to read the contract state from. Can be a block number (e.g., 19000000) or a string tag (e.g., 'latest'). Defaults to 'latest'. | latest |
| address | Yes | Smart contract address | |
| chain_id | Yes | The ID of the blockchain | |
| function_name | Yes | The symbolic name of the function to be called. This must match the `name` field in the provided ABI. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
__unlock_blockchain_analysis__Unlock Blockchain AnalysisRead-onlyInspect
Mandatory initialization step for any session against the Blockscout MCP server.
Returns server reference data plus the `blockscout-analysis` skill pointer and URI
resolution rule.
MANDATORY FOR AI AGENTS: Call this tool first in every session. The returned payload
identifies where the operating rules and analysis framework live and how to read
referenced skill files before executing further tool calls.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The main data payload of the tool's response. |
| notes | No | A list of important contextual notes, such as warnings about data truncation or data quality issues. |
| pagination | No | Pagination information, present only if the 'data' is a single page of a larger result set. |
| content_text | No | Optional human-readable summary used for MCP content responses. |
| instructions | No | A list of suggested follow-up actions or instructions for the LLM to plan its next steps. |
| data_description | No | A list of notes explaining the structure, fields, or conventions of the 'data' payload. |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP Server for ChainAnalyzer(https://chain-analyzer.com)Last updated6541MIT
- AlicenseBqualityDmaintenanceMCP Server for crafty controllerLast updated63282GPL 3.0
- AlicenseAqualityCmaintenanceThe first MCP Server dedicated to Bitcoin ecosystemLast updated236MIT
- MIT
Your Connectors
Sign in to create a connector for this server.