Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.BlockRunAI/blockrun-mcp

NPM · @BLOCKRUN/MCP · SCANNED SEP 20

Web search, deep research, prediction markets & crypto data for AI agents. Pay per call via x402.

Available components

−5 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security63
  • No malware found by supply-chain analysis.Pass
  • Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to BlockRunAI/blockrun-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 11034 tokens (~479/item across 23 items; 19 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management78
  • Stability check failed: the tool surface changed between 0.40.2 and 0.52.0: 1 tool removals, 0 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the io.github.BlockRunAI/blockrun-mcp server?

io.github.BlockRunAI/blockrun-mcp runs locally as an npm package, launched with npx -y @blockrun/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @blockrun/mcp

# add to Claude Code
claude mcp add blockrunai-blockrun-mcp -- npx -y @blockrun/mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "blockrunai-blockrun-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@blockrun/mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "blockrunai-blockrun-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@blockrun/mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add blockrunai-blockrun-mcp -- npx -y @blockrun/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "blockrunai-blockrun-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@blockrun/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add blockrunai-blockrun-mcp --command npx --arg -y --arg @blockrun/mcp
# ~/.hermes/config.yaml
mcp_servers:
  blockrunai-blockrun-mcp:
    command: "npx"
    args: ["-y", "@blockrun/mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "blockrunai-blockrun-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@blockrun/mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add blockrunai-blockrun-mcp -t stdio -c npx -a -y @blockrun/mcp
// mcp.json
{
  "mcpServers": {
    "blockrunai-blockrun-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@blockrun/mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 −5
    • Known CVEs: fail → unverified security
    • Stability: fail → unverified security
    • Tool safety: pass → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: 0.88 → unverified functional
    • Package version: 0.51.1 → 0.52.0 functional
  • 19 Sept 26 −3

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 75.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.

  • 16 Sept 26 +21
    • Known CVEs: unverified → fail security
    • Malware scan: unverified → pass security
    • Dependency health: unverified → 0.88 functional
  • 15 Sept 26 −20
    • Known CVEs: fail → unverified security
    • Malware scan: pass → unverified security
    • Dependency health: 0.88 → unverified functional
    • Security disclosure: pass → unverified functional
    • Package version: 0.49.0 → 0.51.1 functional
    • Package version: 0.49.0 → 0.51.0 functional
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 78 to 82.

  • 13 Sept 26 −3

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 78.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/@blockrun/mcp@0.52.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo BlockRunAI/blockrun-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/BlockRunAI/blockrun-mcp/.github/workflows/publish.yml@refs/heads/main
Rekor log index 2898462518
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:5e76cc73dfc785b263f4ca56801fdec3f007e474c3f083adb13ade89c2e9e8ef0e63ae2b4da0574781429bef1dc9fb4b29671eaeb3dea214c66ebd9ca

Background: How many MCP packages publish verified provenance →

MCP tools · 19 exposed · ~10,969 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
blockrun_chat ~685

Get a second opinion from another AI model, or use a specialized model for a specific task. Notable modes: - mode:"powerful" → Claude Opus 5, Claude Opus 4.8, GPT-5.6-sol, Claude Fable 5 (frontier, 1M context) - mode:"reasoning" → Claude Opus 5, GPT-5.6-sol, Kimi K3, Grok 4.3, deepseek-v4-pro - mode:"coding" → Claude Opus 5, GPT-5.3-codex, Kimi K3, Grok Build, GLM-5.2 - mode:"cheap" → deepseek-v4-pro, Qwen3.7 Flash, MiniMax M3, Tencent Hy3 - mode:"glm" → Zhipu GLM-5 / 5.2 / 5.1 / 5-Turbo (strong at coding) - mode:"free" → free models (no cost) Pick directly: model:"anthropic/claude-opus-5", model:"moonshot/kimi-k3", model:"openai/gpt-5.6-sol", model:"xai/grok-4.5", model:"nvidia/gpt-oss-120b" (free). Run blockrun_models to see all available models with pricing.

NameTypeReqDescription
agent_idstringAgent identifier. If a budget was delegated for this agent_id via blockrun_wallet action:'delegate', spending is tracked and enforced. The agent is hard-stopped when its budget is exhausted.
max_tokensnumberMax tokens in response
messagestringyesYour message to the AI
messagesarrayConversation history for multi-turn context. When provided, 'message' is appended as the final user turn. Use with explicit 'model' param (defaults to 'openai/gpt-5.6-terra' if not specified). Note:…
modestringRouting mode: powerful/reasoning = frontier models (Opus 5, GPT-5.6-sol, Kimi K3), coding = code-specialized, glm = Zhipu GLM (great for coding), cheap = budget models, free = $0 models (ignored if m…
modelstringSpecific model ID (e.g., 'moonshot/kimi-k3', 'openai/gpt-5.6-sol', 'zai/glm-5')
response_formatstringSet to 'json_object' to force valid JSON output (no markdown fences). Works across all providers.
stoparrayUp to 4 stop sequences; generation halts when any is produced
systemstringOptional system prompt
temperaturenumberCreativity 0-2
thinkingobjectAnthropic extended thinking. Only honored for anthropic/claude-* models — these go direct to the native /v1/messages endpoint and the response includes verbatim type:'thinking' blocks with their orig…

No output schema declared.

No examples provided.

blockrun_defi ~357

DeFi fundamentals via DefiLlama — protocol TVL, chain TVL, yield pools (APY), token prices. Pays per call in USDC, no API key. Paths (GET only; price = base + the gateway's flat tx fee, $0.001 today — we reserve $0.002; the 402 header carries the exact charge): - protocols ($0.005 base) — all DeFi protocols ranked by TVL - protocol/{slug} ($0.005 base) — one protocol's TVL history + chain breakdown, e.g. protocol/aave-v3 - chains ($0.005 base) — TVL by chain - yields ($0.005 base) — yield pools with APY + TVL (large; filter client-side) - prices/{coins} ($0.001 base) — token prices, coins like 'base:0x833589...,coingecko:ethereum' Examples: blockrun_defi({ path: "protocol/uniswap-v3" }) blockrun_defi({ path: "prices/coingecko:bitcoin,coingecko:ethereum" }) blockrun_defi({ path: "chains" }) Use blockrun_price (free) for plain spot quotes, blockrun_dex (free) for DEX pairs — this tool is for protocol/TVL/yield fundamentals.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
pathstringyesEndpoint under /v1/defillama/, e.g. 'protocols', 'protocol/aave-v3', 'chains', 'yields', 'prices/coingecko:ethereum'

No output schema declared.

No examples provided.

blockrun_dex ~174

Get real-time DEX data from DexScreener. FREE - no payment required. Use for: - Token prices and liquidity across chains - Trading volume and price changes - Finding token pairs and contracts Examples: blockrun_dex({ query: "SOL" }) -> Search for SOL pairs blockrun_dex({ token: "So11...xxx" }) -> Get specific token data blockrun_dex({ symbol: "PEPE" }) -> Search by symbol

NameTypeReqDescription
chainstringFilter by chain (ethereum, solana, base, etc.)
querystringSearch query (token name, symbol, or address)
symbolstringToken symbol to search
tokenstringToken address for direct lookup

No output schema declared.

No examples provided.

blockrun_exa ~289

Neural web search via Exa — understands meaning, not just keywords. Great for research. Common paths (all POST, body shapes documented in the exa-research skill): - search — body: { query, numResults?, category?, includeDomains?, excludeDomains? } ($0.010 base + tx fee) - answer — body: { query } ($0.010 base + tx fee) - contents — body: { urls: [...] } ($0.002/URL + ONE tx fee, up to 100) - find-similar — body: { url, numResults? } ($0.010 base + tx fee) Tx fee = the gateway's flat network fee, $0.001 today (we reserve $0.002); the 402 header carries the exact charge. Categories for search: "news", "research paper", "company", "tweet", "github", "pdf". Full request/response shapes + worked research workflows in the `exa-research` skill.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyJSON body for the call. Sent as POST. Required for all four endpoints.
pathstringyesEndpoint name under /v1/exa/, e.g. 'search', 'answer', 'contents', 'find-similar'

No output schema declared.

No examples provided.

blockrun_image ~931

Generate or edit images via BlockRun. Pays with USDC on the ACTIVE chain — Base or Solana (see blockrun_wallet) — no separate API keys needed. Actions: - generate (default): Create image from text prompt - edit: Transform an existing image using img2img Generation models (1024x1024 base price; larger sizes cost more on gpt-image-*): - openai/gpt-image-2 ($0.06–0.12) — flagship, reasoning-driven, multilingual on-image text + character consistency (default) - openai/gpt-image-1 ($0.02–0.04) — GPT native image generation - google/nano-banana ($0.05) — Gemini-family image model - google/nano-banana-2 ($0.09) — Gemini 3.1 Flash, pro-level quality at Flash speed (1024x1024 only) - google/nano-banana-pro ($0.10; $0.15 at 4096px) — up to 4K, strongest photorealism - xai/grok-imagine-image ($0.02) — stylized, fast - xai/grok-imagine-image-pro ($0.07) — higher quality Grok Imagine - zai/cogview-4 ($0.015) — cheapest, photorealistic detailed scenes - bytedance/seedream-5-pro ($0.045; $0.09 when both dimensions exceed 1024) — Seedream 5.0 Pro; cheap widescreen at 1280x720 / 2048x1024, large formats up to 2848x1600 Edit (img2img) models: openai/gpt-image-2 (default), openai/gpt-image-1, google/nano-banana, google/nano-banana-2, google/nano-banana-pro Multi-image edit: pass an array of 2–4 source images to "image" to fuse them in one render (openai/* up to 4, google/* up to 3) — e.g. a subject plus a sprite layout guide, or a reference plus a brand logo. Source images and masks accept a base64 data URI, an http(s) URL, or a local file path (auto-encoded). Inpaint mask (openai/gpt-image-* only) via "mask"; not combinable with multiple source images.

NameTypeReqDescription
actionstringgenerate: create from text; edit: transform existing image
agent_idstringAgent identifier for budget tracking and enforcement.
imageSource image(s) for edit action: a base64 data URI, an http(s) URL, or a local file path (auto-encoded to a data URI) — or an array of 2–4 to fuse into one render (e.g. subject + layout guide, or ref…
inlinebooleanReturn a small inline image preview (thumbnail) the client can render in-conversation, in addition to the full-resolution URL. Defaults to the BLOCKRUN_INLINE_IMAGES env setting (off unless set). Ric…
maskstringInpaint mask for edit action (openai/gpt-image-* only): a base64 data URI, http(s) URL, or local file path. Transparent areas of the mask are regenerated. Cannot be combined with multiple source imag…
modelstringModel to use (default: openai/gpt-image-2 for both generate and edit). gpt-image-2 renders on-image text best; nano-banana-pro for 4K photorealism; cogview-4 / grok-imagine-image for cheap drafts.
promptstringyesImage description or edit instructions
sizestringImage size. Common values: 1024x1024 (all models), 1536x1024 / 1024x1536 (gpt-image-*), 2048x2048 / 4096x4096 (nano-banana-pro), 1280x720 / 2048x1024 / 2048x2048 / 2848x1600 (seedream-5-pro)

No output schema declared.

No examples provided.

blockrun_markets ~1,178

Prediction market + derivatives data via Predexon aggregator. Flat $0.0075 base per call (every endpoint) plus the gateway's network fee — $0.001 on Base today, none quoted on Solana; the 402 header carries the exact charge (we reserve $0.0095). POLYMARKET (Tier 1): - polymarket/events, polymarket/markets — list events/markets (filter, sort, paginate) - polymarket/markets/keyset, polymarket/events/keyset — same data, cursor-based keyset pagination (params: { pagination_key }) - polymarket/crypto-updown — crypto up/down markets - polymarket/market-price/:token_id — current/historical price - polymarket/candlesticks/:condition_id — OHLCV by market - polymarket/candlesticks/token/:token_id — OHLCV by single outcome token - polymarket/volume-chart/:condition_id — volume w/ YES/NO split - polymarket/orderbooks, polymarket/trades, polymarket/activity - polymarket/markets/:token_id/volume, polymarket/markets/:condition_id/open_interest - polymarket/positions — user positions - polymarket/leaderboard, polymarket/leaderboard/market/:condition_id - polymarket/cohorts/stats, polymarket/market/:condition_id/top-holders - polymarket/uma/markets, polymarket/uma/market/:condition_id — UMA oracle questions/timeline POLYMARKET (Tier 2 — wallet/smart-money analytics): - polymarket/wallet/:wallet — full smart-wallet profile - polymarket/wallet/:wallet/markets, .../similar - polymarket/wallet/pnl/:wallet, .../positions/:wallet, .../volume-chart/:wallet - polymarket/wallets/profiles — batch profiles, GET with params: { addresses } (POST 404s); polymarket/wallets/filter — AND/OR filter - polymarket/market/:condition_id/smart-money, polymarket/markets/smart-activity WALLET IDENTITY & CLUSTERING (Tier 2) — cross-context labels + on-chain relationship graph: - polymarket/wallet/identity/:wallet — fetch identity + profile metadata for one wallet - polymarket/wallet/identities — POST { addresses: [...] } for bulk lookup (up to 200 wallets) - polymarket/wallet/:address/cluster — discover w…

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyJSON body for POST queries (triggers pmQuery — most endpoints are GET)
paramsobjectQuery parameters for GET requests (e.g. markets/search uses { q: 'Bitcoin', status: 'open', venue: 'polymarket', limit: '20' })
pathstringyesEndpoint path, no query string, e.g. 'polymarket/events', 'kalshi/markets' (filter via params: { ticker: 'KXBTC-25MAR14' }), 'polymarket/wallet/0xabc...', 'markets/search'

No output schema declared.

No examples provided.

blockrun_modal ~475

Run isolated code in a BlockRun-hosted Modal sandbox — disposable remote container, optional GPU. Use when you need: a clean ephemeral environment, GPU access (T4/L4/A10G/A100/H100 — those five only), or a safer place for untrusted code. Prefer local tools for normal repo work. ⚠️ `timeout` IS THE BILLED LIFETIME — charged upfront in full, NEVER refunded. It is not an idle timeout: you pay for the time you ASK for, not the time you use, and terminating early refunds nothing. Ask for what you need, not a safe-looking ceiling. - timeout ≤ 300s → flat: $0.0120 CPU · $0.0520 T4 · $0.0820 L4 · $0.1020 A10G · $0.2020 A100 · $0.4020 H100 - timeout > 300s → PER-HOUR × the full requested lifetime: $0.10/h CPU · $1.50 T4 · $2.00 L4 · $2.50 A10G · $4.00 A100 · $8.00/h H100 e.g. { timeout: 600, gpu: "A100" } = $0.6687 · { timeout: 86400, gpu: "H100" } = $192.00 Common paths (all POST): - sandbox/create — body: { image?, timeout?, cpu?, memory?, gpu?, setup_commands? } (see above — $0.0120 to $192.00) - sandbox/exec — body: { sandbox_id, command: ["python","-c","..."], timeout? } ($0.0030) - sandbox/status — body: { sandbox_id } ($0.0030) - sandbox/terminate — body: { sandbox_id } ($0.0030) Full pricing tables + GPU details in the `modal` skill.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyJSON body. Sent as POST.
pathstringyesEndpoint under /v1/modal/, e.g. 'sandbox/create', 'sandbox/exec'

No output schema declared.

No examples provided.

blockrun_models ~55

List available AI models with pricing. Use to discover models and compare costs.

NameTypeReqDescription
categorystringFilter by category
providerstringFilter by provider (e.g., 'openai', 'anthropic')

No output schema declared.

No examples provided.

blockrun_music ~303

Generate music tracks via BlockRun x402 (async, client-polled). Generates a full-length ~3 minute MP3 track. Takes 1-3 minutes to complete. The tool submits the job and, for slower tracks, polls until it is ready. On the Base wallet payment settles only when a finished track is returned — if the job fails you are not charged; if this client gives up while a paid request is still in flight the gateway may still settle, and the error text says so. On Solana and on the account rail the job is billed when the gateway ACCEPTS it, so a job that later fails or outlives the poll budget is still charged — the error text says so and names the job, which stays claimable for ~48h. Model: minimax/music-2.5+ ($0.1575/track, up to ~4 min) Returns a permanent BlockRun-hosted URL.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
instrumentalbooleanGenerate without vocals (default: true)
lyricsstringCustom lyrics. Cannot be used with instrumental: true
modelstringMusic model to use
promptstringyesMusic style, mood, or description. E.g. 'upbeat synthwave with neon pads', 'chill lo-fi beats', 'epic orchestral film score'

No output schema declared.

No examples provided.

blockrun_phone ~434

Phone-number intelligence, US/CA number provisioning, and outbound AI voice calls. Common paths (path = everything after /v1/): - phone/lookup POST body: { phoneNumber } ($0.01) - phone/lookup/fraud POST body: { phoneNumber } — SIM-swap + call-forwarding signals ($0.05) - phone/numbers/buy POST body: { country?: "US"|"CA", areaCode? } — 30-day lease ($5.00) - phone/numbers/renew POST body: { phoneNumber } — extend 30 days ($5.00) - phone/numbers/list POST body: {} — your wallet-owned numbers ($0.001) - phone/numbers/release POST body: { phoneNumber } — release back to pool (free) - voice/call POST body: { to, task, from, voice?, max_duration?, ... } ($0.54 flat) - voice/call/{call_id} GET (no body) — poll status + transcript (free) REQUIRED for voice/call: `from` must be a number your wallet owns. Provision one with `phone/numbers/buy` first ($5, 30-day lease). Voice presets: nat, josh, maya, june, paige, derek, florian. Phone numbers use E.164 format (e.g. +1 followed by 10 US digits, or +<country-code><number>). Voice call flow + voice preset details + full body shapes in the `phone` skill.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyJSON body. Sent as POST. Omit for the free GET poll (voice/call/{call_id}).
pathstringyesEndpoint after /v1/. Use 'phone/...' for lookup + number ops, 'voice/call' for outbound AI calls, 'voice/call/{id}' (no body) to poll status.

No output schema declared.

No examples provided.

blockrun_polymarket ~859

Trade on Polymarket prediction markets (CLOB V2, Polygon). REAL MONEY — orders spend pUSD held in your Polymarket deposit wallet, signed locally by your BlockRun key. Free tool (no BlockRun API charge); discover markets/prices/token IDs with blockrun_markets first. Run action:"setup" FIRST (and again after funding). It creates a gasless deposit wallet owned by your key, checks pUSD balance + exchange approvals, and prints funding instructions. Zero config — no Polymarket account or API keys; setup bootstraps its credentials from your wallet key. Actions: - setup — create/inspect deposit wallet, funding, approvals (confirm:true to sign the approval batch), region check. Idempotent. - fund — top up the deposit wallet from your OWN Base USDC, gasless (confirm:true). amount_usd required. BlockRun pays the gas + charges $0.01; you need no ETH. Non-custodial (USDC → Polymarket bridge → your vault). - buy / sell — token_id (or condition_id+outcome) + either price+size (limit) or amount_usd (market buy) / size (market sell). confirm:true REQUIRED to place; omitting it returns a dry-run preview. Per-order cap: POLYMARKET_MAX_BET_USD (default $25). - orders — list open orders (optional condition_id filter) - cancel — order_id:"…" or all:true - positions — holdings incl. redeemable winnings (free Data-API) - redeem — claim resolved winnings for condition_id (confirm:true; gasless) - withdraw — cash out pUSD → native USDC on Base to your agent wallet (confirm:true). amount_usd optional (default: full balance); to_address optional (default: your wallet). Prices are probabilities 0–1 on the market's tick grid. token_id comes from blockrun_markets Polymarket data. Geoblock is handled by default (CLOB traffic routes through BlockRun's Finland egress) — setup reports your region status. Complying with Polymarket's terms for the user's jurisdiction is the user's responsibility.

NameTypeReqDescription
actionstringyesOperation to perform
agent_idstringTag for the session betting ledger (bets do NOT draw from the x402 API budget)
allbooleancancel: cancel ALL open orders
amount_usdnumberpUSD dollars — to spend (market buy) or to cash out (withdraw; default full balance)
condition_idstringMarket condition ID (0x…). With `outcome` it resolves token_id; required for redeem.
confirmbooleanMust be true to place orders / sign approvals / redeem. Omit for a dry-run preview.
expires_atintegerUnix seconds expiry (GTD only, ≥ ~3 min in the future)
max_fill_pricenumberMarket orders only: the worst fill you accept (0-1). Defaults to the worst fill of this session's last preview for the same token+side, so a bare confirm:true is already held to what was quoted — a b…
order_idstringOrder ID to cancel
order_typestringDefault: GTC for limit orders, FOK for market orders
outcomestringOutcome label (e.g. 'Yes') — used with condition_id when token_id is omitted
post_onlybooleanMaker-only limit order (rejected if it would cross the book)
pricenumberLimit price as probability (0–1). Omit for a market order.
sizenumberShares — required for limit orders and market sells
to_addressstringwithdraw: destination address on Base (default: your agent wallet)
token_idstringOutcome token ID (decimal ERC-1155 id from blockrun_markets clobTokenIds)

No output schema declared.

No examples provided.

blockrun_polymarket_read ~307

Read or preview Polymarket state without signing or changing anything. Actions: - positions — holdings, current value, PnL, and redeemable status (free Data API) - orders — open CLOB orders, optionally filtered by condition_id - preview — build a live buy/sell order preview from the CLOB book. side plus token_id (or condition_id+outcome) are required. Market buys use amount_usd; limit orders use price+size. This action never accepts confirm and never signs or submits an order. Use blockrun_polymarket only for setup and funds-affecting operations: confirmed buy/sell, cancel, redeem, fund, or withdraw.

NameTypeReqDescription
actionstringyesRead-only operation
amount_usdnumberpreview: pUSD to spend on a market buy
condition_idstringorders: optional market condition ID filter
expires_atintegerpreview: GTD expiry in Unix seconds
order_typestringpreview: order type
outcomestringpreview: outcome label used with condition_id
post_onlybooleanpreview: maker-only limit order
pricenumberpreview: limit probability; omit for market order
sidestringpreview: order side
sizenumberpreview: shares for limits and market sells
token_idstringpreview: outcome token ID

No output schema declared.

No examples provided.

blockrun_price ~450

Realtime quotes and OHLC history for crypto, FX and commodities (Pyth-backed), plus the ticker catalog for 12 stock markets. - action="price" — realtime quote for a symbol - action="history" — OHLC bars between from/to (unix seconds) - action="list" — discovery: list available symbols (free) Pricing: - crypto / fx / commodity: FREE across price, history and list - stocks / usstock: list (ticker catalog) FREE; price/history NOT SERVED — gateway 501 before payment since 2026-09-05, nothing charged, do not retry Stocks markets: us, hk, jp, kr, gb, de, fr, nl, ie, lu, cn, ca (required when category="stocks"). Examples: - { action: "price", category: "crypto", symbol: "BTC-USD" } - { action: "price", category: "fx", symbol: "EUR-USD" } - { action: "history", category: "crypto", symbol: "ETH-USD", resolution: "D", from: 1700000000, to: 1710000000 } - { action: "list", category: "crypto", query: "sol" }

NameTypeReqDescription
actionstringyesWhich endpoint to hit: price, history, or list.
agent_idstringAgent identifier for budget tracking and enforcement.
categorystringyesMarket category.
fromnumberHistory window start (unix seconds).
limitintegerMax items for list (default 100, max 2000).
marketstringStock market code — required when category='stocks'.
querystringFree-text filter for list.
resolutionstringBar resolution for history (default D).
sessionstringEquity session hint (pre/post/on); ignored for non-equity.
symbolstringTicker (required for price+history). e.g. BTC-USD, EUR-USD, XAU-USD.
tonumberHistory window end (unix seconds).

No output schema declared.

No examples provided.

blockrun_realface ~721

Enroll a real person's face as a BytePlus RealFace asset, then drive Seedance 2.0 video with it (blockrun_video real_face_asset_id). A RealFace asset (ta_xxxx) lets Seedance 2.0 / 2.0-fast / 2.0-mini generate video of a SPECIFIC real person — not a generic seed image. Only those three models: seedance-2.5 is numerically newer but does NOT accept ta_ assets, and seedance-1.5-pro never did. Enrollment is a multi-step flow because BytePlus requires a live phone liveness check (the real person nods + blinks on camera) before a face photo can be uploaded. Actions: - init: FREE. Create an asset group + a phone H5 link. The tool renders the link as a QR code and opens it; the real person scans it on their phone and completes the ~1 min liveness check. Pass group_id to refresh an expired link. - status: FREE. Poll a group until status:"active" (ready_to_finalize:true). The H5 link is valid ~120s — re-init if it expires. - enroll: PAID ($0.01). Settles on Solana or Base from a wallet, or against your BlockRun account key. After the group is active, upload a clear front-facing photo (image_url) of the SAME person. Returns the ta_xxxx asset id. - portrait: PAID ($0.01). Settles on Solana or Base from a wallet, or against your BlockRun account key. Virtual Portrait — enroll an AI-GENERATED character from an image URL directly, NO liveness needed (one step: name + image_url → ta_xxxx). For fictional/AI characters only; for a real person use the init→status→enroll liveness flow. - list: FREE, WALLET MODE ONLY (assets are indexed by wallet address). List the RealFace + Virtual Portrait assets enrolled by this wallet (their ta_xxxx ids + names) so you can pick one for blockrun_video. Typical flow: 1. blockrun_realface action:"init" name:"Alice" → scan QR on phone, do liveness 2. blockrun_realface action:"status" group_id:"legacy_rf_…" → repeat until ready_to_finalize:true 3. blockrun_realface action:"enroll" name:"Alice" group_id:"legacy_rf_…" image_url:"https:/…

NameTypeReqDescription
actionstringyesWhat to do
agent_idstringAgent identifier for budget tracking and enforcement (enroll only).
group_idstringAsset-group id from init (required for status and enroll; pass to init to refresh an expired H5 link). Not used by portrait.
image_urlstringPublic HTTPS URL to a clear front-facing face image (JPG/PNG/WEBP, ≤10MB). Required for enroll and portrait.
namestringDisplay name for the person/character (required for init, enroll, and portrait).

No output schema declared.

No examples provided.

blockrun_rpc ~512

Raw JSON-RPC against 40+ blockchains — one endpoint, no node, no API key. $0.002 base per call plus the gateway's flat tx fee ($0.001 today; we reserve $0.002, so budget/confirm show $0.004 per single call). A JSON-RPC batch charges $0.002 per element plus ONE fee — batch when you can. Use when you need data the higher-level tools don't cover: contract reads (eth_call), balances, blocks, txs, logs, gas, or any chain-native RPC method. Networks (full catalog in the rpc skill): ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, solana, bitcoin, sui, near, ripple, polkadot, dogecoin, litecoin, monad, berachain, unichain, hyperevm, sonic, and 20+ more. Examples: blockrun_rpc({ network: "ethereum", method: "eth_blockNumber" }) blockrun_rpc({ network: "base", method: "eth_getBalance", params: ["0xabc...", "latest"] }) blockrun_rpc({ network: "solana", method: "getSlot" }) blockrun_rpc({ network: "bitcoin", method: "getblockchaininfo" }) blockrun_rpc({ network: "ethereum", body: [{jsonrpc:"2.0",id:1,method:"eth_blockNumber"},{...}] }) // batch Prefer blockrun_price (free quotes) or blockrun_dex (free DEX data) when they cover the question — this tool is for raw chain access.

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyFull JSON-RPC 2.0 body or an array of them (batch). Overrides method/params when set.
methodstringJSON-RPC method, e.g. 'eth_blockNumber', 'eth_call', 'getSlot' (Solana), 'getblockchaininfo' (Bitcoin). Required unless 'body' is set.
networkstringyesChain key, e.g. 'ethereum', 'base', 'solana', 'bitcoin', 'arbitrum', 'polygon'. Unknown slugs pass through to the Tatum gateway.
paramsJSON-RPC params array for the method, e.g. ['0xabc...', 'latest'].

No output schema declared.

No examples provided.

blockrun_search ~306

Grok Live Search — real-time web + news with AI-summarized results and citations. PRICED PER SOURCE and expensive by default: $0.025 × max_results, +5% gateway buffer — default max_results=10 settles ~$0.26 (max_results=50 → ~$1.31). Pass a smaller max_results to cap spend; for a plain fact, 3 sources (~$0.08) is usually enough. Common shape: - body: { query: "...", sources: ["web","news"], max_results: 10, from_date: "YYYY-MM-DD", to_date: "YYYY-MM-DD" } `sources` accepts any subset of ["web","news"] (default ["web"] — pass both for news coverage). There is no X/Twitter source (removed upstream 2026-07-05; asking for it is refused before payment). `max_results` is 1–50 (default 10) and drives the price — pass a smaller value if you want to cap spend. Full request shape + worked examples in the `search` skill (`skills/search/SKILL.md`).

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
bodyRequest body. At minimum { query: '...' }. Sent as POST.
pathstringEndpoint sub-path under /v1/search/ (default empty = root /v1/search). Reserved for future surfaces.

No output schema declared.

No examples provided.

blockrun_speech ~583

AI voice via BlockRun x402 — speak text aloud (ElevenLabs or ByteDance Seed Audio), generate sound effects, list voices. Actions: - speak (default): text-to-speech. E.g. "speak this with the sarah voice". Price = chars/1000 × rate (min $0.001), quoted before payment. - sound_effect: cinematic sound effects from a text prompt, up to 22s ($0.0525/clip) - voices: list available voices (free) Models (speak): elevenlabs/flash-v2.5 ($0.05/1k chars, ~75ms, default), elevenlabs/turbo-v2.5 ($0.05/1k), elevenlabs/multilingual-v2 ($0.10/1k, narration), elevenlabs/v3 ($0.10/1k, most expressive), bytedance/seed-audio-1.0 (~$0.003/sec of output, est. from input length; max 3k chars in / 120s out) — prompt-DIRECTED audio: describe the voice, emotion, and sound staging in the input text itself ("a tired detective mutters, rain in the background: ..."); the voice parameter is ignored. Voice aliases (ElevenLabs models only): sarah (default), george, laura, charlie, river, roger, callum, harry — or any raw ElevenLabs voice_id. Returns a hosted audio URL — download immediately if you need to keep the file.

NameTypeReqDescription
actionstringspeak: text-to-speech (default). sound_effect: generate a sound effect. voices: list voices (free).
agent_idstringAgent identifier for budget tracking and enforcement.
duration_secondsnumberSound effect length in seconds (sound_effect only; default: auto)
inputstringspeak: text to synthesize. sound_effect: description of the sound, e.g. 'rain on a tin roof, distant thunder' (max 1000 chars).
modelstringSpeech model (speak only). seed-audio-1.0 is prompt-directed: voice/emotion/staging go in the input text, the voice param is ignored, and billing is per estimated second of output.
prompt_influencenumberHow literally to follow the prompt, 0-1 (sound_effect only)
response_formatstringAudio format
speednumberPlayback speed 0.7-1.2 (speak only)
voicestringVoice alias (sarah, george, laura, charlie, river, roger, callum, harry) or raw ElevenLabs voice_id. Default: sarah.

No output schema declared.

No examples provided.

blockrun_video ~1,531

Generate short AI videos via BlockRun x402 on the active Base or Solana chain (async, client-polled). Turns a text prompt (and optional seed image) into a short MP4 clip. The tool submits the job, then polls until the video is ready (typical total wall-time 60-180s; 9 min Base / 15 min Solana hard cap). On the wallet rails payment settles only when upstream returns a finished video — if the job fails you are not charged; if this client gives up while a paid poll is still in flight the gateway may still settle, and the error text says so. On the account rail the job is billed when the gateway accepts it, so a job that fails or outlives the poll budget is still charged — the error names it. Models. Every rate below is what you are CHARGED (margin and transaction fee included), at the 720p baseline Seedance renders by default with synced audio: - azure/sora-2 (~$0.105/sec, 720p + synced audio, text- or image-to-video) — OpenAI Sora 2 via Azure AI Foundry. duration_seconds must be 4, 8, or 12 (4s default -> ~$0.42/clip). image_url takes a NON-HUMAN reference image (faces are rejected upstream by moderation — use Seedance + RealFace for real people); same price as text-to-video. No RealFace, no last_frame_url. Base only for now: the Solana gateway quotes it as Seedance 2.0 at $1.135 and the tool refuses that quote unsigned. - xai/grok-imagine-video ($0.05/sec at 480p default, $0.07/sec at 720p; 8s default -> $0.401/clip, 1-15s) — stylized, fast. 480p/720p only. - bytedance/seedance-1.5-pro (~$0.071/sec, 4-12s, 5s default -> ~$0.35/clip) — cheapest Seedance, token-priced upstream - bytedance/seedance-2.0-mini (~$0.080/sec, 4-15s, 5s default) — 2.0-generation quality at roughly half the 2.0-fast rate; 720p ceiling; supports RealFace and first/last-frame - bytedance/seedance-2.0-fast (~$0.165/sec, 4-15s, ~60-80s gen) — sweet-spot price/quality; supports BytePlus RealFace assets - bytedance/seedance-2.0 (~$0.227/sec, 4-15s, up to 4K) — highest quality, and the ONLY model…

NameTypeReqDescription
agent_idstringAgent identifier for budget tracking and enforcement.
aspect_ratiostringOutput aspect ratio. Seedance honors the full set; Sora uses it only to pick portrait vs landscape (9:16 / 3:4 -> portrait); Grok ignores it (the gateway never forwards it to xAI). Defaults to the mo…
duration_secondsintegerDuration to bill for. Defaults to the model's own default (8s xAI, 5s Seedance, 4s Sora). Per-model range: seedance-1.5-pro 4-12s · seedance-2.0 / 2.0-fast / 2.0-mini 4-15s · seedance-2.5 4-30s · sor…
generate_audiobooleanSeedance only: whether to generate a synced audio track. Defaults ON for text-to-video and OFF for image/RealFace-conditioned. The auto-generated audio is occasionally rejected by upstream moderation…
image_urlstringOptional seed image URL for image-to-video generation
last_frame_urlstringSeedance 1.5-pro / 2.0 / 2.0-fast / 2.0-mini only (NOT 2.5): first-and-last-frame interpolation. A second image URL that seeds the FINAL frame so the model tweens from image_url (first frame) → last_…
modelstringVideo model to use
promptstringyesText description of the video to generate. E.g. 'a red apple slowly spinning on a wooden table', 'a hummingbird hovering near a red flower, ultra slow motion'
real_face_asset_idstringBytePlus RealFace asset id (from blockrun_realface enroll/list) to generate video of a specific real person. Seedance 2.0 / 2.0-fast / 2.0-mini only (NOT 2.5). Mutually exclusive with image_url.
resolutionstringOutput resolution. Seedance defaults to 720p and is token-priced (~2.25x at 1080p, ~9x at 4K); per-model sets from token360's published schema: seedance-2.0 480p/720p/1080p/4K · 1.5-pro 480p/720p/108…

No output schema declared.

No examples provided.

blockrun_wallet ~819

Call this tool to manage the BlockRun payment wallet and control agent spending budgets. Call this FIRST if any other blockrun_* tool returns a payment/balance error. Call this to check your current USDC balance before expensive operations. Call this to set spending limits before spawning child agents. If this server is running on a BlockRun API key (BLOCKRUN_API_KEY), there is no wallet and no chain: status reports the account, and setup/qr/deposit/chain do not apply. Credit is managed at https://user.blockrun.ai/dashboard/credits. In wallet mode the server holds TWO wallets — one on Solana, one on Base — but pays on ONE active chain at a time. status shows both addresses/balances and which is active. New installs default to Solana; an existing Base wallet keeps Base until you switch. To switch chain (no env vars, no file editing, no restart): 1. action:"chain" chain:"solana" → provisions + activates the Solana wallet 2. action:"setup" → address + funding QR for the active chain Switch back with action:"chain" chain:"base". Almost everything now settles on either chain; only blockrun_defi (DefiLlama) and blockrun_modal are Base-only, plus native Anthropic (claude-*) in blockrun_chat. Actions: - status (default): Both wallet addresses + USDC balances, active chain, session spending - deposit: Buy USDC with a card — mints a one-time Coinbase Onramp link and opens it in the browser (Base only; funds settle into your own wallet). Paid tools auto-open this on an out-of-funds failure; call it directly to fund up front. - setup: Get funding instructions + QR code for the ACTIVE chain (call this when balance is 0) - qr: Open QR code (active chain) in system viewer - chain + chain:"base"|"solana": Switch the active payment chain (omit chain: to just see the current one) Budget controls: - budget + budget_action:"set" + budget_amount:1.00 → Set global spend cap - budget + budget_action:"check" (the default) → Report the cap, spend and remaining…

NameTypeReqDescription
actionstringWhat to do
agent_idstringAgent identifier for delegate/revoke/report actions
agent_limitnumberBudget limit in USD for this agent (required for delegate action)
budget_actionstringBudget action (for action='budget'). Defaults to 'check', which only reports.
budget_amountnumberBudget limit in USD (for budget_action='set')
chainstringTarget chain for action='chain'. Omit to view the current active chain.

No output schema declared.

No examples provided.

Common questions

What is the io.github.BlockRunAI/blockrun-mcp server?

io.github.BlockRunAI/blockrun-mcp is listed in the public MCP registry as io.github.BlockRunAI/blockrun-mcp. Web search, deep research, prediction markets & crypto data for AI agents. Pay per call via x402. This page covers its npm package (@blockrun/mcp).

Is the io.github.BlockRunAI/blockrun-mcp server safe to use?

io.github.BlockRunAI/blockrun-mcp scores 81 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.BlockRunAI/blockrun-mcp server expose?

io.github.BlockRunAI/blockrun-mcp exposes 19 tools: blockrun_wallet, blockrun_chat, blockrun_models, blockrun_image, blockrun_music, and 14 more. Their descriptions and schemas cost roughly 10,969 tokens of context every time the server is loaded.

Is the io.github.BlockRunAI/blockrun-mcp server still maintained?

io.github.BlockRunAI/blockrun-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.BlockRunAI/blockrun-mcp server under?

io.github.BlockRunAI/blockrun-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.