Search / io.github.pipeworx-io/blockscout
Blockscout
R0· no sign-inBlockscout MCP — multi-chain block-explorer aggregate
v0.1.3 · active · repository · website · descriptor JSON · versions
Search / io.github.pipeworx-io/blockscout
R0· no sign-inBlockscout MCP — multi-chain block-explorer aggregate
v0.1.3 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"blockscout": {
"type": "http",
"url": "https://gateway.pipeworx.io/blockscout/mcp"
}
}
}claude mcp add --transport http blockscout https://gateway.pipeworx.io/blockscout/mcp[mcp_servers.blockscout]
url = "https://gateway.pipeworx.io/blockscout/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blockscout": {
"type": "remote",
"url": "https://gateway.pipeworx.io/blockscout/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"blockscout": {
"type": "http",
"url": "https://gateway.pipeworx.io/blockscout/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=blockscout&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9ibG9ja3Njb3V0L21jcCJ9"
}{
"servers": {
"blockscout": {
"type": "http",
"url": "https://gateway.pipeworx.io/blockscout/mcp"
}
}
}{
"mcpServers": {
"blockscout": {
"httpUrl": "https://gateway.pipeworx.io/blockscout/mcp"
}
}
}extensions:
"blockscout":
enabled: true
name: "blockscout"
type: streamable_http
uri: "https://gateway.pipeworx.io/blockscout/mcp"
timeout: 300
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagevalidate_claimremoved"Is it true that…" / "fact check" / "verify the claim that…" / "did X really…" / "was Y actually…" / "confirm or refute" / "true or false" — natural-language claim verification against authoritative sources. Use whenever the agent needs to check whether something a user said is factually correct. Company-financial claims (revenue, net income, cash for public US companies) verify via the structured SEC EDGAR + XBRL fast path with exact percent-delta math; ANY OTHER factual claim (macro statistics, rates, prices, drug data, records) automatically falls through to the grounded pipeline — routed to the right live source, answered with verbatim evidence, then judged. Returns a verdict (confirmed / approximately_correct / refuted / inconclusive / unsupported / could_not_verify), the grounded or structured actual value with pipeworx:// citation, and reasoning. IMPORTANT for callers: could_not_verify means the check did not happen (our LLM or source failed) and carries verification_error{stage,detail} — it is NOT evidence for or against the claim, and must not be shown as one. unsupported means we looked and cover no source for it. Replaces 4–6 sequential calls (NL parsing → entity resolution → data lookup → comparison).
get_blockremoved"Block [N] details" / "what was in block [hash]" / "miner / proposer of block [X]" — block detail by number or hash. Returns timestamp, gas used, transaction count, miner / validator, parent / next blocks. Use for chain forensics, block-time analysis.
rememberremovedSave data the agent will need to reuse later — across this conversation or across sessions. Use when you discover something worth carrying forward (a resolved ticker, a target address, a user preference, a research subject) so you don't have to look it up again. Stored as a key-value pair scoped by your identifier. Authenticated users get persistent memory; anonymous sessions retain memory for 24 hours. Pair with recall to retrieve later, forget to delete.
polymarket_kalshi_spreadremovedCross-venue spread between Kalshi and Polymarket for the same resolving question. The two venues sometimes price the same outcome 2-25pp apart because their participant pools differ — when the bet shapes are equivalent that delta is a real signal, when they aren't the tool says so. TWO MODES: (1) `topic` — 11 pre-mapped macro subjects ("fed", "btc", "eth", "cpi", "gdp", "sp500", "recession", "next_pope", "next_uk_pm", "next_israel_pm", "2028_president") auto-fetch the matching event on each venue. You do NOT have to use those exact keys: the topic is resolved through aliases and keywords, so "bitcoin", "fed rate decision", "inflation", "s&p 500" and "next pope" all land on the right subject, and `resolution.topic_matched_by` tells you whether it was an exact key, a known alias, a phrase found inside a longer question, or a single-keyword guess — treat "phrase" and "token" as a GUESS at what you meant. An unresolvable topic returns error:"mapping_failed" with mapping_stage:"topic_unrecognized" and known_topics[]; it never silently falls back to a default subject. (2) explicit `kalshi_event_ticker` + `polymarket_event_slug` for custom pairings — BOTH modes run the identical token-overlap matcher, so the same disclosures apply to both. `resolution` is returned in BOTH modes and says how each side's identifier was picked (which Kalshi series was queried, how many events came back, whether the chosen one had quoted markets; which Polymarket search query ran and why that event won). Fleet #2064: when two Polymarket candidates tie on resolution time `polymarket_selected_by` now SAYS so, names every tied slug, names the tie-break that actually decided it (the candidate whose metric_type matches the Kalshi series, else lexicographic slug order), and states whether the winner's metric matches the Kalshi series — it used to assert "picked the soonest-resolving" byte-identically on calls that returned DIFFERENT events, because the tie was settled by upstream fetch arrival order. RESPONSE: each venue's leg-by-leg prices (raw probability 0-1) plus matched spread[].top_spreads_pp (Kalshi − Polymarket) where the same outcome shows up on both sides. SAFETY FIELDS: compatibility_warning is a sentence and compatibility_codes[] the machine-readable form; BOTH can be non-empty on returned pairs, so read them even when matched_pairs>0. Codes: event_subject_mismatch (the two event titles share no subject words — probably not the same question), temporal_mismatch (the two events are about different SUBJECT months — e.g. Kalshi "CPI in October" vs Polymarket "September Inflation"), temporal_alignment_unknown (the subject month could not be parsed on one or both sides — NOT the same as confirmed-aligned; check each event yourself), non_equivalent_bet_shapes, no_candidate_pairs, unclassified_legs_excluded, pairing_unverified (set in EITHER mode whenever pairs are returned: the legs were matched by keyword and word overlap, not a shared resolution source). Each entry in top_spreads_pp carries its own flags[] (temporal_mismatch, temporal_alignment_unknown, event_subject_mismatch, low_token_overlap). A leg whose metric_type or match_subtype is "unknown" is NEVER paired — those comparisons land in spread.skipped_unclassified and, when the wording lined up, in spread.low_confidence_pairs[] for inspection only. temporal_alignment{polymarket_month,kalshi_month,aligned} tells you whether the two events are about the same SUBJECT calendar period, in EITHER mode — this is the period the question is ABOUT (e.g. "September" for a CPI release that settles in October), not necessarily when either side settles; null means it could not be computed (see temporal_alignment_unknown), not that the two sides align. Fleet #2062: this used to compare Polymarket's settlement date against Kalshi's subject month and call a match — fixed to compare subject month to subject month on both sides. FEES: every top_spreads_pp and low_confidence_pairs[] row carries edge_pp_gross (== |sp
list_chainsremovedList all EVM chain slugs and Blockscout host URLs supported by this pack (20+ chains: eth, polygon, arbitrum, base, optimism, bnb, gnosis, zksync-era, etc.). Use to discover valid chain values for other tools.
searchremoved"Search [chain] for [query]" / "is [string] a token / contract / address on [chain]" — universal block-explorer search across addresses, transactions, blocks, tokens, and ENS-style names on a specific EVM chain. Use when you don't know yet whether the input is an address / hash / token symbol.
get_tokenremoved"Token info for [contract]" / "what is contract [0x...]" / "ERC-20 / NFT metadata for [token]" — token contract metadata: name, symbol, decimals, total supply, holder count, contract type. Use for on-chain token characterization.
get_transactionremoved"Look up transaction [0xhash]" / "what happened in tx [hash]" / "decode tx [X]" — full transaction detail (from, to, value, method, status, gas, decoded calldata). Pass chain + tx_hash. Use for forensic tx analysis, MEV inspection, contract-call breakdown.
get_address_token_transfersremoved"Token transfers / NFT activity for [wallet]" / "ERC-20 / ERC-721 / ERC-1155 transfers in/out of [0x...]" / "what tokens did [address] send or receive" — token transfer log for an EVM address. Use for tracing NFT activity, stablecoin flows, airdrops, or specific-token movement (filter via `token` arg).
get_address_txnsremoved"Recent transactions of [wallet]" / "tx history for [0x...]" / "what has [address] done lately" — recent transactions for an EVM address. Pass chain + 0x address; optionally filter by direction (to/from). Use for wallet-activity audit, fund-flow tracing.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
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.
+repository +namespace-matches-repo +website +reachable +uptime-99% +updated-0d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://gateway.pipeworx.io/blockscout/mcp streamable-http | none | yes | 99% | 38 ms | 2025-03-26 | 2026-10-20 |
No tools observed. Tools appear once a credential-free probe can list them.
Schemas: list_tools.
And 1,855 more from this publisher.
{
"name": "io.github.pipeworx-io/blockscout",
"title": "Blockscout",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://gateway.pipeworx.io/blockscout/mcp",
"type": "streamable-http"
}
],
"version": "0.1.3",
"repository": {
"url": "https://github.com/pipeworx-io/mcp-blockscout",
"source": "github"
},
"websiteUrl": "https://pipeworx.io/packs/blockscout",
"description": "Blockscout MCP — multi-chain block-explorer aggregate"
}