mcp server
mcp-server
MCP server for Blockscout
Description as published by the maintainer. Source
- version 0.18.1
- active
active — Most recent push to the repository was 2026-08-05.
What this server can do
16 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
__unlock_blockchain_analysis__- Initializes a Blockscout MCP session: returns server reference data, the `blockscout-analysis` skill pointer, and the URI resolution rule. Call this tool exactly once per session, before any other tool, and reuse its payload for the rest of the session; do not call it again.
direct_api_call(cursor, method, chain_id, json_body, session_id, query_params, endpoint_path)- 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). Required: chain_id, endpoint_path.
get_address_by_ens_name(name, session_id)- Useful for when you need to convert an ENS domain name (e.g. "blockscout.eth") to its corresponding Ethereum address. Required: name.
get_address_info(address, chain_id, session_id)- 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. Required: chain_id, address.
get_block_info(chain_id, session_id, number_or_hash, include_transactions)- 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. Required: chain_id, number_or_hash.
get_block_number(chain_id, datetime, session_id)- 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. Required: chain_id.
get_chains_list(query, session_id)- 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.
get_contract_abi(address, chain_id, session_id)- 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. Required: chain_id, address.
get_token_transfers_by_address(token, age_to, cursor, address, age_from, chain_id, session_id)- 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. Required: chain_id, address, age_from.
get_tokens_by_address(cursor, address, chain_id, session_id)- 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. Required: chain_id, address.
get_transaction_info(chain_id, session_id, transaction_hash, include_raw_input)- 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. Required: chain_id, transaction_hash.
get_transactions_by_address(age_to, cursor, address, methods, age_from, chain_id, session_id)- 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. Required: chain_id, address, age_from.
inspect_contract_code(address, chain_id, file_name, session_id)- Inspects a verified contract's source code or metadata. Required: chain_id, address.
lookup_token_by_symbol(symbol, chain_id, session_id)- 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. Required: chain_id, symbol.
nft_tokens_by_address(cursor, address, chain_id, session_id)- 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. Required: chain_id, address.
read_contract(abi, args, block, address, chain_id, session_id, function_name)- 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"]" } } Required: chain_id, address, abi, function_name.
Last successful function declaration observed on . Source: https://mcp.blockscout.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mcp.blockscout.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 44 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-08-05 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 12 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 0.18.1 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-08-05 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-08-05 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 16 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mcp.blockscout.com | |
| mcp endpoint status | ok | The server listed 16 functions when asked. | as of probe | mcp.blockscout.com |
Where to get it
Also from blockscout
-
ai.smithery/blockscout-mcp-server
— last commit 2026-08-05
Provide AI agents and automation tools with contextual access to blockchain data including balance…
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json