npm @blockrun/mcpstdioMITupdated 8d ago
Agents can't sign up for accounts. Agents can't enter credit cards. Agents can only sign transactions. BlockRun MCP gives your agent 20 tools β markets, research, web search, images, video, on-chain data, and live Polymarket trading β paid per call in USDC. No accounts. No API keys. No dashboards. Read the odds and place the bet, from one self-custody wallet.
Was kannst du mit blockrun mcp machen?
Β Β Β Β Β
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest
BlockRun MCP is an open-source Model Context Protocol server that gives Claude β and any MCP-compatible agent β 20 tools for real-time data and real actions: 71 LLMs, image & video generation, prediction-market data, live web/X search, on-chain queries across 40 chains, and the ability to place real, USDC-settled bets on Polymarket. Authentication is a wallet signature (no API keys); you pay per call in USDC via the x402 protocol (no credit cards, no subscriptions). One self-custody wallet on Base or Solana. MIT licensed.
π First of its kind β the signal β trade loop in Claude Code
Read live Polymarket odds and place the bet, from one self-custody wallet, pay-per-call. Jump to Polymarket trading β
Why BlockRun MCP exists
Every other data integration was built for human developers β create an account, copy an API key into .env, add a credit card, repeat for every vendor.
Agents can't do any of that. BlockRun MCP is built for the agent-first world:
- One wallet, every source β 20 tools behind a single self-custody wallet. No per-vendor signups.
- No API keys β your wallet signature is authentication.
- No credit cards β pay per request in USDC via x402, fractions of a cent each.
- Starts free β the free tier (
blockrun_chat mode:"free",blockrun_dex, cryptoblockrun_price,blockrun_models) costs $0. - Reads and acts β most tools deliver data;
blockrun_polymarketplaces real, confirm-gated trades. - Human-in-the-loop payments β turn on
BLOCKRUN_CONFIRM_SPEND=onand the agent pauses before any paid call above your threshold; nothing is signed until you approve. Details β - Generative UI β on Claude Desktop, claude.ai, VS Code and Cursor the Polymarket preview is a live order card with a Place button, and the wallet is a panel with balances, QR and card top-up. MCP Apps β
- Self-custody β your key never leaves your machine (
~/.blockrun/.session,0600β or the OS keychain once you opt intoBLOCKRUN_KEYCHAIN=strict). BlockRun can't move your funds.
How it compares
| Raw provider APIs | Typical single-vendor MCP | BlockRun MCP | |
|---|---|---|---|
| Setup | Account + API key per vendor | Account/key for 1 vendor | Wallet auto-created, no signup |
| Payment | Credit card, monthly minimums | Credit card / vendor plan | USDC per-call via x402 |
| Data sources | One per integration | One vendor | 20 tools β LLMs, media, markets, chain |
| Place real bets | Build it yourself | Rare | Yes β Polymarket CLOB, confirm-gated |
| Pay-chain | β | β | Base + Solana |
| Agent budgets | Manual | β | Built-in per-agent delegation |
| Spend approval | β | β | Ask-before-pay dialog (MCP elicitation) |
| Generative UI | β | Rare | Order card + wallet panel (MCP Apps) |
| Open source | Varies | Varies | Yes (MIT) |
β One wallet Β· β Pay-per-call Β· β Reads and trades Β· β Multi-chain Β· β Agent-ready Β· β Open source
What changes
Before BlockRun, Claude can't answer:
- "What's the current Polymarket probability that Bitcoin hits $100k this year?"
- "Find me the top 5 papers on RAG published in the last 30 days."
- "What are people saying about @sama on X right now?"
- "What's the 24h volume on the PEPE/ETH pair on Uniswap?"
- "Polymarket has the Fed holding at 73% β put $2 on it." β and now it can place the trade, not just read the odds.
After BlockRun, it can. Each query costs fractions of a cent, billed from a local USDC wallet. No subscriptions. No API dashboards. No key rotation.
Quick Start
1. Install
Claude Code (recommended)
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest
-s user installs globally (available in every project). The -- separator ensures -y is passed to npx, not parsed by claude mcp add.
π‘ Homebrew / nvm users: if the server doesn't connect, Claude Code likely can't find
node/npxon its launcher PATH. Pass your shell PATH through β works on CLI and desktop:claude mcp add blockrun -s user -e PATH="$PATH" -- npx -y @blockrun/mcp@latestSee Troubleshooting if it persists.
Every MCP client β one command or one JSON block. Verified = we ran the published package on that client and saw the tools listed (client version Β· date). Documented = install path from the client's own docs; not run by us yet β tell us if it works. The Spend dialog column is whether the client renders the human-in-the-loop payment prompt; on β clients paid calls proceed without asking and BLOCKRUN_BUDGET_LIMIT is the guard.
| Client | Status | Spend dialog | Install |
|---|---|---|---|
| Claude Code | β Verified Β· 2.1.251 Β· 2026-08-30 | β | claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest |
| Codex CLI | β Verified Β· 0.142.5 Β· 2026-08-30 | β | codex mcp add blockrun -- npx -y @blockrun/mcp@latest |
| OpenClaw | π‘ In use Β· 2026.5.2 (from a local build; the npx form below is not yet verified) |
β not documented | openclaw mcp set blockrun '{"command":"npx","args":["-y","@blockrun/mcp@latest"]}' |
| Claude Desktop | π Documented | β οΈ renders; OK reports cancel β proceeds | claude_desktop_config.json β JSON below |
| Cursor | π Documented | β | ~/.cursor/mcp.json β JSON below |
| VS Code (Copilot) | π Documented | β | code --add-mcp '{"name":"blockrun","command":"npx","args":["-y","@blockrun/mcp@latest"]}' |
| Gemini CLI | π Documented | β | gemini mcp add -s user blockrun npx -y @blockrun/mcp@latest |
| Windsurf | π Documented | β | ~/.codeium/windsurf/mcp_config.json β JSON below |
Any other MCP client that can spawn a stdio server works the same way: command: npx, args: ["-y", "@blockrun/mcp@latest"]. With nvm/Homebrew Node on a JSON-configured client, put the absolute path from which npx in command. Spend-dialog sources and what "proceeds without asking" means: docs/spend-confirmation.md.
{
"mcpServers": {
"blockrun": { "command": "npx", "args": ["-y", "@blockrun/mcp@latest"] }
}
}
| Client | File |
|---|---|
| Claude Desktop | claude_desktop_config.json (Settings β Developer β Edit Config) |
| Cursor | ~/.cursor/mcp.json Β· Windows %APPDATA%\Cursor\mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json Β· Linux ~/.config/.codeium/windsurf/mcp_config.json Β· Windows %APPDATA%\Codeium\windsurf\mcp_config.json |
Add "env": { "BLOCKRUN_CONFIRM_SPEND": "on" } inside the server object to turn on the spend dialog where the client supports it.
2. Choose a tool profile (optional)
Expose a trimmed tool set so the client loads fewer schemas into context. Pass --profile <name> (or set BLOCKRUN_MCP_PROFILE); omit for the full set.
| Profile | Tools |
|---|---|
full (default) |
everything (20 tools) |
media |
wallet models image video realface music speech |
trading |
wallet price dex markets surf defi rpc polymarket_read polymarket |
research |
wallet models chat search exa surf |
chat |
wallet models chat |
claude mcp add blockrun-trading -s user -- npx -y @blockrun/mcp@latest --profile trading
# Codex CLI
codex mcp add blockrun-trading -- npx -y @blockrun/mcp@latest --profile trading
An unknown profile name falls back to full. modal and phone are full-profile only.
For a complete live signal β order-preview presentation, use
skills/signal-to-trade-demo/SKILL.md
with the Stanford runbook.
3. Fund your wallet
Run blockrun_wallet to see your address. The server pays on Base by default β send USDC on Base (Coinbase β USDC β Base network β paste address, or bridge via bridge.base.org).
$5 covers ~525 market queries Β· ~500 Exa searches Β· ~250 image generations Β· ~14 Seedance 1.5-pro clips.
Prefer Solana? See Fund your wallet β two tool calls, no restart.
4. Ask Claude anything
"What's Polymarket saying about the next Fed decision? If 'hold' is above 70%, put $2 on it."
Claude reads the odds with blockrun_markets and β with your confirmation β places the trade with blockrun_polymarket. One wallet. Gasless. Confirm-gated.
5. Install the agent skills (optional)
The package ships 16 skills β which tool answers what, worked examples, and a setup / debug / upgrade trio so the agent can install, troubleshoot and update the server on its own.
/plugin marketplace add BlockRunAI/blockrun-mcp # Claude Code
npx -y @blockrun/mcp@latest skills install # any project β ./.claude/skills
npx -y @blockrun/mcp@latest skills install --global # ~/.claude/skills
npx -y @blockrun/mcp@latest skills install --to ~/.codex/skills
skills list shows what ships; --only a,b picks; --force refreshes copies after an upgrade.
Demo
User: What's Polymarket saying about the Fed rate decision next month?
Claude: According to Polymarket, the market puts a 73% probability on the Fed holding rates steady, 24% on a 25bp cut, 3% on a hike. 24h volume: $2.1M. The "Hold" contract last traded at $0.73.
(via
blockrun_marketsΒ· cost: $0.0095)
User: Polymarket has Hawley at ~13% to announce a 2026 presidential run β put $1 on Yes.
Claude: Done β bought 7.63 shares of Yes at $0.131 ($1.00, market FOK). Real on-chain order, settled in pUSD from your gasless Polymarket deposit wallet; I'm tracking the position now.
(signal via
blockrun_markets, trade viablockrun_polymarketβ one self-custody wallet, gasless Β· on-chain tx0x7ca8β¦)
Tools
| Tool | Data source | Cost |
|---|---|---|
blockrun_chat |
71 LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K3, GLM, NVIDIA free tier, β¦) with mode tier routing |
per token |
blockrun_image |
Generate: openai/gpt-image-2, gpt-image-1, google/nano-banana(-2/-pro), xai/grok-imagine-image(-pro), zai/cogview-4, bytedance/seedream-5-pro. Edit: img2img, inpaint, fusion. | $0.015β0.15 |
blockrun_video |
Sora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0-mini/2.0-fast/2.0/2.5 (720p + audio; 4K on 2.0, up to 30s on 2.5); RealFace asset β real-person video | $0.053β0.32/sec charged |
blockrun_realface |
Enroll a real person (phone liveness) or AI character (Virtual Portrait) as a ta_xxxx asset for Seedance 2.0 / 2.0-fast / 2.0-mini video (not 2.5) |
free; $0.01 to enroll |
blockrun_music |
MiniMax music generation | per track |
blockrun_speech |
ElevenLabs TTS (Flash/Turbo/Multilingual/v3, 8 voices) + ByteDance Seed Audio (prompt-directed) + cinematic sound effects; free voice listing | $0.05β0.10/1k chars |
blockrun_price |
Pyth-backed realtime + OHLC β crypto / FX / commodity (free), 12 stock markets (paid) | free or $0.001/call |
blockrun_markets |
Polymarket (markets, candles, trades, orderbooks, leaderboards, smart-wallet PnL/clusters, UMA oracle), Kalshi, Limitless, Opinion, Predict.Fun, dFlow, Binance Futures, cross-platform search | $0.0095/query |
blockrun_polymarket_read |
Read-only Polymarket positions/open orders plus executable live order previews, separated for MCP clients that enforce tool safety annotations | free |
blockrun_polymarket |
Trade on Polymarket (CLOB V2): place/cancel real bets, positions, redeem winnings β signed locally, settled in pUSD from a gasless deposit wallet. Confirm-gated, $25/order default cap. Details β | free tool; bets are your funds |
blockrun_surf |
Surf (asksurf.ai) β 83 endpoints: CEX data, on-chain SQL (13 chains, 80+ tables), 100M+ labeled wallets, Polymarket + Kalshi, social mindshare, news, Surf-1.5 chat with citations | $0.0095/call |
blockrun_exa |
Neural web search (Exa) β research, competitors, papers, URL content | $0.01/query |
blockrun_search |
Grok Live Search β web + X/Twitter + news with citations | $0.025 Γ max_results |
blockrun_dex |
Live DEX prices via DexScreener | free |
blockrun_rpc |
Raw JSON-RPC on 40 chains (Ethereum, Base, Solana, Bitcoin, Sui, NEAR, β¦) via Tatum | $0.002/call |
blockrun_defi |
DefiLlama β protocol TVL, chain TVL, yield pools (APY), token prices | $0.001β0.005/call |
blockrun_modal |
Isolated code execution in a BlockRun-hosted Modal sandbox β disposable container, optional GPU (T4 β H100) | $0.01 create; $0.001/op |
blockrun_phone |
Outbound AI voice calls (Bland) + wallet-owned US/CA numbers (Twilio), carrier + fraud lookups | $0.54/call; $5/number |
blockrun_models |
Live catalogue of every LLM/image/video/music model + pricing | free |
blockrun_wallet |
Balance, spending, agent budgets, setup QR, chain switch | free |
Key use cases
- Prediction-market consensus β "Polymarket's odds for the next Fed decision?" β
blockrun_markets - Signal β trade (the full loop, self-custody) β "If 'hold' is under 30%, put $2 on Yes." β
blockrun_marketsreads,blockrun_polymarket action:"buy"places. Gasless, confirm-gated. - On-chain forensics β "This wallet β what's it labeled, what does it hold, when did it whale up?" β
blockrun_surf - Cited research β "5 most-cited papers on speculative decoding, last 90 days." β
blockrun_exa - Image generation with on-image text β "Poster announcing GPT-5.5, retro-futuristic, headline 'NOW LIVE'." β
blockrun_image - Give your agent a voice β "Speak this with the sarah voice." β
blockrun_speech - Voice phone-out β "Call +1-415-β¦ and confirm Friday at 3pm." β
blockrun_phone - Multi-agent research, capped β "Spawn 3 agents on competing L1 narratives. Cap each at $0.50." β
blockrun_wallet delegate Γ 3 - Cross-chain SQL β "Top 10 tokens by DEX volume on Base, last 24h." β
blockrun_surfonchain/sql
π Polymarket trading
blockrun_polymarket lets an agent place real bets on Polymarket (CLOB V2, Polygon). It is non-custodial: every order and approval is EIP-712-signed locally by your BlockRun wallet key β the same self-custody key that pays x402 API fees on Base also authorizes bets on Polygon. Neither BlockRun nor Polymarket's relayer can move funds; they only forward payloads you signed.
Architecture β the official "deposit wallet" path (signature type POLY_1271): a smart-contract vault on Polygon, CREATE2-derived from your key (only your key can authorize it), holds betting funds in pUSD (Polymarket's 1:1 collateral wrapper). Deployment, approvals, and redemptions all run gasless through Polymarket's relayer β you never need POL.
π Full step-by-step guide: docs/polymarket-trading-setup.md
# 1. Provision your deposit wallet (idempotent, gasless)
blockrun_polymarket action:"setup"
# 2. Fund it from your Base USDC in one call (gasless; $0.01 fee, non-custodial)
blockrun_polymarket action:"fund" amount_usd:5 confirm:true
# 3. Sign the one-time gasless approval batch
blockrun_polymarket action:"setup" confirm:true
# 4. Find a market, preview safely, then place only after exact user approval
blockrun_polymarket_read action:"preview" side:"buy" token_id:"<id>" amount_usd:5 order_type:"FOK"
blockrun_polymarket action:"buy" token_id:"<id>" amount_usd:5 order_type:"FOK" confirm:true
# 5. Manage β positions Β· orders Β· cancel Β· sell Β· redeem Β· withdraw
Safety rails (server-side; an agent cannot bypass them): confirm:true required for every order/approval/redeem, POLYMARKET_MAX_BET_USD per-order cap (default $25), optional POLYMARKET_MAX_SESSION_USD session cap, and bets never draw from the x402 API budget.
Regions: Polymarket geoblocks order placement by IP (US/UK + many regions). Handled by default β the MCP routes CLOB traffic through BlockRun's hosted Finland egress (a fully unrestricted region under Polymarket's policy), so trading works out of the box; setup reports your status. Override POLYMARKET_CLOB_HOST to go direct or run your own egress, optionally reached via HTTPS_PROXY / POLYMARKET_CLOB_PROXY (a proxy alone doesn't change the Polymarket-facing egress). Complying with Polymarket's terms for your jurisdiction is your responsibility.
β οΈ Back up your signer key (
~/.blockrun/.sessionby default; aBLOCKRUN_WALLET_KEYenv var or an existing agentwallet.jsontakes precedence βsetupprints the actual signer address). It is the only key to both the payment wallet and the Polymarket deposit wallet.
π‘οΈ Human-in-the-loop payments
Turn on BLOCKRUN_CONFIRM_SPEND=on and every paid tool pauses before it signs. The server sends an MCP elicitation; your client renders it as a dialog with the estimated charge:
πΈ BlockRun charge β video Β· bytedance/seedance-2.5 Β· 10s
Estimated: $2.6500
Approve this spend? (USDC is debited per call.)
To stop the charge, choose Decline β Cancel/ESC lets it proceed.
[ ] Approve all BlockRun charges for the rest of this session (don't ask again)
[ Decline ] [ Approve ]
Decline β nothing is sent, nothing is charged, the tool reports "Charge declined". Approve β the call proceeds. Tick the box and you're not asked again for the session. Free calls never prompt. Set BLOCKRUN_CONFIRM_THRESHOLD=0.05 to only be asked above $0.05.
claude mcp add blockrun -s user -e BLOCKRUN_CONFIRM_SPEND=on -e BLOCKRUN_CONFIRM_THRESHOLD=0.05 -- npx -y @blockrun/mcp@latest
| Client | Dialog | Client | Dialog | |
|---|---|---|---|---|
| Claude Code | β | Claude Desktop | β οΈ renders; OK reports cancel β proceeds | |
| Cursor | β | Windsurf | β proceeds without asking | |
| VS Code Copilot | β | Codex CLI Β· Gemini CLI | β proceeds without asking |
On a client that can't ask, the gate fails open β the call proceeds and the cost footer reports the charge. The hard stop on every client is the budget: BLOCKRUN_BUDGET_LIMIT for the process, blockrun_wallet action:"delegate" per sub-agent. blockrun_polymarket keeps its own, stronger per-order confirm:true.
π When to use it, sources for the matrix, limitations: docs/spend-confirmation.md
π§© MCP Apps β order card & wallet panel
On hosts that support the MCP Apps extension β Claude Desktop, claude.ai, VS Code, Cursor, ChatGPT β two tools render as interactive cards instead of text. Everywhere else (Claude Code, Codex, terminals) nothing changes.
- Order card on
blockrun_polymarket_read action:"preview"β question, outcome, side, best quote, est. shares, notional, cap meter, session ledger. Edit the amount β Re-quote. Place order is arm-then-confirm and asks the host to callblockrun_polymarket β¦ confirm:true, so the host's consent prompt and every server cap (POLYMARKET_MAX_BET_USD, session cap) still apply. - Wallet panel on
blockrun_walletβ both chains' balances, switch chain, copy address, EIP-681 / Solana Pay QR, explorer, Buy USDC with card.
π Hosts, money path, local testing: docs/mcp-apps.md
Fund your wallet
Run blockrun_wallet to see your address. The server pays on Base by default.
| Method | Steps |
|---|---|
| Coinbase | Send β USDC β Base network β paste address |
| Bridge from Ethereum | bridge.base.org |
$5 covers ~525 market queries, ~500 Exa searches, ~250 image generations, or ~14 Seedance 1.5-pro clips (5s @ 720p+audio, ~$0.35 each).
Pay on Solana
Two tool calls β no env vars, no file editing, no restart:
blockrun_wallet action:"chain" chain:"solana" # provisions + activates the Solana wallet
blockrun_wallet action:"setup" # shows the Solana address + funding QR
Then send USDC (SPL) on the Solana network β from Coinbase (pick "Solana"), Phantom, Solflare, or Backpack. Switch back with blockrun_wallet action:"chain" chain:"base". The server keeps both wallets; switching just changes which one pays.
Base-only β these fall back to Base regardless of active chain: blockrun_music, blockrun_speech, blockrun_modal, blockrun_defi, paid blockrun_realface, paid stock blockrun_price, and native Anthropic (claude-*) passthrough. In Solana mode they return a "switch to Base" message instead of charging. blockrun_image and blockrun_video pay on either chain.
For agents & LLMs
If you are an LLM invoking BlockRun MCP tools, read these first:
- CRITICAL: On any payment / balance / 402 error, call
blockrun_walletfirst to check status, thenaction:"setup"for funding. Don't retry the failing tool blindly β the wallet is empty. - CRITICAL:
blockrun_polymarketmoves REAL user funds (pUSD on Polygon), separate from the x402 API budget. Neverbuy/sell/redeemwithconfirm:trueunless the user explicitly approved that exact trade; withoutconfirmyou get a safe dry-run. Discover markets/token IDs withblockrun_marketsfirst. - CRITICAL:
blockrun_surf's 84-endpoint catalog is inskills/surf/SKILL.md;blockrun_markets' full endpoint list is in its tool description (worked examples inskills/prediction-markets/SKILL.md; live-demo workflow inskills/signal-to-trade-demo/SKILL.md). Browse those before guessing paths. - CRITICAL:
blockrun_musicandblockrun_videoare payment-on-completion async. Failures / client timeouts do NOT charge. Don't retry-loop β they may take 60β180s. - CRITICAL: Before spawning child agents, allocate per-agent budget:
blockrun_wallet action:"delegate" agent_id:"X" agent_limit:1.00, then passagent_id:"X"to every downstream call. The child is auto-blocked at zero. - Free tier first for drafts:
blockrun_chat mode:"free"(NVIDIA),blockrun_dex,blockrun_price(crypto/FX/commodity), andblockrun_modelsare $0. - A declined spend confirmation is the user's decision. Report it and stop β never re-issue the call with a cheaper model, smaller parameters, or split requests to get under their threshold.
Showcase
Posters generated through blockrun_image with openai/gpt-image-2 β each a single API call routed through BlockRun, paid in USDC on Base.
| Cornell Blockchain Conference 2026 | Cornell Blockchain Conference 2026 | 100 Trillion Tokens milestone |
Prompts and a worked example are in skills/image-prompting/SKILL.md.
Why not just use the APIs directly?
| Direct APIs | BlockRun | |
|---|---|---|
| Exa | Sign up, $20/mo minimum | $0.01/call, no subscription |
| Polymarket | Undocumented, rate-limited | $0.0095/call, clean JSON β plus you can trade |
| Surf (asksurf.ai) | Account + monthly plan | $0.0095/call, no account, 83 endpoints |
| Multiple sources | 3 accounts, 3 API keys, 3 billing pages | 1 wallet |
One wallet. All sources. No dashboards.
Configuration
| Variable / File | Default | Effect |
|---|---|---|
~/.blockrun/.session |
auto-created on first run | EVM private key (0xβ¦). File exists β use Base. Also the Polymarket signer (unless BLOCKRUN_WALLET_KEY or an agent wallet.json takes precedence). |
BLOCKRUN_WALLET_KEY |
unset | Env override of the EVM key β takes precedence over .session / wallet.json as the Base + Polymarket signer. |
~/.blockrun/.chain |
unset | Explicit chain preference: base or solana. Written only by blockrun_wallet action:"chain" β i.e. only when you choose. |
~/.blockrun/.chain-auto |
written on first run | Automatic pin: the chain you were already on when your second wallet was provisioned. Keeps a Base user on Base once a Solana session exists, and is outranked by SOLANA_WALLET_KEY. Cleared whenever you set a chain explicitly. |
~/.blockrun/.solana-session |
not created | Solana private key. File exists β Solana unless .chain says base. |
SOLANA_WALLET_KEY |
unset | Env override of .solana-session. Set β use Solana. |
BLOCKRUN_KEYCHAIN |
auto |
Key storage. auto β mirror the key into the OS keychain (macOS Keychain / Linux secret-tool) and keep the plaintext file, which stays authoritative so other BlockRun tools keep working and so replacing it still rotates your wallet. off β file only. strict β also delete ~/.blockrun/.session once a read-back proves the keychain holds the same key; this breaks other tools that read that file directly. |
BLOCKRUN_MCP_PROFILE |
full |
Tool profile (media / trading / research / chat). |
BLOCKRUN_BUDGET_LIMIT |
unset (unlimited) | Hard USD cap on x402 spend for this server process. In-memory; resets on restart. Per-agent caps via blockrun_wallet action:"delegate". |
BLOCKRUN_CONFIRM_SPEND |
off | on β ask before every paid call via MCP elicitation. Details. Fails open on clients without elicitation. |
BLOCKRUN_CONFIRM_THRESHOLD |
0 |
Only ask for calls estimated above this many USD. Malformed values fall back to 0 (ask for everything), never to "off". |
POLYMARKET_CLOB_HOST |
BlockRun Finland relay | Geoblock egress for order placement β defaulted for you. Override to go direct (https://clob.polymarket.com) or your own egress. |
POLYMARKET_MAX_BET_USD |
25 |
Hard per-order notional cap. |
POLYMARKET_MAX_SESSION_USD |
unset | Optional cumulative per-process betting cap. |
POLYMARKET_SIG_TYPE |
3 |
3 = deposit wallet (POLY_1271, gasless); 0 = plain EOA mode. |
POLYMARKET_CLOB_PROXY |
unset | HTTPS proxy for Polymarket CLOB traffic only. |
POLYMARKET_BOUNDED_APPROVALS |
unset (unlimited) | Bound pUSD exchange allowances to this many dollars. |
BLOCKRUN_BUILDER_CODE |
unset | Optional Polymarket builder attribution code carried on orders. |
Chain selection priority (src/utils/wallet.ts): .chain preference β SOLANA_WALLET_KEY β .chain-auto pin β .solana-session exists β otherwise Base.
The server runs a non-blocking npm registry check at startup and prints an Update available notice to stderr when a newer @blockrun/mcp exists β re-run the install command to upgrade.
Troubleshooting
π€ Hand this to the agent: the
blockrun-debugskill carries every row below as symptom β cause β fix, plus the diagnostics it can run itself.blockrun-setupandblockrun-upgradecover the other two halves. Install:npx -y @blockrun/mcp@latest skills install.
Insufficient balance/ HTTP 402 after retry β Runblockrun_wallet action:"setup", send USDC on Base (or Solana).blockrundoesn't connect / "MCP server failed" /spawn npx ENOENTβ Almost always a PATH issue: Claude Code can't findnode/npxon its launcher PATH (common with Homebrew / nvm, on CLI and desktop). Fix by passing your shell PATH at install:
Then restart Claude Code. Or pin absolute paths (claude mcp remove blockrun -s user claude mcp add blockrun -s user -e PATH="$PATH" -- npx -y @blockrun/mcp@latestwhich npx).claude mcp listdoesn't showblockrunβ Checknode -v(β₯20.19). Clear the npx cache:rm -rf ~/.npm/_npx. Re-run the install.fetch failed/ balance-check timeout β Base RPC transient outage. The tool falls through 3 public RPCs; retry after 30s. Persistent = local proxy / firewall blocking outbound RPC.Video/Music generation timed outβ Upstream queue congestion. No charge (payment-on-completion). Retry, or pick a faster model.- No spend-confirmation dialog although
BLOCKRUN_CONFIRM_SPEND=onβ Your client doesn't support MCP elicitation (Windsurf, Codex, Gemini CLI); the server proceeds without asking by design. UseBLOCKRUN_BUDGET_LIMITas the guard, or a client from the support table. - Polymarket: neg-risk ("winner") market buy fails, or
redeemreverts, though setup shows ready β Re-runaction:"setup" confirm:trueonce (grants the on-chain approvals a pre-upgrade deposit wallet may lack β including the collateral-adapter approvalsredeemneeds). See the setup guide.
FAQ
What is BlockRun MCP? An open-source MCP server that gives Claude and other agents 20 tools for real-time data and real actions (trading, media, on-chain), paid per call in USDC. No accounts, no API keys.
Do I need API keys or accounts? No. A wallet is auto-created locally on first run; you fund it with USDC. No signups, no dashboards, no key rotation.
How much does it cost?
Pay-per-call β fractions of a cent to a few cents. The free tier (blockrun_chat mode:"free", blockrun_dex, crypto blockrun_price, blockrun_models) is $0. $5 of USDC covers thousands of queries.
Is it safe / non-custodial?
Yes. Your private key never leaves your machine (~/.blockrun/.session by default, 0600). x402 payments and Polymarket orders are signed locally β BlockRun forwards signed payloads and cannot move your funds.
Which clients work? Any MCP client that can spawn a stdio server. Verified on Claude Code and Codex CLI, in daily use on OpenClaw; install paths documented for Claude Desktop, Cursor, VS Code, Gemini CLI and Windsurf β see the client table. The spend-confirmation dialog additionally needs MCP elicitation (Claude Code, Cursor, VS Code).
Does it have a UI? On MCP-Apps hosts (Claude Desktop, claude.ai, VS Code, Cursor) the Polymarket preview is a live order card and the wallet is a panel β see MCP Apps β. Terminal clients get the same information as text.
Can I make the agent ask before it spends?
Yes β BLOCKRUN_CONFIRM_SPEND=on. Every paid tool pauses with the estimated charge and nothing is signed until you approve. Human-in-the-loop payments β
Can it really place real bets?
Yes. blockrun_polymarket places real, USDC-settled orders on Polymarket's CLOB β confirm-gated and capped. Read the odds with blockrun_markets, place with blockrun_polymarket.
Base or Solana?
Both. Switch instantly with blockrun_wallet action:"chain". A few media/paid tools settle on Base only (noted above).
From the BlockRun ecosystem
BlockRun is agent-native AI infrastructure β one wallet, x402 USDC micropayments, across every surface:
- β‘ ClawRouter β the agent-native LLM router for OpenClaw. 71 models, <1ms local routing, USDC on Base & Solana.
- π€ BRCC β BlockRun for Claude Code: smart routing + x402 payments, purpose-built for Claude Code.
- π ClawRouter-Hermes β Python plugin wiring NousResearch Hermes into the ClawRouter proxy.
- π Docs Β· Models & pricing β full SDKs, APIs, and the model catalogue.
Support & community
| π¬ Community Telegram | t.me/blockrunAI |
| π¦ X / Twitter | @BlockRunAI |
| π Documentation | blockrun.ai/docs |
| π Issues | github.com/BlockRunAI/blockrun-mcp/issues |
Contributing
PRs welcome. See CONTRIBUTING.md for setup, the tool-vs-skill design rule, and how to add a new partner API.
MIT License Β· blockrun.ai β Agent-native AI infrastructure
Website Β· npm Β· Docs Β· @BlockRunAI
Installation
blockrun mcp zu deinem Client hinzufΓΌgen. WΓ€hl den, den du nutzt.
claude mcp add mcp -- npx -y @blockrun/mcpcodex mcp add mcp -- npx -y @blockrun/mcpamp mcp add mcp -- npx -y @blockrun/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp","command":"npx","args":["-y","@blockrun/mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@blockrun/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@blockrun/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @blockrun/mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
20 Tools
blockrun mcp stellt einem verbundenen Agent 20 Tools bereit.
- blockrun_chat
- <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K3, GLM, NVIDIA free tier, β¦) with `mode` tier routing
- blockrun_image
- Generate: openai/gpt-image-2, gpt-image-1, google/nano-banana(-2/-pro), xai/grok-imagine-image(-pro), zai/cogview-4, bytedance/seedream-5-pro. Edit: img2img, inpaint, fusion.
- blockrun_video
- Sora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0-mini/2.0-fast/2.0/2.5 (720p + audio; 4K on 2.0, up to 30s on 2.5); RealFace asset β real-person video
- blockrun_realface
- Enroll a real person (phone liveness) or AI character (Virtual Portrait) as a `ta_xxxx` asset for Seedance 2.0 / 2.0-fast / 2.0-mini video (not 2.5)
- blockrun_music
- MiniMax music generation
- blockrun_speech
- ElevenLabs TTS (Flash/Turbo/Multilingual/v3, 8 voices) + ByteDance Seed Audio (prompt-directed) + cinematic sound effects; free voice listing
- blockrun_price
- Pyth-backed realtime + OHLC β crypto / FX / commodity (free), 12 stock markets (paid)
- blockrun_markets
- Polymarket (markets, candles, trades, orderbooks, leaderboards, smart-wallet PnL/clusters, UMA oracle), Kalshi, Limitless, Opinion, Predict.Fun, dFlow, Binance Futures, cross-platform search
- blockrun_polymarket_read
- Read-only Polymarket positions/open orders plus executable live order previews, separated for MCP clients that enforce tool safety annotations
- blockrun_polymarket
- **Trade on Polymarket** (CLOB V2): place/cancel real bets, positions, redeem winnings β signed locally, settled in pUSD from a gasless deposit wallet. Confirm-gated, $25/order default cap. [Details β](#-polymarket-trading)
- blockrun_surf
- Surf (asksurf.ai) β 83 endpoints: CEX data, on-chain SQL (13 chains, 80+ tables), 100M+ labeled wallets, Polymarket + Kalshi, social mindshare, news, Surf-1.5 chat with citations
- blockrun_exa
- Neural web search (Exa) β research, competitors, papers, URL content
- blockrun_search
- Grok Live Search β web + X/Twitter + news with citations
- blockrun_dex
- Live DEX prices via DexScreener
- blockrun_rpc
- Raw JSON-RPC on <!-- br:chains.rpc -->40<!-- /br:chains.rpc --> chains (Ethereum, Base, Solana, Bitcoin, Sui, NEAR, β¦) via Tatum
- blockrun_defi
- DefiLlama β protocol TVL, chain TVL, yield pools (APY), token prices
- blockrun_modal
- Isolated code execution in a BlockRun-hosted Modal sandbox β disposable container, optional GPU (T4 β H100)
- blockrun_phone
- Outbound AI voice calls (Bland) + wallet-owned US/CA numbers (Twilio), carrier + fraud lookups
- blockrun_models
- Live catalogue of every LLM/image/video/music model + pricing
- blockrun_wallet
- Balance, spending, agent budgets, setup QR, chain switch
Score
86 / 100
Ausgezeichnet
- Dokumentation25/25
- Pflege25/25
- Vertrauen16/20
- Funktionsumfang8/15
- Installation12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 20 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Versionsverlauf
| Versionen | VerΓΆffentlicht |
|---|---|
| 0.44.0Aktuell | 30. Aug. 2026 |
| 0.43.0 | 30. Aug. 2026 |
| 0.42.0 | 29. Aug. 2026 |
| 0.41.1 | 28. Aug. 2026 |
| 0.41.0 | 28. Aug. 2026 |
| 0.40.3 | 28. Aug. 2026 |
| 0.40.2 | 19. Aug. 2026 |
| 0.40.1 | 13. Aug. 2026 |
| 0.40.0 | 12. Aug. 2026 |
| 0.39.1 | 8. Aug. 2026 |
| 0.39.0 | 8. Aug. 2026 |
| 0.38.1 | 7. Aug. 2026 |
| 0.38.0 | 7. Aug. 2026 |
| 0.37.1 | 5. Aug. 2026 |
| 0.37.0 | 4. Aug. 2026 |
| 0.36.0 | 4. Aug. 2026 |
| 0.35.0 | 3. Aug. 2026 |
| 0.34.0 | 3. Aug. 2026 |
| 0.33.0 | 28. Juli 2026 |
| 0.32.9 | 21. Juli 2026 |
| 0.32.8 | 21. Juli 2026 |
| 0.32.7 | 21. Juli 2026 |
| 0.32.6 | 21. Juli 2026 |
| 0.32.5 | 21. Juli 2026 |
| 0.32.4 | 21. Juli 2026 |
| 0.32.3 | 21. Juli 2026 |
| 0.32.2 | 21. Juli 2026 |
| 0.32.1 | 21. Juli 2026 |
| 0.32.0 | 20. Juli 2026 |
| 0.31.6 | 16. Juli 2026 |
| 0.31.5 | 16. Juli 2026 |
| 0.31.4 | 15. Juli 2026 |
| 0.31.3 | 15. Juli 2026 |
| 0.31.2 | 15. Juli 2026 |
| 0.31.1 | 15. Juli 2026 |
| 0.31.0 | 15. Juli 2026 |
| 0.30.10 | 15. Juli 2026 |
| 0.30.9 | 15. Juli 2026 |
| 0.30.8 | 15. Juli 2026 |
| 0.30.7 | 15. Juli 2026 |
| 0.30.6 | 15. Juli 2026 |
| 0.30.5 | 13. Juli 2026 |
| 0.30.4 | 13. Juli 2026 |
| 0.30.3 | 11. Juli 2026 |
| 0.30.2 | 11. Juli 2026 |
| 0.30.1 | 11. Juli 2026 |
| 0.30.0 | 10. Juli 2026 |
| 0.28.0 | 6. Juli 2026 |
| 0.26.0 | 5. Juli 2026 |
| 0.6.9 | 7. Apr. 2026 |
| 0.2.2 | 14. Jan. 2026 |