protogrid

Search / com.blockscout/mcp-server

Blockscout

R0· no sign-in

MCP server for Blockscout

v0.19.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust96of 100
Uptime, 30 days100%
Latency p50515 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "blockscout": {
      "type": "http",
      "url": "https://mcp.blockscout.com/mcp"
    }
  }
}
claude mcp add --transport http blockscout https://mcp.blockscout.com/mcp
[mcp_servers.blockscout]
url = "https://mcp.blockscout.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "blockscout": {
      "type": "remote",
      "url": "https://mcp.blockscout.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "blockscout": {
      "type": "http",
      "url": "https://mcp.blockscout.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=blockscout&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmJsb2Nrc2NvdXQuY29tL21jcCJ9"
}
{
  "servers": {
    "blockscout": {
      "type": "http",
      "url": "https://mcp.blockscout.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "blockscout": {
      "httpUrl": "https://mcp.blockscout.com/mcp"
    }
  }
}
extensions:
  "blockscout":
    enabled: true
    name: "blockscout"
    type: streamable_http
    uri: "https://mcp.blockscout.com/mcp"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations16 of 16 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_address_by_ens_name (idempotentHint); __unlock_blockchain_analysis__ (idempotentHint); get_address_info (idempotentHint); …
  • pass
    tools.token_costabout 4,918 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

16 tools, about 4,918 tokens to load them all · tool set 5ba5327ac2af · checked 2026-10-20 12:45 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance95
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +dns-namespace +website -thin-description +reachable +uptime-100% ~updated-42d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.blockscout.com/mcp streamable-httpnoneyes100%515 ms2025-11-252026-10-20

Tools (16)

direct_api_callread-onlyCall 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).
get_address_by_ens_nameread-only Useful for when you need to convert an ENS domain name (e.g. "blockscout.eth") to its corresponding Ethereum address.
get_address_inforead-only 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.
get_block_inforead-only 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_numberread-only 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.
get_chains_listread-onlyGet 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.
get_contract_abiread-only 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.
get_tokens_by_addressread-only 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.
get_token_transfers_by_addressread-only 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.
get_transaction_inforead-only 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.
get_transactions_by_addressread-only 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.
inspect_contract_coderead-onlyInspects a verified contract's source code or metadata.
lookup_token_by_symbolread-only 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_tokens_by_addressread-only 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.
read_contractread-only 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"]" } }
__unlock_blockchain_analysis__read-onlyInitializes 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.

Schemas: list_tools.

Also listed as

1 other active names share this repository: ai.smithery/blockscout-mcp-server

Similar MCP servers

Official server.json
{
  "name": "com.blockscout/mcp-server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.blockscout.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.19.0",
  "repository": {
    "url": "https://github.com/blockscout/mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://blockscout.com",
  "description": "MCP server for Blockscout"
}