Skip to content

blockrunai/blockrun-mcp

v0.32.1 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 6d MCP Search & Web
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai claude-code llm mcp mcp-server x402

Summary

AI summary

Fixed free‑mode call stalls by adding per‑model and overall timeouts and asserted the $0 reserve invariant.

Full changelog

0.32.0 rebuilt the tier lists against the live catalogue. That was the right move, and it got the free tier wrong on the way.

The contradiction was inside 0.32.0's own release notes

It removed gpt-oss-120b and gpt-oss-20b as "delisted... the tier only ever worked through aliasing" — while the same entry states that llama-4-maverick "answers 200 OK while being served by gpt-oss-120b". A model cannot simultaneously be the thing serving the alias and be dead.

The error was reading "absent from GET /v1/models" as "retired". It means hidden — a listing decision, not a health signal. And gpt-oss-120b is the gateway's own FREE_FALLBACK_MODEL, with gpt-oss-20b its last-resort rung: the two models the gateway itself falls back to were the two removed from mode:"free".

Re-probed on both chains with a realistic ~1.5K-token prompt — gpt-oss-120b 1.7s, gpt-oss-20b 2.8s, both 200 with real completions. gpt-oss-120b takes free[0] (deepseek-v4-flash measured 5.4s on the same prompt).

mistral-large-3-675b stays excluded, but the recorded reason was also wrong: it does not hang, it crawls — 2s on a toy ping, 123.2s on a real prompt. That is exactly how it kept certifying itself healthy. Never health-check a free model with a 16-token ping.

Fixed on top, from review

  • mode:"free" could stall a tool call for eighty minutes. The fallback loop had no deadline and the SDK default request timeout is 600s (not the 60s wallet.ts claimed — wrong by 10x, corrected). Free models fail by crawling, so one degraded entry held the call for ten minutes before falling through, and this release made it worse by growing free[] from 6 entries to 8. Now bounded twice: 60s per model + 150s across the whole loop, so a ninth free model can never lengthen the worst case. Paid tiers untouched.
  • The $0 reserve rested on an unenforced invariant. estimateChatCost returns 0 for mode:"free" only because every free[] entry happens to be nvidia/*. Now asserted and mutation-tested.
  • Catalogue doctrine stated in both directions, so the next sweep doesn't delete these two ids a third time.

177 tests, typecheck, build and verify:prices (20/20 exact) green.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track blockrunai/blockrun-mcp

Get notified when new releases ship.

Sign up free

About blockrunai/blockrun-mcp

Live data for AI agents — search, research, markets, crypto, X/Twitter. Pay-per-call via x402 micropayments.

All releases →

Beta — feedback welcome: [email protected]