SteadyFetch
Obtención web confiable para agentes de IA con reintento, interruptor de circuito, almacenamiento en caché y evasión de anti-bots
Documentación
SteadyFetch
Obtención web confiable para agentes de IA. Deja de perder horas con bloqueos de Cloudflare, tiempos de espera y raspados inestables.
SteadyFetch es un servidor MCP que brinda a tus agentes de IA acceso web confiable con reintentos automáticos, protección de interruptor de circuito, almacenamiento en caché y evasión anti-bot, listo para usar.
El Problema
Todo agente de IA que toca la web se topa con la misma pared:
- Cloudflare bloquea tus solicitudes
- Los sitios devuelven CAPTCHAs
- Las páginas se agotan o cargan parcialmente
- Los límites de velocidad matan tus trabajos por lotes
- Pierdes horas depurando raspados inestables
La Solución
Una llamada a la herramienta MCP. SteadyFetch se encarga del resto.
Agent calls fetch_url("https://example.com")
→ Checks cache (instant if hit)
→ Checks circuit breaker (fail-fast if domain is down)
→ Stealth browser fetch with anti-bot bypass
→ On failure: retry with exponential backoff
→ Fallback: plain HTTP fetch
→ Cache the result
→ Return clean markdown + raw HTML
Herramientas
| Herramienta | Descripción |
|---|---|
fetch_url | Obtención con fiabilidad completa: devuelve markdown + HTML |
fetch_markdown | Devuelve solo markdown limpio, optimizado para LLMs |
check_domain | Estado del interruptor de circuito para un dominio |
cache_stats | Métricas de utilización de caché |
clear_cache | Vaciar la caché para datos frescos |
Inicio Rápido
Instalar desde PyPI
pip install steadyfetch
steadyfetch
Luego conéctate desde Claude Desktop:
{
"mcpServers": {
"steadyfetch": {
"command": "steadyfetch"
}
}
}
Autoalojamiento con Docker
docker build -t steadyfetch .
docker run -p 8200:8200 steadyfetch
Configuración
Todos los ajustes mediante variables de entorno:
| Variable | Predeterminado | Descripción |
|---|---|---|
PORT | 8200 | Puerto del servidor |
STEADYFETCH_MAX_RETRIES | 3 | Intentos de reintento por URL |
STEADYFETCH_CIRCUIT_THRESHOLD | 5 | Fallos antes de que se abra el circuito |
STEADYFETCH_CIRCUIT_COOLDOWN | 120 | Segundos antes de reintentar un dominio roto |
STEADYFETCH_CACHE_TTL | 3600 | Vida útil de la caché en segundos |
STEADYFETCH_TIMEOUT | 30000 | Tiempo de espera de carga de página en ms |
Cómo Funciona
Reintento con retroceso — El retroceso exponencial + jitter evita tormentas de reintentos. 3 intentos de navegador antes de recurrir a HTTP.
Interruptor de circuito — Seguimiento de fallos por dominio. Después de 5 fallos consecutivos, el dominio se rompe el circuito durante 2 minutos. Evita perder tiempo en sitios que te bloquean.
Almacenamiento en caché — Caché respaldada en disco con TTL configurable. Las búsquedas repetidas son instantáneas. Límite predeterminado de 500MB.
Evasión anti-bot — Navegador sigiloso con modo mágico, parcheo de navigator y simulación de comportamiento humano mediante Crawl4AI.
Degradación elegante — Si el navegador no puede pasar, recurre a HTTP simple. Si HTTP falla, devuelve un error claro con el estado de salud del dominio. Nunca se cuelga, nunca falla silenciosamente.
Gratis vs Pro
| Herramienta | Gratis | Pro ($19/mes) |
|---|---|---|
fetch_url | Sí (sin renderizado JS, sin caché) | Sí (completo: renderizado JS + caché + anti-bot) |
check_domain | Sí | Sí |
fetch_markdown | - | Sí |
cache_stats | - | Sí |
clear_cache | - | Sí |
El nivel gratuito te ofrece obtención HTTP básica y comprobaciones de salud del dominio. Pro desbloquea renderizado JS, evasión anti-bot, almacenamiento en caché y salida de markdown limpio.
Mejora a Pro en MCPize — $19/mes o $190/año.
Licencia
MIT