Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
firecrawl-mcp-server — Servidor MCP que proporciona capacidades de scraping web, rastreo y búsqueda para agentes de IA. Admite extracción de datos estructurados, navegación interactiva e investigación profunda a través de una API unificada. | Kitploit
Herramientas/GitHubGitHub/firecrawl/firecrawl-mcp-server
Recopilación de InformaciónUtilidades y FrameworksCrawler
GitHubfirecrawl/firecrawl-mcp-server

firecrawl-mcp-server

Servidor MCP que proporciona capacidades de scraping web, rastreo y búsqueda para agentes de IA. Admite extracción de datos estructurados, navegación interactiva e investigación profunda a través de una API unificada.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web
7.2k843hace 2 díasRevisado por Kitploit

Firecrawl MCP Server

Un servidor del Protocolo de Contexto del Modelo (MCP) que lleva Firecrawl a agentes de IA compatibles con MCP: busca, extrae e interactúa con la web en vivo para obtener contexto limpio y listo para el agente.

Un gran agradecimiento a @vrknetha y @knacklabs por la implementación inicial.

Características

  • Busca en la web y obtén el contenido completo de la página
  • Extrae cualquier URL en datos limpios y estructurados
  • Interactúa con las páginas: haz clic, navega y opera
  • Investigación profunda con agente autónomo
  • Reintentos automáticos y limitación de velocidad
  • Soporte en la nube y autoalojado
  • Soporte SSE

Juega con nuestro Servidor MCP en el playground de MCP.so o en Klavis AI.

Instalación

MCP alojado (nivel gratuito sin clave)

Conéctate al servidor remoto alojado sin configuración:``` https://mcp.firecrawl.dev/v2/mcp

root@kitploit:~
En el nivel gratuito keyless, `scrape`, `search`, e `interact` funcionan sin una clave API (con límite de velocidad). Otras herramientas como `crawl`, `map`, `agent`, y `extract` aún necesitan una clave.

Prefiera una clave API o OAuth siempre que el usuario pueda registrarse. Esto desbloquea el conjunto completo de herramientas y límites más altos. Con una clave, use:```
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp

Consulte la documentación del servidor MCP y la guía de incorporación del agente para obtener detalles de configuración.

Ejecutando con npx```bash

env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

root@kitploit:~
### Instalación Manual```bash
npm install -g firecrawl-mcp

Ejecutando en Cursor

Configurando Cursor 🖥️ Nota: Requiere la versión 0.45.6+ de Cursor Para las instrucciones de configuración más actualizadas, consulte la documentación oficial de Cursor sobre la configuración de servidores MCP: Guía de configuración de servidor MCP de Cursor

Para configurar Firecrawl MCP en Cursor v0.48.6

  1. Abra la configuración de Cursor
  2. Vaya a Features > MCP Servers
  3. Haga clic en "+ Add new global MCP server"
  4. Ingrese el siguiente código: ```json { "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }
    root@kitploit:~

Para configurar Firecrawl MCP en Cursor v0.45.6

  1. Abrir Configuración de Cursor
  2. Ir a Funciones > Servidores MCP
  3. Hacer clic en "+ Agregar Nuevo Servidor MCP"
  4. Ingresar lo siguiente:
    • Nombre: "firecrawl-mcp" (o el nombre que prefieras)
    • Tipo: "comando"
    • Comando: env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp

Si usas Windows y tienes problemas, prueba con cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"

Reemplaza your-api-key con tu clave API de Firecrawl. Si aún no tienes una, puedes crear una cuenta y obtenerla desde https://www.firecrawl.dev/app/api-keys

Después de agregarlo, actualiza la lista de servidores MCP para ver las nuevas herramientas. El Agente Composer utilizará automáticamente Firecrawl MCP cuando sea apropiado, pero puedes solicitarlo explícitamente describiendo tus necesidades de extracción web. Accede al Composer mediante Comando+L (Mac), selecciona "Agente" junto al botón de enviar, e ingresa tu consulta.

Ejecutando en Windsurf

Añade esto a tu ./codeium/windsurf/model_config.json:```json { "mcpServers": { "mcp-server-firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR_API_KEY" } } } }

root@kitploit:~
### Ejecutando con Streamable HTTP Local Mode

