Herramientas y operaciones de Firecrawl MCP
Herramientas disponibles, comportamiento operativo y manejo de errores de Firecrawl MCP.
Las herramientas enumeradas aquí describen todas las capacidades del MCP Server Firecrawl. La disponibilidad de las herramientas depende de cómo se conecte.
| Modo de conexión | Disponibilidad de herramientas |
|---|---|
| OAuth de cuenta alojada | Todas las herramientas, según la disponibilidad del plan y las funciones |
| Clave de API alojada | Todas las herramientas, según la disponibilidad del plan y las funciones |
| Alojado sin clave | Solo firecrawl_search, firecrawl_scrape y firecrawl_parse |
| MCP local con una clave de API en la nube | Herramientas respaldadas por API; el procesamiento directo de archivos locales requiere una URL de API autogestionada |
| MCP local con una API autogestionada | Herramientas compatibles con los servicios habilitados en esa implementación |
Algunas herramientas opcionales pueden deshabilitarse mediante variables de entorno o políticas del equipo. Para empezar, consulte Conectar Firecrawl MCP para seleccionar un modo de autenticación y Límites de tasa para conocer el límite actual sin clave.
Extrae contenido de una sola URL con opciones avanzadas.
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["markdown"],
"onlyMainContent": true,
"waitFor": 1000,
"mobile": false,
"includeTags": ["article", "main"],
"excludeTags": ["nav", "footer"],
"skipTlsVerification": false
}
}Para ocultar información de identificación personal, incluye redactPII en los argumentos de la herramienta de scraping.
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/contact",
"formats": ["markdown"],
"redactPII": true
}
}Mapea un sitio web para descubrir todas sus URL indexadas.
{
"name": "firecrawl_map",
"arguments": {
"url": "https://example.com",
"search": "blog",
"sitemap": "include",
"includeSubdomains": false,
"limit": 100,
"ignoreQueryParameters": true
}
}url: URL base del sitio web que se va a mapearsearch: Término de búsqueda opcional para filtrar URLsitemap: Controla el uso del mapa del sitio: “include”, “skip” u “only”includeSubdomains: Indica si se deben incluir subdominios en el mapeolimit: Número máximo de URL que se devolveránignoreQueryParameters: Indica si se deben ignorar los parámetros de consulta durante el mapeo
Ideal para: Descubrir URL de un sitio web antes de decidir qué extraer mediante scraping; encontrar secciones específicas de un sitio web. Devuelve: Array de URL encontradas en el sitio.
Busca en la web y, de forma opcional, extrae contenido de los resultados de búsqueda.
{
"name": "firecrawl_search",
"arguments": {
"query": "your search query",
"limit": 5,
"location": "United States",
"tbs": "qdr:m",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}query: Cadena de consulta de búsqueda (obligatoria)limit: Número máximo de resultados que se devolveránlocation: Ubicación geográfica de los resultados de búsquedatbs: Filtro de búsqueda por tiempo (p. ej.,qdr:dpara el último día,qdr:wpara la última semana,qdr:mpara el último mes)filter: Filtro de búsqueda adicionalsources: Array de tipos de fuente donde buscar (web,images,news)scrapeOptions: Opciones de scraping para las páginas de resultados de búsquedaenterprise: Array de opciones empresariales (default,anon,zdr)
Envía comentarios estructurados después de utilizar firecrawl_search. El primer envío de comentarios para un ID de búsqueda puede reembolsar un crédito, sujeto al límite diario del equipo.
{
"name": "firecrawl_search_feedback",
"arguments": {
"searchId": "search-id-from-firecrawl-search",
"rating": "good",
"valuableSources": [
{
"url": "https://docs.firecrawl.dev/mcp-server",
"reason": "Contains the current connection guidance."
}
]
}
}Establece FIRECRAWL_NO_SEARCH_FEEDBACK=1 para impedir que se registre esta herramienta opcional.
Envía comentarios concisos sobre endpoints para trabajos de scraping, procesamiento, mapeo o búsqueda completados. No incluyas contenido sin procesar extraído o procesado.
{
"name": "firecrawl_feedback",
"arguments": {
"endpoint": "scrape",
"jobId": "job-id",
"rating": "partial",
"issues": ["missing_markdown"],
"url": "https://example.com"
}
}Usa firecrawl_search_feedback para enviar comentarios sobre la calidad de los resultados de búsqueda. Configura FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 para evitar que se registre la herramienta de comentarios genérica.
Procesa archivos locales, como documentos PDF, DOCX, XLSX o HTML, y los convierte en datos limpios y listos para LLM.
{
"name": "firecrawl_parse",
"arguments": {
"filePath": "/absolute/path/to/report.pdf",
"formats": ["markdown"]
}
}Cuando ejecutas Firecrawl MCP localmente con una instancia de la API de Firecrawl mediante FIRECRAWL_API_URL, el MCP Server puede leer filePath directamente y envía los bytes del archivo a /v2/parse.
Cuando usas el MCP Server alojado remoto, este no puede leer archivos de tu máquina. En ese caso, firecrawl_parse utiliza una transferencia en dos pasos que también funciona en la URL remota sin clave:
- Llama a
firecrawl_parseconfilePath. La herramienta devuelve un comando de carga preconfigurado y unnextToolCallque contiene unuploadRef. - Ejecuta el comando de carga en la máquina que puede leer el archivo y, después, vuelve a llamar a
firecrawl_parsecon eluploadRefdevuelto.
El comando de carga envía los bytes del archivo a un destino de carga firmado de corta duración. No incluye tu clave de API de Firecrawl.
filePath: Ruta local del archivo que quieres procesar. Úsalo en la primera llamada.uploadRef: Referencia devuelta por la primera llamada al MCP alojado. Úsala en la segunda llamada, tras completar la carga.formats: Formatos de salida. El valor predeterminado esmarkdown.parsers: Controles del parser, como las opciones de procesamiento de PDF.contentType: Anulación opcional del tipo MIME del archivo.declaredSizeBytes: Indicación opcional del tamaño del archivo. El tamaño máximo de los archivos es de 50 MB.
Ideal para: Documentos locales o no públicos que no están disponibles en una URL pública.
No recomendado para: URL de documentos públicos. Usa firecrawl_scrape; detectará y procesará documentos desde URL.
Inicia un rastreo asíncrono con opciones avanzadas.
{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com",
"maxDiscoveryDepth": 2,
"limit": 100,
"allowExternalLinks": false,
"deduplicateSimilarURLs": true
}
}Consulta el estado de un rastreo.
{
"name": "firecrawl_check_crawl_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}Devuelve: El estado y el progreso del trabajo de rastreo, incluidos los resultados si están disponibles.
Extrae información estructurada de páginas web mediante modelos de lenguaje de gran tamaño (LLM). Admite tanto la extracción con IA en la nube como con LLM autogestionados.
{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1", "https://example.com/page2"],
"prompt": "Extract product information including name, price, and description",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
},
"allowExternalLinks": false,
"enableWebSearch": false,
"includeSubdomains": false
}
}Respuesta de ejemplo:
{
"content": [
{
"type": "text",
"text": {
"name": "Example Product",
"price": 99.99,
"description": "This is an example product description"
}
}
],
"isError": false
}urls: array de URL de las que extraer informaciónprompt: prompt personalizado para la extracción con el LLMschema: esquema JSON para la extracción de datos estructuradosallowExternalLinks: permite extraer información de enlaces externosenableWebSearch: habilita la búsqueda web para obtener contexto adicionalincludeSubdomains: incluye subdominios en la extracción
Al utilizar una instancia autogestionada, la extracción usará el LLM configurado. En la API en la nube, se usa el servicio de LLM gestionado por Firecrawl.
Agente autónomo de investigación web que navega por Internet de forma independiente, busca información, recorre páginas y extrae datos estructurados según tu consulta. Se ejecuta de forma asíncrona: devuelve un ID de trabajo de inmediato y consultas firecrawl_agent_status para comprobar cuándo ha finalizado y recuperar los resultados.
{
"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" }
}
}
}
}
}
}
}También puedes proporcionar URL específicas para que el agente se centre en ellas:
{
"name": "firecrawl_agent",
"arguments": {
"urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
"prompt": "Compare the features and pricing information from these pages"
}
}prompt: Descripción en lenguaje natural de los datos que quieres obtener (obligatorio, máximo 10.000 caracteres)urls: Array opcional de URL para que el agente se centre en páginas específicasschema: Esquema JSON opcional para obtener una salida estructurada
Ideal para: Tareas de investigación complejas en las que no conoces las URL exactas; recopilación de datos de múltiples fuentes; búsqueda de información dispersa por la web; extracción de datos de SPA con mucho JavaScript que fallan con el scraping convencional.
Devuelve: ID de trabajo para consultar el estado. Usa firecrawl_agent_status para sondear los resultados.
Consulta el estado de un trabajo de agente y recupera los resultados cuando finalice. Consulta el estado cada 15-30 segundos y continúa haciéndolo durante al menos 2-3 minutos antes de considerar que la solicitud ha fallado.
{
"name": "firecrawl_agent_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}id: ID del trabajo del agente devuelto porfirecrawl_agent(obligatorio)
Estados posibles:
processing: El agente sigue investigando -- continúa consultandocompleted: La investigación ha finalizado -- la respuesta incluye los datos extraídosfailed: Se produjo un error
Devuelve: El estado, el progreso y los resultados (si se ha completado) del trabajo del agente.
Interactúa con una página en una sesión activa del navegador: haz clic en botones, completa formularios, extrae contenido dinámico o navega a mayor profundidad.
Usa uno de estos dos modos de selección:
- Pasa
urlpara abrir e interactuar con una página nueva en una sola llamada MCP. - Pasa el
scrapeIdde una llamada anterior afirecrawl_scrapepara reutilizar la página ya cargada.
No pases url y scrapeId a la vez. Proporciona prompt o code. scrapeOptions solo se puede usar en el modo url.
Ejemplo del modo URL:
{
"name": "firecrawl_interact",
"arguments": {
"url": "https://example.com/products",
"prompt": "Click on the first product and tell me its price"
}
}Ejemplo de reutilización de scraping:
{
"name": "firecrawl_interact",
"arguments": {
"scrapeId": "scrape-id-from-previous-scrape",
"prompt": "Click the Sign In button"
}
}url: Página con la que interactuar; abre la sesión automáticamente. Usa este parámetro oscrapeId.scrapeId: ID de trabajo de scraping de una llamada anterior afirecrawl_scrape. Usa este parámetro ourl.prompt: Instrucción en lenguaje natural que describe la acción que se debe realizar. Proporcionapromptocode.code: Código que se ejecutará en la sesión del navegador. Proporcionacodeoprompt.language:bash,pythononode(opcional; el valor predeterminado esnode; solo se usa concode).timeout: Tiempo máximo de ejecución en segundos, de 1 a 300 (opcional; el valor predeterminado es 30).scrapeOptions: Controles de scraping opcionales que solo se usan con el modourl.
Ideal para: Flujos de trabajo de varios pasos en una sola página: buscar en un sitio, hacer clic en los resultados, rellenar formularios y extraer datos que requieren interacción.
Devuelve: El resultado de la interacción, incluidas las URL de salida y de vista en vivo.
Detén una sesión de Interact para una página extraída. Úsalo cuando termines de interactuar para liberar recursos.
{
"name": "firecrawl_interact_stop",
"arguments": {
"scrapeId": "scrape-id-from-previous-scrape"
}
}scrapeId: El ID de scraping de la sesión que se va a detener (obligatorio)
Devuelve: Confirmación de que la sesión se ha detenido.
Usa las herramientas de investigación de solo lectura para revisar la bibliografía, inspeccionar artículos, descubrir citas y buscar repositorios públicos de GitHub.
| Herramienta | Propósito |
|---|---|
firecrawl_research_search_papers | Buscar artículos de investigación |
firecrawl_research_inspect_paper | Inspeccionar los metadatos y detalles de un artículo |
firecrawl_research_related_papers | Encontrar artículos relacionados con un artículo de referencia |
firecrawl_research_read_paper | Leer el contenido disponible de un artículo |
firecrawl_research_search_github | Buscar repositorios públicos de GitHub |
Estas herramientas no forman parte de la oferta alojada sin clave.
Crea y gestiona monitores de páginas recurrentes. Los monitores ejecutan comprobaciones programadas, comparan los resultados con instantáneas almacenadas y pueden enviar notificaciones mediante webhooks o correo electrónico.
{
"name": "firecrawl_monitor_create",
"arguments": {
"page": "https://example.com/pricing",
"goal": "Alert when pricing, packaging, or launch messaging changes."
}
}| Herramienta | Finalidad |
|---|---|
firecrawl_monitor_create | Crear un monitor de página o de rastreo |
firecrawl_monitor_list | Listar monitores |
firecrawl_monitor_get | Obtener un monitor |
firecrawl_monitor_update | Actualizar un monitor |
firecrawl_monitor_run | Ejecutar una comprobación ahora |
firecrawl_monitor_delete | Eliminar un monitor |
firecrawl_monitor_checks | Listar las comprobaciones de un monitor |
firecrawl_monitor_check | Obtener una comprobación de página y su diff |
firecrawl_monitor_delete elimina un monitor de forma permanente. Un cliente MCP solo debe llamarlo si el usuario ha indicado explícitamente que desea eliminar ese monitor.
El servidor incluye un registro completo de:
- El estado y el progreso de las operaciones
- Métricas de rendimiento
- Supervisión del uso de créditos
- Seguimiento de los límites de tasa
- Condiciones de error
Ejemplos de mensajes de registro:
[INFO] Firecrawl MCP Server inicializado correctamente
[INFO] Iniciando scraping de la URL: https://example.com
[INFO] Iniciando rastreo de la URL: https://example.com
[WARNING] El uso de créditos alcanzó el umbral de advertencia
[ERROR] Límite de tasa excedido, reintentando en 2 s...El servidor ofrece un sólido manejo de errores:
- Reintentos automáticos ante errores transitorios
- Manejo de límites de tasa con backoff
- Mensajes de error detallados
- Advertencias sobre el uso de créditos
- Resiliencia de red
Ejemplo de respuesta de error:
{
"content": [
{
"type": "text",
"text": "Error: Rate limit exceeded. Retrying in 2 seconds..."
}
],
"isError": true
}