Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/blockrunai/blockrun-mcp/blockrun-debugnpx skills add BlockRunAI/blockrun-mcp --skill blockrun-debuggit clone --depth 1 https://github.com/BlockRunAI/blockrun-mcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00096 | $0.01884 |
| Opus 5 | $0.00048 | $0.00942 |
| Sonnet 5 | $0.00019 | $0.00377 |
| Haiku 4.5 | $0.00010 | $0.00188 |
Grade C, and why
blockrun-debug scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
| `blockrun` absent from `claude mcp list` | Wrong scope, or Node < 20.19, or a corrupt npx cache | `node -v` (≥ 20.19). `claude mcp get blockrun`. `rm -rf ~/.npm/_npx`. Re-run the install line. | How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Debugging BlockRun MCP
Find the row, run the fix, stop. Most "broken" reports are one of the first three rows.
Rules before touching anything
- A 402 / "Insufficient balance" is a funding state, not a bug. Call
blockrun_walletfirst. Never retry the failing tool in a loop — it will 402 identically every time and the failed attempts cost nothing, but they burn turns. - Never delete or regenerate
~/.blockrun/.session. It is the only copy of the key that holds the user's USDC and their Polymarket deposit wallet. There is no recovery. - Never advise withdrawing from Polymarket to "start over". Every post-funding trade failure seen so far was a missing approval; a withdraw does not fix it and costs a round trip.
- Reproduce with the free call
blockrun_walletbefore anything paid.
Run these first (read-only, 10 seconds)
node -v && which npx # runtime present, ≥ 20.19?
claude mcp get blockrun # registered command, env, AND scope (-s user / project / local)
npx -y @blockrun/mcp@latest --version # does the package itself run? (prints e.g. 0.43.0)
Use the scope claude mcp get reports in every remove/add below — the examples say
-s user because that is the documented install, but a project-scoped install
re-added at user scope leaves a duplicate. Then, in the session: blockrun_wallet
(free) → blockrun_models (free) → the tool that failed, once.
Symptom → cause → fix
| Symptom | Cause | Fix |
|---|---|---|
claude mcp list → blockrun … ✗ Failed to connect, or logs show spawn npx ENOENT |
The client's launcher can't find node/npx — nvm, Homebrew, fnm, volta. Interactive shell has them; the spawner does not. |
claude mcp remove blockrun -s user then claude mcp add blockrun -s user -e PATH="$PATH" -- npx -y @blockrun/mcp@latest. Quit and relaunch the client. Codex: codex mcp add blockrun --env PATH="$PATH" -- …. JSON clients (Claude Desktop / Cursor / Windsurf): set "command" to the output of which npx; file paths are in the blockrun-setup skill. |
blockrun absent from claude mcp list |
Wrong scope, or Node < 20.19, or a corrupt npx cache | node -v (≥ 20.19). claude mcp get blockrun. rm -rf ~/.npm/_npx. Re-run the install line. |
Connects, but every paid tool → HTTP 402 / Insufficient balance |
Wallet is empty (or on the wrong chain for this tool) | blockrun_wallet → read balance + chain. blockrun_wallet action:"setup" → address + QR. Fund with USDC on Base (or switch to Solana). Then retry once. |
| 402 although balance shows funds | Chain mismatch: a Base-only tool (music, speech, modal, defi, paid realface, stock price, native claude-* chat) while active chain is Solana. Every other tool pays on either chain. |
The error names it. blockrun_wallet action:"chain" chain:"base". |
fetch failed / balance-check timeout |
Base RPC blip; the tool rotates through 3 public RPCs | Wait 30 s, retry once. Persistent → a local proxy/firewall is blocking outbound RPC. |
Video/Music generation timed out |
Upstream queue. Not charged — payment settles on completion only. | Retry, or pick a faster model. Do not retry-loop; jobs take 60–180 s. |
| Model id 404s | Delisted upstream | blockrun_models for the live list. |
Startup prints 🚨 WALLET PRIVATE KEY DETECTED IN CONFIG FILE |
The key was pasted into ~/.claude.json (old hosted-auth flow) |
Treat the key as compromised: move funds to a new wallet, remove it from the config. |
No spend-confirmation dialog with BLOCKRUN_CONFIRM_SPEND=on |
Client doesn't support MCP elicitation (Windsurf, Codex, Gemini CLI) — the server proceeds without asking, by design | Use BLOCKRUN_BUDGET_LIMIT / blockrun_wallet action:"delegate" as the guard, or use Claude Code / Cursor / VS Code where the dialog renders. |
| Dialog appears, user clicks OK, tool says "declined" | Only an explicit Decline stops a charge; Cancel/ESC proceeds. If it says declined, Decline was pressed. | Re-run the call; approve it. |
Update available: vX → vY on stderr |
Informational | Switch to the blockrun-upgrade skill. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 89 lines · 96 tokens per session scan C be84cfad9057
blockrun-debug is a skill published in the GitHub repository BlockRunAI/blockrun-mcp (393 stars, last pushed 2d ago), licensed MIT. It adds 96 tokens to every session and 1,884 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
blockrun-cli
Use the blockrun CLI to pay-per-request AI (chat/image/video/music/speech), live data (web/X search, prediction markets, Pyth prices, 40+ chain RPC), and any x402-paid endpoint — all billed from a local USDC wallet, no API keys. Use when the user asks to run a model, generate media, query crypto/prediction/web data…
venice-audio-speech
Generate speech from text via POST /audio/speech. Covers TTS models (Kokoro, Qwen 3, xAI, Inworld, Chatterbox, Orpheus, ElevenLabs Turbo, MiniMax, Gemini Flash), voices per family, output formats (mp3/opus/aac/flac/wav/pcm), streaming, prompt/emotion styling, temperature/topp, and language hints.
venice-video
Generate and transcribe videos via Venice. Covers the async /video/quote + /video/queue + /video/retrieve + /video/complete loop, text-to-video, image-to-video, video-to-video (upscale), audio input, reference images, scene and element support, plus /video/transcriptions for YouTube URLs.
venice-image-edit
Transform existing images with Venice. Covers POST /image/edit (prompt-driven single-image edit), /image/multi-edit (compose 1-3 images), /image/upscale (2-4x upscale + enhance), and /image/background-remove. Accepts base64, file upload, or HTTPS URL.
tiktok-api
A TikTok API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no login and no app review. Use when the user wants to search TikTok posts by keyword and sort by most-liked or most recent within a date range, look up a post by its share URL or ID, scrape a TikTok profile…
tailwind
Use when writing Tailwind classes, fixing spacing issues, reviewing CSS, or auditing Tailwind patterns. Enforces v4 best practices for grid and responsive.