Mcp

SteadyFetch

Local MCP server for reliable web fetching from agent loops — exposes fetch_url / fetch_markdown / check_domain / cache_stats / clear_cache tools with built-in retry (3x default), per-domain circuit breaker (opens after 5 failures), 500 MB local cache, and anti-bot/CAPTCHA-aware page loading.

Verified: 2026-05-13 (mcp-registry-ingest-2026-05-13+enrich-capability-skill)

When to use SteadyFetch

Choose if

You want a drop-in fetch tool that's better than the host's built-in WebFetch for flaky targets — Cloudflare-protected sites, intermittent 5xx hosts, pages that need HTML→markdown conversion before the model reads them — and you're okay running it locally (pip install steadyfetch) or hitting the operator's Railway endpoint. Built-in retry + per-domain circuit breaker means your agent doesn't have to reinvent backoff logic.

Avoid if

You need a production-SLA fetcher with audit logs, multi-tenant auth, or guaranteed availability — this is a 0.1.1 single-developer package and the hosted endpoint is hobbyist-class. Also avoid for high-volume scraping against a single host; the per-domain circuit breaker will trip and silently starve your agent. For Brazil-shaped portal fetches use a stateful runtime with snapshots; for raw JSON APIs the host's built-in fetch is enough.

Risk Flags

  • LOW maturity Version 0.1.1 on PyPI — single-developer, early release. Functional but production-readiness is unproven; expect schema and tool-surface changes.
  • LOW scope Local stdio MCP (pip-install) plus a hosted streamable-http endpoint on Railway. The Railway endpoint is unauthenticated and operator-hosted — treat it as best-effort, not an SLA-backed service.
  • MEDIUM rate_limit Defaults cap retries at 3 and the circuit breaker opens after 5 failures per domain. Agents hammering a single host will trip the breaker and get empty responses until it resets — pair with backoff at the agent level.

Cost

Type: Free

Distribution

MCP Registry
io.github.carsonroell-debug/steadyfetch