Labsco
MCP SERVER · OFFICIAL PROJECT

Blockscout

by blockscout

Read any Blockscout-indexed chain in one place: resolve an ENS name or token symbol, pull an address's transfers and holdings, decode a transaction, and call a contract's view functions.

Chain State, Explorers & Contract ToolingVerified
Summary
Chain data arrives already decoded: calls separated from token transfers, transaction input parsed, balances carrying their token metadata.

The tools are shaped around what fits in a context window rather than around API parity — get_block_info omits the block's transaction hashes unless you ask, get_transaction_info drops raw input when a decoded version exists, and both address history tools page with a cursor. Two rules shape a session: __unlock_blockchain_analysis__ has to be called exactly once before anything else in a session, and lookup_token_by_symbol returns only the first 7 matches, so a widely reused symbol may still need the address from somewhere else.

What it is

A server over Blockscout's multichain API, 16 tools spanning blocks, addresses, tokens, NFTs, transactions and verified contract code, with the chain selected per call by chain_id.

What you get
  • Address history split the way the API splits it: get_transactions_by_address returns native transfers and contract calls and deliberately excludes token transfers, get_token_transfers_by_address returns the ERC-20 side, both with age_from and age_to windows and cursor pagination
  • Holdings and collectibles: get_tokens_by_address returns ERC-20 balances with contract details, exchange rate, market cap and holder counts, and nft_tokens_by_address groups ERC-721, ERC-404 and ERC-1155 instances by collection with their metadata attributes
  • Contract inspection in three levels — get_contract_abi for the interface, inspect_contract_code for verified source or metadata, read_contract to call a view function or simulate a state-changing one through eth_call and get the decoded result
  • Transactions and blocks arriving decoded: get_transaction_info returns decoded input parameters, token transfers with metadata and a fee breakdown including priority and burnt fees, while get_block_info reports gas used, burnt fees and transaction count
  • Lookups that turn a name into an address: get_address_by_ens_name for ENS, lookup_token_by_symbol for a symbol or name, get_block_number for the block at a given datetime, get_chains_list to resolve a chain name to its chain_id
  • direct_api_call for chain-specific endpoints with no dedicated tool, using the same cursor and chain conventions as the rest
Requirements

A chain_id on every call — get_chains_list resolves one from a chain name, and Ethereum Mainnet is 1 — and one call to __unlock_blockchain_analysis__ at the start of a session, before any other tool, which is what the session_id argument on the rest refers back to. UV_PYTHON in the configuration means it runs under uv, so a Python interpreter uv can use.

Setup effort

One command plus a key — claude mcp add --transport http blockscout https://mcp.blockscout.com/mcp \ --header "Blockscout-MCP-Pro-Api-Key: proapi_your_key_here", then supply credentials