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: MCP Etherscan Server
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.
Latest Blog Posts
- 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