Para ejecutar el servidor usando Streamable HTTP localmente en lugar del transporte stdio predeterminado:```bash
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

Use la URL: http://localhost:3000/mcp

Instalación mediante Smithery (Legacy)

Para instalar Firecrawl para Claude Desktop automáticamente a través de Smithery:```bash npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude

root@kitploit:~
### Ejecución en VS Code

Para instalación con un solo clic, haz clic en uno de los botones de instalación a continuación...

[![Instalar con NPX en VS Code](https://img.shields.io/badge/VS_Code-NPM-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D) [![Instalar con NPX en VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-NPM-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D&quality=insiders)

Para instalación manual, añade el siguiente bloque JSON a tu archivo de User Settings (JSON) en VS Code. Puedes hacerlo presionando `Ctrl + Shift + P` y escribiendo `Preferences: Open User Settings (JSON)`.```json
{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "Firecrawl API Key",
        "password": true
      }
    ],
    "servers": {
      "firecrawl": {
        "command": "npx",
        "args": ["-y", "firecrawl-mcp"],
        "env": {
          "FIRECRAWL_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

Opcionalmente, puedes agregarlo a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otros:```json { "inputs": [ { "type": "promptString", "id": "apiKey", "description": "Firecrawl API Key", "password": true } ], "servers": { "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "${input:apiKey}" } } } }

root@kitploit:~
## Configuración

### Variables de Entorno

#### Requerido para API en la Nube

- `FIRECRAWL_API_KEY`: Tu clave de API de Firecrawl
  - Requerido cuando se usa la API en la nube (predeterminado)
  - Opcional cuando se usa una instancia autogestionada con `FIRECRAWL_API_URL`
- `FIRECRAWL_API_URL` (Opcional): Endpoint de API personalizado para instancias autogestionadas
  - Ejemplo: `https://firecrawl.your-domain.com`
  - Si no se proporciona, se usará la API en la nube (requiere clave de API)

#### MCP OAuth (tokens de acceso Bearer)

Firecrawl alojado puede emitir **tokens de acceso** OAuth (`fco_…`) a través del servidor de autorización en [firecrawl.dev](https://firecrawl.dev). Este servidor MCP reenvía cualquier credencial que resuelva a la API de Firecrawl como `Authorization: Bearer …`.

- **Transportes de flujo HTTP** (`CLOUD_SERVICE=true`, `HTTP_STREAMABLE_SERVER=true`, o `SSE_LOCAL=true`): Los clientes deben enviar `Authorization: Bearer <fco_access_token>` en las solicitudes MCP. Un token de portador OAuth tiene prioridad sobre `x-firecrawl-api-key` / `x-api-key` cuando ambos están presentes.
- **stdio:** Usa `FIRECRAWL_OAUTH_TOKEN` para un token de acceso estático, o sigue usando `FIRECRAWL_API_KEY` para una clave de API.

Usa solo **tokens de acceso** (`fco_…`). Los tokens de actualización (`fcr_…`) deben intercambiarse en el endpoint de token, no pasarse a la API de scrape/búsqueda.

#### Ejemplos de Configuración

> Para uso de API en la nube:```bash
export FIRECRAWL_API_KEY=your-api-key

Para instancia autoalojada:```bash

Required for self-hosted

export FIRECRAWL_API_URL=https://firecrawl.your-domain.com

Optional authentication for self-hosted

export FIRECRAWL_API_KEY=your-api-key # If your instance requires auth

root@kitploit:~
### Uso con Claude Desktop

Añade esto a tu `claude_desktop_config.json`:```json
{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Cómo Elegir una Herramienta

Usa esta guía para seleccionar la herramienta adecuada para tu tarea:

  • Si conoces la URL exacta que deseas: usa scrape (con formato JSON para datos estructurados)
  • Si tienes múltiples URLs conocidas: llama a scrape para cada URL. Si necesitas específicamente una operación de API masiva, usa el endpoint por lotes de la API de Firecrawl fuera de MCP.
  • Si necesitas descubrir URLs en un sitio: usa map
  • Si quieres buscar información en la web: usa search
  • Si necesitas investigación compleja a través de múltiples fuentes desconocidas: usa agent
  • Si quieres analizar un sitio o sección completo: usa crawl (¡con límites!)
  • Si necesitas automatización interactiva del navegador (clic, escribir, navegar): usa interact con una URL para una página nueva, o scrape + interact cuando ya hayas raspado la página o necesites un control más preciso del raspado

Tabla de Referencia Rápida

Guía de Selección de Formato

Al usar scrape, elige el formato adecuado:

  • Formato JSON (recomendado para la mayoría de los casos): Úsalo cuando necesites datos específicos de una página. Define un esquema basado en lo que necesitas extraer. Esto mantiene las respuestas pequeñas y evita el desbordamiento de la ventana de contexto.
  • Formato Markdown (úsalo con moderación): Solo cuando realmente necesites el contenido completo de la página, como leer un artículo completo para resumirlo o analizar la estructura de la página.

Herramientas Disponibles

1. Scrape Tool (firecrawl_scrape)

Extrae contenido de una sola URL con opciones avanzadas.

Mejor para:

  • Extracción de contenido de una sola página, cuando sabes exactamente qué página contiene la información.

No recomendado para:

  • Extraer contenido de múltiples páginas (usa llamadas repetidas a scrape para URLs conocidas, o map + scrape para descubrir URLs primero, o crawl para contenido completo de páginas)
  • Cuando no estés seguro de qué página contiene la información (usa search)

Errores comunes:

  • Pasar una lista de URLs a una sola llamada scrape. Llama a scrape una vez por URL en MCP. Si necesitas específicamente una operación de API masiva, usa el endpoint por lotes de la API de Firecrawl fuera de MCP.
  • Usar el formato markdown por defecto (usa el formato JSON para extraer solo lo que necesitas).

Eligiendo el formato adecuado:

  • Formato JSON (preferido): Para la mayoría de los casos de uso, usa el formato JSON con un esquema para extraer solo los datos específicos necesarios. Esto mantiene las respuestas enfocadas y evita el desbordamiento de la ventana de contexto.
  • Formato Markdown: Solo cuando la tarea realmente requiera el contenido completo de la página (por ejemplo, resumir un artículo completo, analizar la estructura de la página).

Ejemplo de Prompt:

"Obtén los detalles del producto desde https://example.com/product."

Ejemplo de Uso (formato JSON - preferido):```json { "name": "firecrawl_scrape", "arguments": { "url": "https://example.com/product", "formats": [ { "type": "json", "prompt": "Extract the product information", "schema": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" }, "description": { "type": "string" } }, "required": ["name", "price"] } } ] } }

root@kitploit:~
**Ejemplo de uso (formato markdown - cuando se necesita contenido completo):**```json
{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com/article",
    "formats": ["markdown"],
    "onlyMainContent": true
  }
}

Ejemplo de uso (formato de marca - extraer identidad de marca):```json { "name": "firecrawl_scrape", "arguments": { "url": "https://example.com", "formats": ["branding"] } }

root@kitploit:~
**Formato de marca:** Extrae identidad de marca completa (colores, fuentes, tipografía, espaciado, logo, componentes de UI) para análisis de diseño o replicación de estilo.
**Privacidad:** Establezca `redactPII: true` para devolver contenido con información de identificación personal eliminada.

**Devuelve:**

- Datos estructurados JSON, markdown, perfil de marca u otros formatos según se especifique.

### 2. Herramienta Mapa (`firecrawl_map`)

Mapea un sitio web para descubrir todas las URLs indexadas en el sitio.

**Mejor para:**

- Descubrir URLs en un sitio web antes de decidir qué raspar
- Encontrar secciones específicas de un sitio web

**No recomendado para:**

- Cuando ya sabes qué URL específica necesitas (usa scrape)
- Cuando necesitas el contenido de las páginas (usa scrape después del mapeo)

**Errores comunes:**

- Usar crawl para descubrir URLs en lugar de map

**Ejemplo de prompt:**

> "Lista todas las URLs en example.com."

**Ejemplo de uso:**```json
{
  "name": "firecrawl_map",
  "arguments": {
    "url": "https://example.com"
  }
}

Devuelve:

  • Array de URLs encontradas en el sitio

3. Herramienta de Búsqueda (firecrawl_search)

Busca en la web y opcionalmente extrae contenido de los resultados de búsqueda.

Mejor para:

  • Encontrar información específica en múltiples sitios web, cuando no sabes qué sitio tiene la información.
  • Cuando necesitas el contenido más relevante para una consulta

No recomendado para:

  • Cuando ya sabes qué sitio web raspar (usar scrape)
  • Cuando necesitas cobertura completa de un solo sitio web (usar map o crawl)

Errores comunes:

  • Usar crawl o map para preguntas abiertas (usar search en su lugar)

Ejemplo de uso:```json { "name": "firecrawl_search", "arguments": { "query": "latest AI research papers 2023", "limit": 5, "lang": "en", "country": "us", "scrapeOptions": { "formats": ["markdown"], "onlyMainContent": true, "redactPII": true } } }

root@kitploit:~
**Returns:**

- Array de resultados de búsqueda (con contenido opcionalmente extraído), más un campo `id`. Pasa ese `id` a `firecrawl_search_feedback` después de usar los resultados para reembolsar 1 crédito (la búsqueda cuesta 2) y mejorar la calidad de búsqueda.

**Prompt Example:**

> "Find the latest research papers on AI published in 2023."

### 3b. Search Feedback Tool (`firecrawl_search_feedback`)

Envía retroalimentación estructurada sobre un resultado previo de `firecrawl_search`. La primera retroalimentación por id de búsqueda reembolsa 1 crédito y mejora la calidad de búsqueda de Firecrawl. Idempotente por id de búsqueda.

**Call this after every search you actually use** (or that didn't help). Bad/partial feedback with `missingContent` is just as valuable as good feedback.

**Desactivar:** establece `FIRECRAWL_NO_SEARCH_FEEDBACK=1` (o `FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1`) en el entorno al iniciar el servidor MCP. La herramienta `firecrawl_search_feedback` no se registrará, por lo que los agentes no podrán llamarla. Los administradores del equipo también pueden deshabilitar la retroalimentación del lado del servidor; en ese caso, la herramienta está registrada pero siempre devuelve `feedbackErrorCode: "TEAM_OPTED_OUT"`.

**Campo más importante:** `missingContent`. Es un array de piezas específicas de contenido que el agente esperaba encontrar pero no encontró. Una entrada por tema faltante; estos se agregan entre equipos y nos dicen qué indexar a continuación.

**Límite diario de reembolso (por equipo, por día UTC, predeterminado 100 créditos).** Una vez que `creditsRefundedToday` de un equipo alcanza `dailyRefundCap`, los envíos posteriores aún registran retroalimentación pero ya no reembolsan créditos. La respuesta establece `dailyCapReached: true`. Los agentes deben dejar de llamar a esta herramienta durante el resto del día UTC cuando vean esa bandera.

**Usage Example:**```json
{
  "name": "firecrawl_search_feedback",
  "arguments": {
    "searchId": "0193f6c5-1234-7890-abcd-1234567890ab",
    "rating": "good",
    "valuableSources": [
      {
        "url": "https://docs.firecrawl.dev/features/search",
        "reason": "Most up-to-date description of /search."
      }
    ],
    "missingContent": [
      {
        "topic": "Pricing for the search endpoint",
        "description": "No pricing tier table for /search specifically."
      },
      { "topic": "Per-team rate limits" }
    ],
    "querySuggestions": "Boost docs.firecrawl.dev for queries that mention 'firecrawl'"
  }
}

Returns:

  • { success, feedbackId, creditsRefunded, alreadySubmitted? } JSON.

3c. Herramienta de Retroalimentación Genérica (firecrawl_feedback)

Envía retroalimentación estructurada para un trabajo de endpoint v2 completado a través de /v2/feedback. Úselo para retroalimentación a nivel de endpoint en trabajos de scrape, parse, map o search. Para la calidad de los resultados de búsqueda específicamente, prefiera firecrawl_search_feedback porque incluye orientación específica de búsqueda.

Mantenga la retroalimentación concisa: use códigos de problema, etiquetas, notas cortas, URLs, números de página y objetos pequeños de metadatos. No incluya salidas crudas de scrape/parse.

Opt out: establezca FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 (o FIRECRAWL_DISABLE_ENDPOINT_FEEDBACK=1) en el entorno al iniciar el servidor MCP. La herramienta firecrawl_feedback no se registrará, por lo que los agentes no podrán llamarla.

Ejemplo de uso:```json { "name": "firecrawl_feedback", "arguments": { "endpoint": "scrape", "jobId": "0193f6c5-1234-7890-abcd-1234567890ab", "rating": "partial", "issues": ["missing_markdown"], "tags": ["docs"], "note": "The pricing table was missing from the markdown output.", "url": "https://example.com/pricing", "pageNumbers": [1], "metadata": { "format": "markdown" } } }

root@kitploit:~
**Returns:**

- `{ success, feedbackId, creditsRefunded, creditsRefundedToday?, dailyRefundCap?, dailyCapReached?, alreadySubmitted?, warning? }` JSON.

### 4. Herramienta de Rastreo (`firecrawl_crawl`)

Inicia un trabajo de rastreo, lo consulta hasta que alcanza un estado terminal y devuelve el estado/datos finales del rastreo.

**Mejor para:**

- Extraer contenido de múltiples páginas relacionadas, cuando se necesita una cobertura completa.

**No recomendado para:**

- Extraer contenido de una sola página (use scrape)
- Cuando los límites de tokens son una preocupación (use map + scrape para un control más estricto)
- Cuando se necesitan resultados rápidos (el rastreo puede ser lento)

**Advertencia:** Las respuestas de rastreo pueden ser muy grandes y pueden exceder los límites de tokens. Limite la profundidad de rastreo y el número de páginas, o use map + scrape para un control más estricto.

**Errores comunes:**

- Establecer limit o maxDiscoveryDepth demasiado alto (provoca desbordamiento de tokens)
- Usar rastreo para una sola página (use scrape en su lugar)

**Ejemplo de Prompt:**

> "Obtén todas las publicaciones del blog de los primeros dos niveles de example.com/blog."

**Ejemplo de Uso:**```json
{
  "name": "firecrawl_crawl",
  "arguments": {
    "url": "https://example.com/blog/*",
    "maxDiscoveryDepth": 2,
    "limit": 100,
    "allowExternalLinks": false,
    "deduplicateSimilarURLs": true
  }
}

Devuelve:

  • Estado final del rastreo y datos después del sondeo interno, incluyendo id, status, completed, total, creditsUsed, expiresAt, next y data. Utiliza el id devuelto con firecrawl_check_crawl_status si necesitas volver a verificar el trabajo más tarde.

5. Verificar el estado del rastreo (firecrawl_check_crawl_status)

Verifica el estado y los resultados de un trabajo de rastreo existente por ID.```json { "name": "firecrawl_check_crawl_status", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }

root@kitploit:~
**Returns:**

- La respuesta incluye el estado del trabajo de rastreo:

### 6. Herramienta Parse (`firecrawl_parse`)

Analiza archivos locales o referencias de carga alojadas con el endpoint `/v2/parse` de Firecrawl.

**Ideal para:** PDFs, documentos de Word, hojas de cálculo, archivos HTML y otros documentos que necesiten salida en markdown o JSON estructurado. El MCP alojado admite un flujo de dos pasos con referencia de carga; las lecturas directas de archivos locales requieren una `FIRECRAWL_API_URL` auto-alojada.

**No recomendado para:** URLs remotas (usa scrape), múltiples archivos en una sola llamada (llama a parse una vez por archivo), o acciones solo de navegador como capturas de pantalla y clics.

**Flujo del MCP alojado:** El MCP alojado no puede leer directamente el sistema de archivos del llamante. Llama a `firecrawl_parse` con `filePath` para recibir un comando de carga de corta duración y `nextToolCall`, sube el archivo localmente, luego llama a `firecrawl_parse` de nuevo con el `uploadRef` devuelto. La generación de la URL de carga alojada requiere autenticación de Firecrawl o elegibilidad sin clave. En el modo local `npx firecrawl-mcp`, el análisis directo de archivos actualmente requiere `FIRECRAWL_API_URL` que apunte a una API de Firecrawl auto-alojada; un servidor local simple con solo clave de API en la nube no puede leer ni subir archivos a través de esta herramienta.

**Ejemplo de uso:**```json
{
  "name": "firecrawl_parse",
  "arguments": {
    "filePath": "/absolute/path/to/document.pdf",
    "formats": ["markdown"],
    "parsers": ["pdf"],
    "zeroDataRetention": true
  }
}

Devuelve: Contenido del documento analizado o instrucciones de subida alojada con una nextToolCall.

7. Herramienta de Extracción (firecrawl_extract)

Extrae información estructurada de páginas web utilizando capacidades de LLM. Soporta tanto IA en la nube como extracción con LLM autoalojado.

Mejor para:

  • Extraer datos estructurados específicos como precios, nombres, detalles.

No recomendado para:

  • Cuando necesitas el contenido completo de una página (usa scrape)
  • Cuando no buscas datos estructurados específicos

Argumentos:

  • urls: Array de URLs de las que extraer información
  • prompt: Prompt personalizado para la extracción del LLM
  • systemPrompt: Prompt del sistema para guiar al LLM
  • schema: Esquema JSON para la extracción de datos estructurados
  • allowExternalLinks: Permitir extracción desde enlaces externos
  • enableWebSearch: Habilitar búsqueda web para contexto adicional
  • includeSubdomains: Incluir subdominios en la extracción

Cuando se utiliza una instancia autoalojada, la extracción usará tu LLM configurado. Para la API en la nube, usa el servicio de LLM gestionado de Firecrawl. Ejemplo de Prompt:

"Extrae el nombre del producto, precio y descripción de estas páginas de producto."

Ejemplo de Uso:```json { "name": "firecrawl_extract", "arguments": { "urls": ["https://example.com/page1", "https://example.com/page2"], "prompt": "Extract product information including name, price, and description", "systemPrompt": "You are a helpful assistant that extracts product information", "schema": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" }, "description": { "type": "string" } }, "required": ["name", "price"] }, "allowExternalLinks": false, "enableWebSearch": false, "includeSubdomains": false } }

root@kitploit:~
**Devuelve:**

- Datos estructurados extraídos según lo definido por tu esquema```json
{
  "content": [
    {
      "type": "text",
      "text": {
        "name": "Example Product",
        "price": 99.99,
        "description": "This is an example product description"
      }
    }
  ],
  "isError": false
}

8. Herramienta de agente (firecrawl_agent)

Agente autónomo de investigación web. Esta es una capa de agente de IA separada que navega de forma independiente por internet, busca información, recorre páginas y extrae datos estructurados según tu consulta.

Cómo funciona:

El agente realiza búsquedas web, sigue enlaces, lee páginas y recopila datos de forma autónoma. Esto se ejecuta de forma asíncrona: devuelve un ID de trabajo inmediatamente, y tú consultas firecrawl_agent_status para comprobar cuándo se completa y obtener los resultados.

Flujo de trabajo asíncrono:

  1. Llama a firecrawl_agent con tu mensaje/esquema → devuelve un ID de trabajo
  2. Realiza otras tareas mientras el agente investiga (puede tardar minutos en consultas complejas)
  3. Consulta firecrawl_agent_status con el ID de trabajo para comprobar el progreso
  4. Cuando el estado sea "completado", la respuesta incluye los datos extraídos

Ideal para:

  • Tareas de investigación complejas donde no conoces las URL exactas
  • Recopilación de datos de múltiples fuentes
  • Encontrar información dispersa por la web
  • Tareas donde puedas hacer otro trabajo mientras esperas los resultados

No recomendado para:

  • Raspado de páginas únicas simples donde conoces la URL (usa scrape con formato JSON: más rápido y económico)

Argumentos:

  • prompt: Descripción en lenguaje natural de los datos que deseas (obligatorio, máximo 10 000 caracteres)
  • urls: Array opcional de URL para centrar el agente en páginas específicas
  • schema: Esquema JSON opcional para salida estructurada

Ejemplo de mensaje:

"Encuentra a los fundadores de Firecrawl y sus antecedentes"

Ejemplo de uso (iniciar agente, luego consultar resultados):```json { "name": "firecrawl_agent", "arguments": { "prompt": "Find the top 5 AI startups founded in 2024 and their funding amounts", "schema": { "type": "object", "properties": { "startups": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "funding": { "type": "string" }, "founded": { "type": "string" } } } } } } } }

root@kitploit:~
Luego consulta con `firecrawl_agent_status` usando el ID de trabajo devuelto.

**Ejemplo de uso (con URLs - el agente se enfoca en páginas específicas):**```json
{
  "name": "firecrawl_agent",
  "arguments": {
    "urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
    "prompt": "Compare the features and pricing information from these pages"
  }
}

Devuelve:

  • ID del trabajo para verificar el estado. Usa firecrawl_agent_status para consultar los resultados.

9. Verificar el estado del agente (firecrawl_agent_status)

Verifica el estado de un trabajo de agente y obtén los resultados cuando esté completo. Úsalo para consultar los resultados después de iniciar un agente.

Patrón de consulta: La investigación del agente puede tomar minutos para consultas complejas. Consulta este endpoint periódicamente (por ejemplo, cada 10-30 segundos) hasta que el estado sea "completado" o "fallido".```json { "name": "firecrawl_agent_status", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }

root@kitploit:~
**Posibles estados:**

- `processing`: El agente aún está investigando - vuelve a consultar más tarde
- `completed`: Investigación finalizada - la respuesta incluye los datos extraídos
- `failed`: Ocurrió un error

### 10. Herramienta de Interacción (`firecrawl_interact`)

Interactúa con una URL nueva o con una página que ya fue abierta por `firecrawl_scrape`.

**Ideal para:** Hacer clic, escribir, navegar y extraer el estado de páginas dinámicas sin restaurar las herramientas de navegador obsoletas.

**Opciones de uso:**

- Pasa `url` para raspar y abrir una página para interacción en una sola llamada MCP.
- Pasa `scrapeId` para continuar interactuando con una página ya raspada.
- Pasa exactamente uno de `url` o `scrapeId`, más ya sea `prompt` o `code`.

**Ejemplo de uso:**```json
{
  "name": "firecrawl_interact",
  "arguments": {
    "url": "https://example.com",
    "prompt": "Click the pricing link and summarize the visible plans"
  }
}

Returns: El resultado de la interacción y, para el modo URL, el scrapeId derivado para seguimiento o limpieza.

11. Herramienta Detener Interacción (firecrawl_interact_stop)

Detén una sesión de interacción para una página extraída cuando hayas terminado de interactuar.```json { "name": "firecrawl_interact_stop", "arguments": { "scrapeId": "scrape-id-here" } }

root@kitploit:~
### 12. Herramientas de Investigación (`firecrawl_research_*`)

Busca e inspecciona artículos y repositorios de GitHub a través de las herramientas de investigación MCP.

**Herramientas de investigación disponibles:**

- `firecrawl_research_search_papers`: busca artículos de investigación.
- `firecrawl_research_inspect_paper`: inspecciona un artículo.
- `firecrawl_research_related_papers`: encuentra artículos relacionados.
- `firecrawl_research_read_paper`: lee el contenido de un artículo.
- `firecrawl_research_search_github`: busca repositorios de GitHub.

**Ideal para:** Revisión bibliográfica, consulta de artículos y flujos de trabajo de descubrimiento de repositorios donde el agente necesita una superficie de investigación enfocada en lugar de un raspado web general.

### 13. Herramientas de Monitorización (`firecrawl_monitor_*`)

Crea y gestiona monitores recurrentes de páginas. Los monitores ejecutan raspados o rastreos programados, comparan cada resultado con la última instantánea retenida y pueden notificar mediante webhook o correo electrónico.

**Ideal para:**

- Observar una o varias páginas a lo largo del tiempo
- Alertar sobre cambios significativos utilizando un objetivo en lenguaje natural
- Rastrear el historial de comprobaciones y las diferencias a nivel de página

**Patrón de creación recomendado:**

Usa `page` o `pages` más `goal`. El servidor MCP construye la solicitud del monitor con una programación de 30 minutos y la API habilita automáticamente la evaluación de cambios significativos.

La evaluación de cambios significativos se ejecuta automáticamente cuando se establece `goal`. Los webhooks de página exponen `isMeaningful` y `judgment` en eventos `monitor.page`.

Redacta los objetivos como instrucciones concisas de 2 a 3 oraciones para el monitor. Indica qué debería activar una alerta, preserva cualquier alcance que el usuario haya dado e incluye exclusiones específicas de intención solo cuando sean obvias a partir de la solicitud. El ruido genérico como espacios en blanco, cambios solo de formato, IDs de solicitud, parámetros de seguimiento, metadatos genéricos y elementos de página no relacionados ya son manejados por el juez, por lo que no debes repetirlo en cada objetivo. Si el usuario es vago, mantén el objetivo amplio; si solicita una monitorización amplia o «cualquier cambio», consérvalo. Si el usuario dice que no le importa algo, inclúyelo explícitamente.```json
{
  "name": "firecrawl_monitor_create",
  "arguments": {
    "page": "https://example.com/pricing",
    "goal": "Alert when pricing, packaging, or launch messaging changes."
  }
}

Múltiples páginas con webhooks:```json { "name": "firecrawl_monitor_create", "arguments": { "pages": ["https://example.com/pricing", "https://example.com/changelog"], "goal": "Alert when pricing, packaging, or launch messaging changes.", "webhookUrl": "https://example.com/webhooks/firecrawl" } }

root@kitploit:~
**Solicitudes avanzadas de creación:**

Pasa `body` cuando necesites objetivos de rastreo, seguimiento de cambios JSON, retención personalizada o control explícito de `judgeEnabled`.```json
{
  "name": "firecrawl_monitor_create",
  "arguments": {
    "body": {
      "name": "Docs monitor",
      "schedule": { "text": "hourly", "timezone": "UTC" },
      "goal": "Alert when docs pages add, remove, or materially change API behavior.",
      "targets": [{ "type": "crawl", "url": "https://example.com/docs" }]
    }
  }
}

Otras herramientas de monitor:

  • firecrawl_monitor_list: lista monitores.
  • firecrawl_monitor_get: obtener un monitor.
  • firecrawl_monitor_update: actualizar campos que incluyen goal, judgeEnabled, webhook y notification.
  • firecrawl_monitor_run: ejecutar una verificación ahora.
  • firecrawl_monitor_delete: eliminar un monitor (destructivo; solo llamar cuando el usuario tenga la intención de eliminarlo).
  • firecrawl_monitor_checks: listar verificaciones, opcionalmente filtradas por estado.
  • firecrawl_monitor_check: obtener resultados a nivel de página, incluyendo diff, snapshot, y .

Sistema de Registro

El servidor incluye registro completo:

  • Estado de operación y progreso
  • Métricas de rendimiento
  • Seguimiento de límite de tasa
  • Condiciones de error

Ejemplos de mensajes de registro:``` [INFO] Firecrawl MCP Server initialized successfully [INFO] Starting scrape for URL: https://example.com [ERROR] Rate limit exceeded

root@kitploit:~
## Manejo de Errores

El servidor proporciona un manejo robusto de errores:

- Errores de límite de velocidad de la API notificados al cliente MCP
- Mensajes de error detallados
- Resiliencia de red

Ejemplo de respuesta de error:```json
{
  "content": [
    {
      "type": "text",
      "text": "Error: Rate limit exceeded"
    }
  ],
  "isError": true
}

Desarrollo```bash

Install dependencies

npm install

Build

npm run build

Run tests

npm test

root@kitploit:~
### Contribuir

1. Haz un fork del repositorio
2. Crea tu rama de características
3. Ejecuta las pruebas: `npm test`
4. Envía un pull request

### Agradecimientos a los contribuyentes

Gracias a [@vrknetha](https://github.com/vrknetha), [@cawstudios](https://caw.tech) por la implementación inicial!

Gracias a MCP.so y Klavis AI por el alojamiento y a [@gstarwd](https://github.com/gstarwd), [@xiangkaiz](https://github.com/xiangkaiz) y [@zihaolin96](https://github.com/zihaolin96) por integrar nuestro servidor.

## Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles
Descargar herramienta
HerramientaMejor paraDevuelve
scrapeContenido de una sola páginaJSON (preferido) o markdown
interactInteractuar con una URL o página raspadaResultado de ejecución + scrapeId para modo URL
mapDescubrir URLs en un sitioURL[]
crawlExtracción de múltiples páginas (con límites)estado/datos finales del rastreo después de sondeo interno
parseArchivos y referencias de carga alojadassalida en markdown, JSON o documento
extractExtracción estructurada de URLsdatos estructurados JSON
searchBúsqueda web de informaciónresults[]
agentInvestigación compleja de múltiples fuentesJSON (datos estructurados)
monitorVerificaciones periódicas de páginasmetadatos de monitoreo/verificación y diferencias
researchInvestigación de documentos y repositorios de GitHubresultados de investigación y coincidencias de repositorios
judgment.meaningful
judgment.meaningfulChanges