mcpbeat Sign in

Blockscout MCP Server

by blockscout Your server? Claim it
answering

Blockscout is answering right now. Last checked 13 min ago. It exposes 16 tools. Last commit 8 Sep 2026.

MCP server for Blockscout

Uptime history 47 days of history
47 days agonow
100.0%
Uptime 24h
91 of 91 checks
16
Tools
read from the server
108 ms
Response time
average over 24h
46
Stars
last commit 8 Sep 2026

What the code does

We read the source, 20 h ago · tools taken from the live server · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command hatch_build.py:64
        result = subprocess.run(

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add mcp-server --transport http https://mcp.blockscout.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.blockscout.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp-server]
url = "https://mcp.blockscout.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.blockscout.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.blockscout.com/mcp"
    }
  }
}

Available tools 16

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

address
get_address_by_ens_name
Useful for when you need to convert an ENS domain name (e.g. "blockscout.eth") to its corresponding Ethereum address.
get_address_info
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.
block
get_block_info
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.
get_block_number
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.
contract
get_contract_abi
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.
read_contract
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"]" } }
chains
get_chains_list
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.
direct
direct_api_call
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).
inspect
inspect_contract_code
Inspects a verified contract's source code or metadata.
lookup
lookup_token_by_symbol
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.
nft
nft_tokens_by_address
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.
token
get_token_transfers_by_address
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.
tokens
get_tokens_by_address
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.
transaction
get_transaction_info
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.
transactions
get_transactions_by_address
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.
unlock
__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.

Endpoints

URLTransportStateLatencyChecked
https://mcp.blockscout.com/mcp streamable-http answering 141 ms 13 min ago

Alternatives to Blockscout

same job, measured the same way
Help Scout
by pipeworx-io

MCP server for help-scout

40 tools answering
Matomo
by pipeworx-io

MCP server for matomo

40 tools answering
Rootstock (RSK) MCP Server
by rsksmart

MCP Server for Rootstock Blockchain

53 installs/wk local only
Swapi MCP
by abhishekjkrsna

MCP server for SWAPI API

46 installs/wk local only
Security Mcp
by varvararatta

MCP server for Security

answering
Paddle
by pipeworx-io

MCP server for paddle

answering
Korea Stock MCP
by jjlabsio

MCP server for korea stock

167 installs/wk local only
OKX MCP Server
by aahl

MCP Server for okx.com

122 installs/wk local only

Blockscout — questions

Answers built from our own checks of this server.

What can Blockscout do?
It exposes 16 tools, read directly from the server on our last check. Among them: direct_api_call, get_address_by_ens_name, get_address_info, get_block_info, get_block_number, get_chains_list and 10 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Blockscout mostly used for?
Its tools cluster around address, block and contract. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Blockscout working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 108 ms. The bar chart above shows every period we have measured.
How do I connect Blockscout?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Blockscout need an API key?
No. Blockscout completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 16 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Blockscout?
It answers our handshake in 108 ms on average, which is faster than 82% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Blockscout open source?
We cannot say either way: written in Python, 46 stars on GitHub and 14 open issues, but we could not determine the licence, and without one the code is not open source by default.