
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.
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.
Juega con nuestro Servidor MCP en el playground de MCP.so o en Klavis AI.
Conéctate al servidor remoto alojado sin configuración:``` https://mcp.firecrawl.dev/v2/mcp
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.
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
### Instalación Manual```bash
npm install -g firecrawl-mcp
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
Para configurar Firecrawl MCP en Cursor v0.45.6
env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcpSi 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.
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"
}
}
}
}
### 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
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
### 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...
[](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) [](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}"
}
}
}
}
## 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
export FIRECRAWL_API_URL=https://firecrawl.your-domain.com
export FIRECRAWL_API_KEY=your-api-key # If your instance requires auth
### 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"
}
}
}
}
Usa esta guía para seleccionar la herramienta adecuada para tu tarea:
Al usar scrape, elige el formato adecuado:
firecrawl_scrape)Extrae contenido de una sola URL con opciones avanzadas.
Mejor para:
No recomendado para:
Errores comunes:
Eligiendo el formato adecuado:
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"] } } ] } }
**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"] } }
**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:
firecrawl_search)Busca en la web y opcionalmente extrae contenido de los resultados de búsqueda.
Mejor para:
No recomendado para:
Errores comunes:
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 } } }
**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.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" } } }
**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:
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.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" } }
**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.
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:
No recomendado para:
Argumentos:
urls: Array de URLs de las que extraer informaciónprompt: Prompt personalizado para la extracción del LLMsystemPrompt: Prompt del sistema para guiar al LLMschema: Esquema JSON para la extracción de datos estructuradosallowExternalLinks: Permitir extracción desde enlaces externosenableWebSearch: Habilitar búsqueda web para contexto adicionalincludeSubdomains: Incluir subdominios en la extracciónCuando 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 } }
**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
}
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:
firecrawl_agent con tu mensaje/esquema → devuelve un ID de trabajofirecrawl_agent_status con el ID de trabajo para comprobar el progresoIdeal para:
No recomendado para:
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íficasschema: Esquema JSON opcional para salida estructuradaEjemplo 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" } } } } } } } }
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:
firecrawl_agent_status para consultar los resultados.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" } }
**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.
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" } }
### 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" } }
**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 .El servidor incluye registro completo:
Ejemplos de mensajes de registro:``` [INFO] Firecrawl MCP Server initialized successfully [INFO] Starting scrape for URL: https://example.com [ERROR] Rate limit exceeded
## 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
}
npm install
npm run build
npm test
### 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
| Herramienta | Mejor para | Devuelve |
|---|
| scrape | Contenido de una sola página | JSON (preferido) o markdown |
| interact | Interactuar con una URL o página raspada | Resultado de ejecución + scrapeId para modo URL |
| map | Descubrir URLs en un sitio | URL[] |
| crawl | Extracción de múltiples páginas (con límites) | estado/datos finales del rastreo después de sondeo interno |
| parse | Archivos y referencias de carga alojadas | salida en markdown, JSON o documento |
| extract | Extracción estructurada de URLs | datos estructurados JSON |
| search | Búsqueda web de información | results[] |
| agent | Investigación compleja de múltiples fuentes | JSON (datos estructurados) |
| monitor | Verificaciones periódicas de páginas | metadatos de monitoreo/verificación y diferencias |
| research | Investigación de documentos y repositorios de GitHub | resultados de investigación y coincidencias de repositorios |
judgment.meaningfuljudgment.meaningfulChanges