Skip to main content
Glama
codyde

MCP Firecrawl Server

by codyde

Servidor Firecrawl de MCP

Este es un servidor MCP simple que proporciona herramientas para rastrear sitios web y extraer datos estructurados utilizando las API de Firecrawl.

Configuración

  1. Instalar dependencias:

npm install
  1. Cree un archivo .env en el directorio raíz con las siguientes variables:

FIRECRAWL_API_TOKEN=your_token_here
SENTRY_DSN=your_sentry_dsn_here
  • FIRECRAWL_API_TOKEN (obligatorio): Su token de API de Firecrawl

  • SENTRY_DSN (opcional): Sentry DSN para seguimiento de errores y monitoreo del rendimiento

  1. Iniciar el servidor:

npm start

Alternativamente, puede configurar variables de entorno directamente al ejecutar el servidor:

FIRECRAWL_API_TOKEN=your_token_here npm start

Related MCP server: WebSearch

Características

  • Extracción de sitios web : extraiga contenido de sitios web en varios formatos

  • Extracción de datos estructurados : extraiga puntos de datos específicos según esquemas personalizados

  • Seguimiento de errores : integrado con Sentry para el seguimiento de errores y la supervisión del rendimiento

Uso

El servidor expone dos herramientas:

  1. scrape-website : Extracción básica de sitios web con múltiples opciones de formato

  2. extract-data : Extracción de datos estructurados basada en indicaciones y esquemas

Herramienta: scrape-website

Esta herramienta raspa un sitio web y devuelve su contenido en los formatos solicitados.

Parámetros:

  • url (cadena, obligatoria): la URL del sitio web que se va a rastrear

  • formats (matriz de cadenas, opcional): Matriz de formatos de salida deseados. Los formatos admitidos son:

    • "markdown" (predeterminado)

    • "html"

    • "text"

Ejemplo de uso con MCP Inspector:

# Basic usage (defaults to markdown)
mcp-inspector --tool scrape-website --args '{
  "url": "https://example.com"
}'

# Multiple formats
mcp-inspector --tool scrape-website --args '{
  "url": "https://example.com",
  "formats": ["markdown", "html", "text"]
}'

Herramienta: extraer datos

Esta herramienta extrae datos estructurados de sitios web basándose en un esquema y una solicitud proporcionados.

Parámetros:

  • urls (matriz de cadenas, obligatoria): Matriz de URL de las que extraer datos

  • prompt (cadena, obligatorio): el mensaje que describe qué datos extraer

  • schema (objeto, requerido): Definición del esquema para los datos a extraer

La definición del esquema debe ser un objeto donde las claves sean nombres de campo y los valores sean tipos. Los tipos admitidos son:

  • "string" : para campos de texto

  • "boolean" : para campos verdaderos/falsos

  • "number" : para campos numéricos

  • Matrices: se especifican como ["type"] donde el tipo es uno de los anteriores

  • Objetos: objetos anidados con sus propias definiciones de tipo

Ejemplo de uso con MCP Inspector:

# Basic example extracting company information
mcp-inspector --tool extract-data --args '{
  "urls": ["https://example.com"],
  "prompt": "Extract the company mission, whether it supports SSO, and whether it is open source.",
  "schema": {
    "company_mission": "string",
    "supports_sso": "boolean",
    "is_open_source": "boolean"
  }
}'

# Complex example with nested data
mcp-inspector --tool extract-data --args '{
  "urls": ["https://example.com/products", "https://example.com/pricing"],
  "prompt": "Extract product information including name, price, and features.",
  "schema": {
    "products": [{
      "name": "string",
      "price": "number",
      "features": ["string"]
    }]
  }
}'

Ambas herramientas devolverán mensajes de error apropiados si el raspado o la extracción fallan y registrarán automáticamente los errores en Sentry si está configurado.

Solución de problemas

Si encuentra problemas:

  1. Verifique que su token de API de Firecrawl sea válido

  2. Comprueba que las URL que intentas extraer sean accesibles

  3. Para esquemas complejos, asegúrese de que sigan el formato admitido

  4. Revise los registros de Sentry para obtener información detallada de errores (si está configurado)

Available Tools

2 tools
extract-dataD
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
promptYes
schemaYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrape-websiteD
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
formatsNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedextract-data
    • First observedscrape-website

TDQS

D1.4/5.0

Scored across 2 tools

Disambiguation2/5

The two tools have overlapping purposes that could cause confusion. 'extract-data' and 'scrape-website' both appear to involve retrieving data from websites, with no clear distinction in their descriptions. While they might target different aspects of web data extraction, the lack of descriptions makes it impossible to determine their boundaries, leading to potential misselection.

Naming Consistency4/5

The tool names follow a consistent snake_case pattern with verb_noun structure (extract-data, scrape-website). Both use clear action verbs ('extract' and 'scrape') paired with nouns ('data' and 'website'), making them readable and predictable. There are no deviations in naming style across the two tools.

Tool Count2/5

With only 2 tools, the server feels under-scoped for a web scraping/ data extraction domain, which typically requires more operations like configuration, filtering, or handling different data formats. This limited set may force agents to work around gaps, as basic CRUD or lifecycle coverage is incomplete.

Completeness1/5

The tool surface is severely incomplete for a web scraping server. There are obvious gaps such as no tools for configuring scraping parameters, handling authentication, managing jobs, or processing extracted data. Without descriptions, it's unclear what these tools do, but the lack of supporting operations suggests agents will face dead ends in typical workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A server that provides web scraping and intelligent content searching capabilities using the Firecrawl API, enabling AI agents to extract structured data from websites and perform content searches.
    5
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables web scraping, crawling, and content extraction capabilities through integration with Firecrawl.
    8
    129,393 npm
    2
    MIT