blockscout-mcp-server
The blockscout-mcp-server is a read-only multichain EVM blockchain analysis server that queries on-chain data through the Blockscout REST API, designed for LLM clients.
Key capabilities:
Onboarding guard — A mandatory first tool (
__unlock_blockchain_analysis__) ensures agents understand usage rules before proceeding.Chain discovery — List all supported chains (bundled + custom), filterable by name or chain ID.
Address lookup — Get balance, type (EOA vs. contract), and metadata for any address.
Token balances — Retrieve ERC-20/721/1155 token balances held by an address.
Token transfers — List token transfer events for an address or within a specific transaction.
Transaction history & details — Fetch native transactions by address or full details (status, value, gas, decoded input) by hash.
Block info — Retrieve block details by number or hash, or get the latest block height.
Event logs — Fetch event logs emitted by a contract/address (large fields truncated).
Smart contract analysis — Get verified contract ABIs, source code, and compiler metadata.
NFT holdings — List ERC-721/1155 NFTs owned by an address.
Token search — Look up tokens by symbol or name to find their contract addresses.
Raw API access — An escape hatch (
direct_api_call) to call any Blockscout/api/v2endpoint directly.Pagination — All list tools support cursor-based pagination for efficient traversal of large datasets.
Custom chains — Register or override chains via a
CHAINS_FILEenvironment variable.
Provides tools for querying on-chain data from EVM-compatible blockchains, including Ethereum, via the Blockscout API. Allows retrieving address balances, transaction details, token balances, block information, and more.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blockscout-mcp-servershow me the latest block on Ethereum"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
blockscout-mcp-server
A read-only Model Context Protocol (MCP) server that queries multichain EVM on-chain data through the Blockscout REST API. It runs over stdio and is designed for LLM clients (Claude Desktop, Cursor, etc.).
Free & open source — calls public per-instance Blockscout REST APIs directly (no paid gateway, no API key).
Read-only — never signs or sends transactions.
Multichain — a bundled chain registry plus your own custom chains via a JSON file.
LLM-friendly — every tool returns a standardized envelope with opaque cursor pagination and large-field truncation.
Requirements
Node.js >= 24
pnpm (for development)
Related MCP server: Onesource MCP
Install
The server runs over stdio: your MCP client launches it as a subprocess. Pick one of the
following ways to point the command/args at it. env is optional in every case — without
CHAINS_FILE only the bundled chains are available.
From npm (recommended)
npx downloads the published package and runs it — nothing to install manually. Works from any
project; point CHAINS_FILE at that project's chains file (a relative ./chains.json resolves
against the client's working directory).
{
"mcpServers": {
"blockscout": {
"command": "npx",
"args": ["-y", "blockscout-mcp-server"],
"env": {
"CHAINS_FILE": "./chains.json",
"ONLY_CHAINS_FILE": "true"
}
}
}
}From source (local development)
git clone https://github.com/imelon2/blockscout-mcp-server.git
cd blockscout-mcp-server
pnpm install && pnpm build{
"mcpServers": {
"blockscout": {
"command": "node",
"args": ["/absolute/path/to/blockscout-mcp-server/dist/index.js"],
"env": { "CHAINS_FILE": "/absolute/path/to/chains.json" }
}
}
}The chain registry and env are read once at startup. After changing config or code, restart (reconnect) the server in your MCP client. A ready-to-edit
.mcp.example.jsonis included.
Custom chains
Point CHAINS_FILE at a JSON file describing extra chains (or overriding bundled ones).
Each entry needs a name, chainId, and Blockscout instance url:
[
{ "name": "my-l2", "chainId": 42, "url": "https://scan.my-l2.io" }
]If CHAINS_FILE is set but the file is missing or malformed, the server exits immediately (fail-fast).
Set ONLY_CHAINS_FILE=true to register only the chains from CHAINS_FILE and exclude the
bundled snapshot entirely. It requires CHAINS_FILE to be set (otherwise no chains would exist and
the server fails fast). The default (false) merges bundled chains with CHAINS_FILE.
Tools
All tools take a chain argument (a name like "ethereum" or a numeric chain ID like "1").
Paginated tools accept a cursor and return pagination.next_cursor when more results exist.
Tool | Purpose |
| Onboarding — usage rules. Call this first. |
| List supported chains (bundled + custom). |
| Balance, type, and metadata for an address. |
| Token balances held by an address. |
| Token transfers involving an address. |
| Native transactions involving an address. |
| Full details for a transaction hash. |
| Token transfers within a transaction. |
| Details for a block by number or hash. |
| Latest block height for a chain. |
| Event logs for an address (large |
| ABI of a verified contract. |
| Verified source code + compiler metadata. |
| NFTs owned by an address. |
| Search tokens by symbol/name. |
| Escape hatch for any Blockscout |
Configuration
All environment variables are optional:
Variable | Default | Description |
| (unset) | Path to a JSON file of custom chains. |
|
| When |
|
| Timeout for heavy list requests. |
|
| Timeout for point lookups. |
|
| Transport-error retries for GET. |
|
| Page size hint. |
|
| Char cap on |
Development
pnpm install
pnpm build # tsc + copy assets to dist/
pnpm test # unit tests (network mocked)
pnpm dev # tsc --watchTesting
Unit tests run by default and mock all network access.
Integration tests (real Blockscout calls) live under
tests/integration/and only run whenRUN_INTEGRATION=1is set:RUN_INTEGRATION=1 pnpm test
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server providing comprehensive access to Ethereum blockchain data across 72+ networks via Etherscan's V2 API. It enables users to check balances, track transactions, analyze smart contracts, and monitor gas prices through natural language.Last updated24481MIT
- AlicenseAqualityDmaintenanceMCP server with 43 tools for blockchain data — token lookups, wallet balances, live chain queries across 10+ networks, and full API documentation search.Last updated27215Apache 2.0
- Flicense-qualityDmaintenancePay-per-call MCP server for on-chain blockchain data including wallet profiles, token metrics, protocol TVL, and gas prices.Last updated
- Alicense-qualityCmaintenanceRead-only MCP server for Sui blockchain analytics with 44 tools covering wallets, DeFi, NFTs, token prices, transactions, fund tracing, pools, staking, Move decompilation, and MVR name resolution.Last updated16MIT
Related MCP Connectors
MCP server for Blockscout
Blockscout MCP — multi-chain block-explorer aggregate
Etherscan MCP — multichain block-explorer API (Etherscan V2)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/imelon2/blockscout-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server