blockrun-debug

blockrun-debug is a skill for Claude Code, Codex from BlockRunAI/blockrun-mcp. It costs 117 tokens per session (3,250 once invoked), scanned C, original, MIT.

A troubleshooting skill for the BlockRun MCP server, a service that lets coding agents call BlockRun tools. It diagnoses connection, setup, payment, timeout, confirmation, and failed prediction-market transaction problems.

In plain words
What is it for?
Use it when BlockRun will not connect, its command cannot start, a request reports insufficient balance, media calls time out, confirmations do not appear, or a Polymarket purchase or redemption fails.
Why use it?
It helps distinguish local setup errors from account funding or transaction-approval issues. It also provides checks and safeguards for common failures.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths; positional $N argument; mentions Claude Code.

Good fit Use it when BlockRun will not connect, its command cannot start, a request reports insufficient balance, media calls time out, confirmations do not appear, or a Polymarket purchase or redemption fails.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/blockrunai/blockrun-mcp/blockrun-debug
Install

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.

Any agent
npx skills add BlockRunAI/blockrun-mcp --skill blockrun-debug
Clone the repo
git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin blockrun-debug — /plugin install blockrun-debug after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for blockrun-debug

README.md
[![agentmods](https://agentmods.dev/badge/skills/blockrunai/blockrun-mcp/blockrun-debug/github.svg)](https://agentmods.dev/skills/blockrunai/blockrun-mcp/blockrun-debug)
Your own site
<a href="https://agentmods.dev/skills/blockrunai/blockrun-mcp/blockrun-debug"><img src="https://agentmods.dev/badge/skills/blockrunai/blockrun-mcp/blockrun-debug/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for blockrun-debug

Your own site · 80×15
<a href="https://agentmods.dev/skills/blockrunai/blockrun-mcp/blockrun-debug"><img src="https://agentmods.dev/badge/skills/blockrunai/blockrun-mcp/blockrun-debug.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,250 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 12 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Tool Misuse · line 53
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • high Tool Misuse · line 53
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • high Tool Misuse · line 53
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • medium MCP Rug Pull · line 3
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 7
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 52
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 40
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 52
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 85
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 53
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium Excessive Agency · line 64
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Excessive Agency · line 89
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00117 $0.03250
Opus 5.5 $0.00047 $0.01300
Sonnet 5.5 $0.00023 $0.00650
Haiku 4.5 $0.00012 $0.00325

Measured 1mo ago against content hash 9713742c2a9f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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 1mo 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. |
skills/blockrun-debug/SKILL.md · 108 lines

How it starts

The opening of the file, as written. The whole thing — 108 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

  1. A 402 / "Insufficient balance" is a funding state, not a bug. Call blockrun_wallet first. Never retry the failing tool in a loop — it will 402 identically every time and the failed attempts cost nothing, but they burn turns.
  2. 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.
  3. 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.
  4. Reproduce with the free call blockrun_wallet before 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 (defi, modal, claude-* chat with thinking) while active chain is Solana. Everything else — plain claude-* chat, music, speech, RealFace, price, media — now pays on either chain. The error names it. blockrun_wallet action:"chain" chain:"base".
402 from api.blockrun.ai Not a wallet problem: the server is on an API key and the ACCOUNT is out of credit. Top up at https://user.blockrun.ai/dashboard/credits. Do not look for a wallet.
401 from api.blockrun.ai BLOCKRUN_API_KEY rejected. Check the key at https://user.blockrun.ai/dashboard/keys.
"needs wallet mode" on Polymarket / wallet / realface list Keypair-only capability while BLOCKRUN_API_KEY is set. Unset BLOCKRUN_API_KEY and restart to use a wallet.
Startup error "not a valid BlockRun API key" BLOCKRUN_API_KEY is malformed. It deliberately fails loudly rather than silently spending USDC from a wallet instead. Fix the value or unset it.
Grok (or any client with a startup timeout) shows blockrun [unavailable], and mcp doctor says server timed out (no response within 30s) NOT broken: a cold npx -y is still downloading the package and its dependency tree when the client gives up. Grok's startup_timeout_sec defaults to 30; the cold start measured 17s on a fast connection and 42-46s on a slower box. Nothing is charged — the server never started. Raise it in ~/.grok/config.toml ([mcp_servers.blockrun] … startup_timeout_sec = 120), or npm install -g @blockrun/mcp@latest and point the client at blockrun-mcp. Confirm the package itself is fine first: npx -y @blockrun/mcp@latest in a terminal answers an initialize line. Only the first run is slow — npx caches by exact spec.
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. Base wallet: not charged — payment settles on completion. Solana music / account rail: charged at submit — the error names the job. Read the error: on Base retry or pick a faster model; on the other rails do NOT re-run (that bills a second job) — check blockrun_wallet action:"report". Jobs take 60–180 s.
blockrun_price with category:"stocks" / "usstock" → Equity quotes are not served (gateway 501 …) The gateway withdrew equity price/history on 2026-09-05 (licensing), and the tool answers before the wallet is consulted. Not an outage. Not charged. Do not retry. action:"list" category:"stocks" market:"us" still returns the ticker catalog for free. Equity coverage: [email protected].
blockrun_markets on sports/* → Predexon's sports/* routes have returned an upstream 500 … since 2026-08-04 (builds before 0.49.0: API error after payment: 502 / Request failed with no balance change) Upstream Predexon outage since 2026-08-04. The gateway releases the payment on the upstream 500, so the old wording asserted a charge that never happened. Not charged when the response carries the gateway's (payment NOT charged) confirmation — the error then says so; without it the error tells you to check blockrun_wallet action:"report". Use path:"markets/search" with params:{ q:"NBA" } or polymarket/events with params:{ search:"NBA" }. Not markets + league — removed upstream 2026-08-04, 404s before payment. Do not retry sports/*. Upgrade to ≥ 0.49.0 so the error says this itself.
A config names blockrun_surf → the client reports an unknown tool The tool was REMOVED in 0.49.0: the gateway has answered every Surf path with 410 endpoint_retired since 2026-09-06, so it could only ever error. Nothing is charged. Use blockrun_price / blockrun_dex / blockrun_defi / blockrun_markets / blockrun_rpc; the surf skill maps each former endpoint. Drop blockrun_surf from any allowlist.
blockrun_video / blockrun_image → The gateway quoted $X for <model>, but this tool expected about $Y (N.Nx the published rate) … Refusing to sign it — no charge was made The 402 price is far above the published rate: the gateway repriced the model, or a lagging deployment substituted another one. Live 2026-09-08: sol.blockrun.ai does not know azure/sora-2 and quotes Seedance 2.0 Pro at $1.135 in its place. Not charged — the tool refuses before signing. For Sora: blockrun_wallet action:"chain" chain:"base". Otherwise pick another model or chain, and report the quote (the message names what the gateway labelled it) so the estimator or the gateway gets fixed.
Any tool → The gateway does not serve this endpoint (501 Not Implemented) The route is withdrawn, not down. Before payment the message ends "nothing was charged"; after payment it tells you to check the ledger instead, because the formatter cannot know whether the nonce was released. Do not retry. blockrun_wallet action:"report" shows whether the call settled.
Model id 404s Delisted upstream blockrun_models for the live list.
Startup prints 🚨 WALLET PRIVATE KEY DETECTED IN CONFIG FILE A raw key sits somewhere it was never meant to be — a header, an args entry, the old hosted-auth field — in a client config file (~/.claude.json, Claude Desktop, Cursor, Windsurf). Since 0.49.0 the DOCUMENTED override mcpServers.*.env.BLOCKRUN_WALLET_KEY / SOLANA_WALLET_KEY does NOT trigger this banner; it gets a short plaintext-and-synced note instead. Banner: treat the key as compromised — move funds to a new wallet, remove it from the config. Note: optional; prefer ~/.blockrun/.session or BLOCKRUN_KEYCHAIN=auto.
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.

Read the full file on GitHub · 108 lines

Changes

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.

  1. 1mo ago Changed 9713742c2a9f
  2. 1mo ago Changed · +15 lines · +21 tokens per session 608c7738002c
  3. 1mo ago Changed · +4 lines 2034eeaddfa7
  4. 1mo ago First seen · 89 lines · 96 tokens per session scan C be84cfad9057

Subscribe to this mod's changes

blockrun-debug is a skill published in the GitHub repository BlockRunAI/blockrun-mcp (391 stars, last pushed 4d ago), licensed MIT. It adds 117 tokens to every session and 3,250 once invoked, about $0.0005 per session on Opus 5.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.

Related

Other skills, from other repositories

triage

Diagnose and fix broken MCP servers in mcptoon — doctor, health, per-server probes, and the common failure playbook.

activeing123/mcptoon · 30 tokens

kicad-review

Design review and validation workflow for KiCAD projects via MCP tools. Triggers on: "review my design", "check for errors", "audit", "DRC", "ERC", "find problems", "design review", "is this ready", "validate", "check my schematic", "check my PCB", "what's wrong", "run checks", "pre-fab review".

mixelpixx/Konnect · 83 tokens

slow-query-optimize

Diagnose why a query is slow and propose a rewrite, using DeepSQL's plan analysis and AI query optimizer.

DeepSQLAI/deepsql · 28 tokens

hmem-new-error

Create a new E-entry (bug/error) in hmem with the strict 5-level scaffold. Use when the user wants to log a bug, file a report, or document an error ('Bug loggen', 'log this error', 'Fehler eintragen'), or before any writememory with prefix='E'.

Bumblebiber/hmem · 69 tokens

cortex-snippets

Use when installing, running, or adapting reusable Labby Code Mode snippets for Cortex incidents, session search, topology, reports, troubleshooting, service diagnostics, or assessment evidence. Use using-cortex for an ordinary single Cortex tool call.

dinglebear-ai/cortex · 51 tokens

using-cortex

Use when searching Cortex syslog, Docker, OTLP, or AI session evidence; checking hosts, errors, fleet state, topology, or correlations; or investigating homelab events through the Cortex MCP tool. For first-run setup or repair, use install-cortex.

dinglebear-ai/cortex · 58 tokens