> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Búsqueda web y scraping con MCP en agentes de OpenAI

> Dota a los modelos de OpenAI de búsqueda web y scraping con Firecrawl mediante la herramienta MCP de la API Responses

Conecta los modelos de OpenAI a Firecrawl añadiendo el servidor MCP alojado como herramienta `mcp` remota en la API Responses. OpenAI muestra las herramientas de Firecrawl y el modelo las invoca para buscar en la web y leer páginas.

<Note>
  Según la documentación de OpenAI, está previsto que Agent Builder deje de estar disponible el 30 de noviembre de 2026. La herramienta MCP remota de esta página no depende de Agent Builder.
</Note>

<h2 id="requirements">
  Requisitos
</h2>

* Una clave de API de OpenAI en `OPENAI_API_KEY` y el paquete de Python `openai`.
* Una [clave de API de Firecrawl](https://www.firecrawl.dev/app/api-keys) en `FIRECRAWL_API_KEY`.

<h2 id="quick-setup">
  Configuración rápida
</h2>

Agrega el servidor de Firecrawl a la lista `tools`. El campo `authorization` contiene tu clave de API de Firecrawl y `allowed_tools` limita las herramientas que el modelo puede invocar:

```python theme={null}
import os
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    tools=[
        {
            "type": "mcp",
            "server_label": "firecrawl",
            "server_description": "Search the web and read pages as Markdown.",
            "server_url": "https://mcp.firecrawl.dev/v2/mcp",
            "authorization": os.environ["FIRECRAWL_API_KEY"],
            "allowed_tools": ["firecrawl_search", "firecrawl_scrape"],
            "require_approval": "never",
        }
    ],
    input="Search the web for the latest Next.js release notes and summarize the sources.",
)

print(response.output_text)
```

OpenAI no almacena el valor de `authorization`, así que debes enviarlo en cada solicitud. Establece `require_approval` en `"always"` si quieres revisar cada llamada de herramienta antes de que se envíen datos al servidor.

Consulta [Configurar una clave de API](/es/mcp-server/keyless#add-an-api-key) para obtener más información sobre las conexiones con clave. Con esta configuración, tu código no realiza llamadas directas a la API de Firecrawl, ya que OpenAI se conecta al servidor MCP por ti.

<h2 id="try-it">
  Pruébalo
</h2>

```text theme={null}
Busca en la web las notas de la versión más recientes de TypeScript y resume las fuentes.
```

```text theme={null}
Haz scraping de https://firecrawl.dev y explica qué hace.
```

<h2 id="what-you-can-do">
  Qué puedes hacer
</h2>

<CardGroup cols={2}>
  <Card title="Search" icon="magnifying-glass" href="/es/features/search">
    Encuentra información actualizada y lee el contenido de los resultados relevantes.
  </Card>

  <Card title="Scrape" icon="file-lines" href="/es/features/scrape">
    Convierte URL en markdown limpio o en datos estructurados.
  </Card>

  <Card title="Interact" icon="hand-pointer" href="/es/features/interact">
    Navega, haz clic y rellena formularios para acceder a los datos que necesitas.
  </Card>

  <Card title="Alexandria" icon="books" href="/es/features/alexandria">
    Descubre herramientas de datos estructurados, inspecciona sus parámetros de entrada y precios, y ejecútalas a través de Firecrawl.
  </Card>
</CardGroup>

<h2 id="troubleshooting">
  Solución de problemas
</h2>

* **La solicitud falla al listar las herramientas:** comprueba que `server_url` sea exactamente `https://mcp.firecrawl.dev/v2/mcp` y que `FIRECRAWL_API_KEY` esté definida en el entorno donde se ejecuta el script.
* **El servidor devuelve `401`:** reemplaza la clave y vuelve a enviar la solicitud, ya que OpenAI no conserva el valor de `authorization` entre solicitudes.
* **Falta una herramienta:** añade su nombre a `allowed_tools` o elimina `allowed_tools` para importar todas las herramientas que expone el servidor.
* **El modelo responde sin utilizar Firecrawl:** indica el nombre de la herramienta en tu prompt, por ejemplo: "Usa firecrawl\_search para encontrar...".


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.