About
Blockscout is a blockchain exploration platform that exposes on-chain data through a Model Context Protocol server, enabling AI agents to query wallet balances, token holdings, NFT collections, and smart contract metadata across multiple networks. Key features: - Multi-chain support via Chainscout integration, providing access to 100+ blockchain networks through their respective Blockscout explorers - Comprehensive blockchain data retrieval including native balances, ERC-20 tokens, NFTs, transaction history, and contract ABIs with metadata - Intelligent context optimization with configurable page sizes, automatic field truncation for large data, and opaque cursor pagination using Base64URL encoding to manage LLM token limits - Real-time progress notifications and periodic updates for long-running queries and data-heavy operations - Standardized ToolResponse format with structured JSON outputs and follow-up instructions for seamless AI tool integration - Native compatibility with Claude Desktop, Claude Code, Cursor, and other MCP hosts through both direct HTTP transport and the official Anthropic Connectors Directory
Tools 18
__unlock_blockchain_analysis__Unlocks access to other MCP tools. All tools remain locked with a "Session Not Initialized" error until this function is successfully called. Skipping this explicit initialization step will cause all subsequent tool calls to fail. MANDATORY FOR AI AGENTS: The returned instructions contain ESSENTIAL rules that MUST govern ALL blockchain data interactions. Failure to integrate these rules will result in incorrect data retrieval, tool failures and invalid responses. Always apply these guidelines when planning queries, processing responses or recommending blockchain actions. COMPREHENSIVE DATA SOURCES: Provides an extensive catalog of specialized blockchain endpoints to unlock sophisticated, multi-dimensional blockchain investigations across all supported networks.
get_block_infoGet 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_latest_blockGet the latest indexed block number and timestamp, which represents the most recent state of the blockchain. No transactions or token transfers can exist beyond this point, making it useful as a reference timestamp for other API calls.
get_address_by_ens_nameUseful for when you need to convert an ENS domain name (e.g. "blockscout.eth") to its corresponding Ethereum address.
get_transactions_by_addressRetrieves 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; use `internal_transaction_index` for execution order. Use cases: - `get_transactions_by_address(address, age_from)` - get all txs to/from the address since a given date. - `get_transactions_by_address(address, age_from, age_to)` - get all txs to/from the address between given dates. - `get_transactions_by_address(address, age_from, age_to, methods)` - get all txs to/from the address between given dates, filtered by method. **SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
get_token_transfers_by_addressGet ERC-20 token transfers for an address within a specific time range. Use cases: - `get_token_transfers_by_address(address, age_from)` - get all transfers of any ERC-20 token to/from the address since the given date up to the current time - `get_token_transfers_by_address(address, age_from, age_to)` - get all transfers of any ERC-20 token to/from the address between the given dates - `get_token_transfers_by_address(address, age_from, age_to, token)` - get all transfers of the given ERC-20 token to/from the address between the given dates **SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
lookup_token_by_symbolSearch for token addresses by symbol or name. Returns multiple potential matches based on symbol or token name similarity. Only the first ``TOKEN_RESULTS_LIMIT`` matches from the Blockscout API are returned.
get_contract_abiGet 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.
inspect_contract_codeInspects a verified contract's source code or metadata.
read_contractCalls 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"]" } }
get_address_infoGet comprehensive information about an address, including: - Address existence check - Native token (ETH) balance (provided as is, without adjusting by decimals) - 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.
get_tokens_by_addressGet 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_summaryGet human-readable transaction summaries from Blockscout Transaction Interpreter. Automatically classifies transactions into natural language descriptions (transfers, swaps, NFT sales, DeFi operations) Essential for rapid transaction comprehension, dashboard displays, and initial analysis. Note: Not all transactions can be summarized and accuracy is not guaranteed for complex patterns.
nft_tokens_by_addressRetrieve 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.
get_transaction_infoGet 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.
get_transaction_logsGet comprehensive transaction logs. Unlike standard eth_getLogs, this tool returns enriched logs, primarily focusing on decoded event parameters with their types and values (if event decoding is applicable). Essential for analyzing smart contract events, tracking token transfers, monitoring DeFi protocol interactions, debugging event emissions, and understanding complex multi-contract transaction flows. **SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages.
get_chains_listGet the list of known blockchain chains with their IDs. Useful for getting a chain ID when the chain name is known. This information can be used in other tools that require a chain ID to request information.
direct_api_callCall a raw Blockscout API endpoint for advanced or chain-specific data. Do not include query strings in ``endpoint_path``; pass all query parameters via ``query_params`` to avoid double-encoding. **SUPPORTS PAGINATION**: If response includes 'pagination' field, use the provided next_call to get additional pages. Returns: ToolResponse[Any]: Must return ToolResponse[Any] (not ToolResponse[BaseModel]) because specialized handlers can return lists or other types that don't inherit from BaseModel. The dispatcher system supports flexible data structures.
README
Blockscout MCP Server
[](https://smithery.ai/server/@blockscout/mcp-server)
The Model Context Protocol (MCP) is an open protocol designed to allow AI agents, IDEs, and automation tools to consume, query, and analyze structured data through context-aware APIs.
This server wraps Blockscout APIs and exposes blockchain data—balances, tokens, NFTs, contract metadata—via MCP so that AI agents and tools (like Claude, Cursor, or IDEs) can access and analyze it contextually.
Key Features:
Configuring MCP Clients
Using Claude Connectors Directory - Recommended
The easiest way to use the Blockscout MCP server with Claude ( Claude Web, Claude Desktop and Claude Code) is through the official Anthropic Connectors Directory. This provides a native, managed installation experience with automatic updates.
#### Installation
##### Option 1: Direct Link
Visit claude.com/connectors/blockscout and click links in "Used in" section to install the Blockscout connector.
##### Option 2: Via Settings
1. Open Claude (Web or Desktop app) 2. Go to Settings > Connectors > Browse connectors 3. Search for "Blockscout" 4. Click "Connect" to install
> Note: Connectors require a paid Claude plan (Pro, Team, Max, or Enterprise).
Claude Code Setup
To quickly install the Blockscout MCP server for use with Claude Code, run the following command in your terminal:
claude mcp add --transport http blockscout https://mcp.blockscout.com/mcp
After running this command, Blockscout will be available as an MCP server in Claude Code, allowing you to access and analyze blockchain data directly from your coding environment.
Cursor Setup
Use this deeplink to install the Blockscout MCP server in Cursor.
Gemini CLI Setup
1. Add the following configuration to your ~/.gemini/settings.json file:
{
"mcpServers": {
"blockscout": {
"httpUrl": "https://mcp.blockscout.com/mcp",
"timeout": 180000
}
}
}
2. For detailed Gemini CLI MCP server configuration instructions, see the official documentation.
Try Blockscout X-Ray GPT
Experience the power of the Blockscout MCP server through our showcase GPT: Blockscout X-Ray
This GPT demonstrates the full capabilities of the MCP server, providing intelligent blockchain analysis and insights. It's a great way to explore what's possible when AI agents have contextual access to blockchain data.
Local Development Setup (For Developers)
If you want to run the server locally for development purposes:
{
"mcpServers": {
"blockscout": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"ghcr.io/blockscout/mcp-server:latest"
]
}
}
}
Technical details
Refer to SPEC.md for the technical details.
Repository Structure
Refer to AGENTS.md for the repository structure.
Testing
Refer to TESTING.md for comprehensive instructions on running both unit and integration tests.
Tool Descriptions
1. __unlock_blockchain_analysis__() - Provides custom instructions for the MCP host to use the server. This is a mandatory first step before using other tools.
2. get_chains_list() - Returns a list of all known chains.
3. get_address_by_ens_name(name) - Converts an ENS domain name to its corresponding Ethereum address.
4. lookup_token_by_symbol(chain_id, symbol) - Searches for token addresses by symbol or name,
Related MCP Servers
AI Research Assistant
hamid-vakilzadeh
AI Research Assistant provides comprehensive access to millions of academic papers through the Semantic Scholar and arXiv databases. This MCP server enables AI coding assistants to perform intelligent literature searches, citation network analysis, and paper content extraction without requiring an API key. Key features include: - Advanced paper search with multi-filter support by year ranges, citation thresholds, field of study, and publication type - Title matching with confidence scoring for finding specific papers - Batch operations supporting up to 500 papers per request - Citation analysis and network exploration for understanding research relationships - Full-text PDF extraction from arXiv and Wiley open-access content (Wiley TDM token required for institutional access) - Rate limits of 100 requests per 5 minutes with options to request higher limits through Semantic Scholar
Linkup
LinkupPlatform
Linkup is a real-time web search and content extraction service that enables AI assistants to search the web and retrieve information from trusted sources. It provides source-backed answers with citations, making it ideal for fact-checking, news gathering, and research tasks. Key features of Linkup: - Real-time web search using natural language queries to find current information, news, and data - Page fetching to extract and read content from any webpage URL - Search depth modes: Standard for direct-answer queries and Deep for complex research across multiple sources - Source-backed results with citations and context from relevant, trustworthy websites - JavaScript rendering support for accessing dynamic content on JavaScript-heavy pages
Math-MCP
EthanHenrickson
Math-MCP is a computation server that enables Large Language Models (LLMs) to perform accurate numerical calculations through the Model Context Protocol. It provides precise mathematical operations via a simple API to overcome LLM limitations in arithmetic and statistical reasoning. Key features of Math-MCP: - Basic arithmetic operations: addition, subtraction, multiplication, division, modulo, and bulk summation - Statistical analysis functions: mean, median, mode, minimum, and maximum calculations - Rounding utilities: floor, ceiling, and nearest integer rounding - Trigonometric functions: sine, cosine, tangent, and their inverses with degrees and radians conversion support