En esta página
Si alguna vez escribiste un skill de Claude Code y viste cómo Claude pasaba de largo, v4.8.0 es para ti. CrawlForge MCP Server v4.8.0 incluye siete Claude Agent Skills para web scraping reales que se autoactivan y que asignan prompts en lenguaje natural a las 26 herramientas del servidor, de modo que Claude carga la herramienta de scraping, crawling o investigación adecuada sin que tengas que especificar cuál llamar.
Es una versión menor totalmente aditiva (lanzada el 28 de junio de 2026). El número de herramientas se mantiene en 26 y ningún esquema de herramienta, forma de salida ni coste en credits cambia para quienes ya las usan. Junto a los skills, conectamos una protección SSRF que ahora se aplica de verdad, arreglamos los prompts de confirmación de MCP que silenciosamente fallaban en modo abierto (fail open), hicimos que el formato de scrape screenshot funcione de verdad, añadimos un formato branding de design tokens y lanzamos una monitorización programada de cambios real e integrada.
Tabla de contenidos
- Qué incluye v4.8.0
- Siete Claude Agent Skills para web scraping que se autoactivan
- Dos nuevos formatos de scrape: branding y screenshot
- Monitorización programada de cambios integrada
- Refuerzo de seguridad: controles anunciados pero silenciosamente rotos
- Precios: 26 herramientas medidas, sin herramientas nuevas, nada gratis
- Cómo actualizar
- Qué viene a continuación
Qué incluye v4.8.0
Resumen en una línea: Claude Agent Skills reales que se autoactivan, dos nuevos formatos de scrape, controles de seguridad que se aplican de verdad y monitorización programada de cambios que funciona.
Hay exactamente un cambio de comportamiento que conviene señalar de entrada, al estilo de un changelog de Stripe: los clientes que admiten la elicitación de MCP ahora sí verán las confirmaciones de coste y seguridad (por ejemplo, deep research sobre 50 URLs, batch scrape y deep crawl) que antes no aparecían. Todo lo demás es puramente aditivo.
Instala o actualiza en una línea:
npm install -g crawlforge-mcp-server@latest
npx crawlforge initAquí tienes el changelog para echarle un vistazo rápido:
| Tipo | Cambio |
|---|---|
| Añadido | 7 Claude Agent Skills que se autoactivan y cubren las 26 herramientas |
| Añadido | Formato branding de scrape (design tokens, sin navegador) |
| Añadido | El formato screenshot de scrape ahora renderiza (antes era un no-op) |
| Añadido | Monitorización programada de cambios: create/list/stop + cron por CLI |
| Corregido | Protección SSRF conectada a la ruta real de scraping |
| Corregido | Las confirmaciones de elicitación de MCP ahora se disparan (antes eran no-ops silenciosos) |
| Seguridad | Limitación de tasa saliente por host + refuerzo de executeJavaScript |
Siete Claude Agent Skills para web scraping que se autoactivan
El enfoque anterior entregaba simples archivos markdown de referencia que Claude Code nunca llegaba a cargar. Si alguna vez dejaste un archivo de skill en disco y viste cómo Claude lo ignoraba, conoces el modo de fallo: el archivo está ahí, pero nada le dice al modelo cuándo es relevante, así que acabas especificando "usa la herramienta stealth_mode para hacer scraping de esto", lo que echa por tierra el propósito.
Así que los reconstruimos como es debido. Un skill es ahora un directorio que contiene un archivo SKILL.md con frontmatter YAML. Al arrancar, Claude precarga solo el name y la description de cada skill instalado y luego lee el cuerpo completo solo cuando considera que el skill es relevante para tu prompt. Anthropic llama a esto divulgación progresiva (progressive disclosure): los skills no son contexto siempre cargado, se cargan bajo demanda.
---
name: crawlforge-web-scraping
description: >-
Scrape, crawl, and extract content from websites and return clean
Markdown or structured JSON. Use when the user wants to scrape a page,
crawl a site, extract links or metadata, map a site, or convert a URL
to Markdown for an LLM.
---
# CrawlForge Web Scraping
...Seamos honestos: la autoactivación la decide el modelo, no está garantizada. Una buena descripción rica en disparadores aumenta drásticamente la probabilidad de que se active el skill correcto, pero es una heurística, no un contrato, y siempre puedes nombrar el skill o la herramienta de forma explícita en tu prompt para forzarlo.
Los siete skills cubren las 26 herramientas:
| Skill | Cubre |
|---|---|
crawlforge-getting-started | Primeros pasos, configuración de la key, selección de herramientas |
crawlforge-web-scraping | scrape, crawl, map, extracción de enlaces/metadatos/texto |
crawlforge-deep-research | deep research, búsqueda, resumen, análisis |
crawlforge-stealth-browsing | stealth mode, anti-bot, acciones de navegador |
crawlforge-structured-extraction | extracción con LLM, plantillas, scrape estructurado |
crawlforge-change-tracking | seguimiento de cambios, monitores programados |
crawlforge-batch-automation | batch scrape, procesamiento de documentos, llms.txt |
Los skills se instalan en el ámbito personal, en ~/.claude/skills/<name>/SKILL.md. Complementan a MCP en lugar de reemplazarlo: MCP expone las 26 herramientas y los skills le enseñan a Claude cuándo y cómo recurrir a ellas; piénsalo como la guía de incorporación de un nuevo fichaje que ya tiene las herramientas sobre su escritorio.
Las actualizaciones se autorreparan. El instalador elimina los antiguos archivos simples (sin tocar los skills no relacionados) y npm run skills:gen regenera el SKILL.md raíz. También hay un hook de evaluación forzada opcional —un recordatorio idempotente de UserPromptSubmit que aumenta la autoactivación— tras --with-hook en install-skills e init (y --remove-hook en uninstall-skills). Está desactivado por defecto.
npx crawlforge init hace todo el proceso: configura tu API key, instala los skills y registra el MCP server en tus clientes de IA.
Dos nuevos formatos de scrape: branding y screenshot
La herramienta scrape gana dos formatos de salida. El coste no cambia: 2 credits para ambos.
El nuevo formato branding realiza una extracción estática de design tokens a partir de HTML y CSS sin necesidad de navegador. Devuelve la paleta de colores, las fuentes y la tipografía, el logo y los favicons, y los tokens de border-radius, sombra y espaciado. Está protegido frente a SSRF y las descargas de CSS enlazado tienen un límite tanto de cantidad como de tamaño.
{
"tool": "scrape",
"arguments": {
"url": "https://stripe.com",
"formats": ["branding"]
}
}El formato screenshot ahora funciona de verdad; antes era un no-op. Renderiza de forma diferida (lazy) a través del pool de navegadores compartido y devuelve recursos MCP crawlforge://screenshot/{id}. El navegador se lanza solo cuando se solicita una captura de pantalla y, si el renderizado falla, degrada a una advertencia para que el resto del scrape siga teniendo éxito (se preserva el éxito parcial).
{
"tool": "scrape",
"arguments": {
"url": "https://example.com",
"formats": ["markdown", "screenshot"]
}
}Monitorización programada de cambios integrada
track_changes gana operaciones programadas reales: create_scheduled_monitor, stop_scheduled_monitor y una nueva list_scheduled_monitors. Antes eran código muerto que lanzaba un error al llamarlo. Ahora están respaldadas por un planificador persistido real (MonitorScheduler.js + MonitorStore.js) y las líneas base se rehidratan desde snapshots al reiniciar.
Puedes adjuntar un goal opcional en lenguaje natural. Lo evalúa un LLM (Ollama primero) y degrada con elegancia a una significancia por umbral cuando no hay ningún LLM disponible, de modo que una página de documentación o el changelog de una API puede devolver un veredicto de significancia real, no solo un diff.
{
"tool": "track_changes",
"arguments": {
"operation": "create_scheduled_monitor",
"url": "https://docs.example.com/changelog",
"interval": "1h",
"goal": "Tell me only when a breaking API change is announced"
}
}Ahora la parte honesta: un MCP server por stdio no es un daemon de larga vida, así que el disparo programado fiable usa la CLI más el cron del sistema. monitor:run-due es una ejecución única que comprueba cada monitor pendiente y garantiza el disparo:
# Create and inspect monitors
crawlforge monitor:create --url https://docs.example.com/changelog --interval 1h
crawlforge monitor:list
# Drive due checks from system cron (every 15 minutes)
*/15 * * * * crawlforge monitor:run-duetrack_changes cuesta 3 credits por llamada.
Refuerzo de seguridad: controles anunciados pero silenciosamente rotos
Los MCP servers se han convertido en una superficie de ataque reconocida, y un servidor de scraping que recupera URLs arbitrarias en tu nombre es un objetivo de SSRF (falsificación de solicitudes del lado del servidor) de manual: apúntalo al endpoint de metadatos de la nube (169.254.169.254) y un fetch sin protección te devolverá tan tranquilo la respuesta. Auditamos nuestra propia postura y encontramos dos controles que anunciábamos pero que en realidad no aplicábamos. Ambos están corregidos.
SSRF ahora se aplica en la ruta real
ssrfProtection.js existía pero nunca se conectó a las herramientas: cada scrape usaba fetch() en crudo sin validación de IP ni de host. El nuevo ssrfGuard.js inyecta un dispatcher de undici cuya resolución en el momento de la conexión valida todas las conexiones (la solicitud inicial y cada salto de redirección) y se fija a la IP validada, cerrando la ventana TOCTOU del DNS rebinding.
La etapa 1 (la predeterminada) bloquea loopback, link-local y cloud-metadata (169.254.169.254), y 0.0.0.0. Ahora se enruta a través de unos 14 módulos: la ruta básica de fetch, batch scrape, map site, crawl, extract, procesamiento de documentos, research, llms.txt, robots/sitemap y el differ de seguimiento de cambios.
# Default: Stage 1 is on. Tighten or override as needed.
SSRF_STRICT=true # adds full RFC1918 / ULA private-range enforcement
ALLOWED_DOMAINS=internal.acme.dev # trusted-host bypass for known internal targets
SSRF_PROTECTION_ENABLED=false # kill switchLa elicitación de MCP ahora sí se dispara
El antiguo ElicitationHelper llamaba a server.elicit() —un método que no existe— y nunca comprobaba la capacidad del cliente, así que toda confirmación de coste y seguridad fallaba en silencio en modo abierto (fail open). Se ha corregido para que llame a elicitInput, condicione su uso a la capacidad de elicitación del cliente y analice el campo action (accept / decline / cancel). Sigue fallando en modo abierto (fail open) para los clientes que no admiten elicitación, pero los clientes con capacidad de elicitación ahora sí verán los prompts.
Defensa en profundidad
Se añadió limitación de tasa saliente por host (hostRateLimiter.js) a la ruta básica de fetch y a batch scrape: un valor por defecto de 10 requests/second por host, controlado por RATE_LIMIT_PER_DOMAIN. No hay un límite global, así que los crawls amplios de varios hosts no se ven afectados. Esto es defensa en profundidad, no un límite de SSRF en sí mismo.
Por último, executeJavaScript (que sigue desactivado por defecto) ganó una longitud máxima de script (JS_MAX_SCRIPT_LENGTH), un timeout de ejecución explícito (JS_EXECUTION_TIMEOUT_MS) y un registro de auditoría estructurado en stderr que anota el SHA-256, la longitud y la URL de cada script.
Precios: 26 herramientas medidas, sin herramientas nuevas, nada gratis
No hay herramientas nuevas en v4.8.0: los nuevos formatos y operaciones se añadieron a herramientas existentes, así que el número se mantiene en 26. Las 26 están medidas y requieren una API key, con costes que van de 1 a 10 credits por llamada. Ten en cuenta que list_ollama_models ahora cuesta 1 credit: ya no es gratis, y ninguna herramienta es gratis por llamada.
| Plan | Precio | Credits |
|---|---|---|
| Free | pago único (sin tarjeta) | 1.000 credits de prueba (no se reinician) |
| Hobby | $19/mes | 5.000 |
| Professional | $99/mes | 50.000 |
| Business | $399/mes | 250.000 |
Todos los planes incluyen todas las herramientas. La extracción con LLM usa por defecto Ollama local, así que no necesitas una key de OpenAI ni de Anthropic salvo que decidas usarla.
Cómo actualizar
Usuarios nuevos:
npm install -g crawlforge-mcp-server
npx crawlforge initUsuarios existentes: npm install -g crawlforge-mcp-server@latest, o simplemente provoca una reconexión con /mcp. Vuelve a ejecutar init (o install-skills) para incorporar los 7 skills y autorreparar cualquier archivo simple heredado. v4.8.0 es aditiva, así que nada se rompe.
Esto continúa la cadencia de corrección de la 4.7.x: la 4.7.2 hizo una auditoría completa en vivo de las 26 herramientas y corrigió scrape_with_actions, extract_structured y resources/read; la 4.7.1 corrigió el credibilityThreshold de deep_research y un bug de "undefined" en generate_llms_txt; la 4.7.0 migró al modelo totalmente medido. Si llegaste hace poco, el artículo de lanzamiento de v4.2.2 cubre la CLI que ahora impulsa monitor:run-due.
Qué viene a continuación
Más de lo mismo: una cadencia constante de refuerzo de confianza y corrección en las 26 herramientas. Si encuentras un control que no se comporta como dicen los docs, ese es exactamente el bug del que queremos enterarnos: pruébalo, rómpelo y cuéntanos qué no funciona.
¿Listo para probarlo? Empieza gratis con 1.000 credits y luego ejecuta npx crawlforge init para instalar los 7 skills y registrar el MCP server. Consulta los docs completos, la referencia de track_changes o nuestro repaso de los mejores MCP servers para web scraping en 2026.
Pruébalo tú mismo — sin necesidad de registrarte
Ejecuta cualquiera de las 27 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.
1,000 credits gratis • Se recargan cada mes • No se requiere tarjeta de crédito
Etiquetas
Sobre el autor
Mantente al día con los últimos artículos
Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.
Sin spam. Cancela tu suscripción cuando quieras.