> ## 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 el Vercel AI SDK

> Conecta el cliente MCP del Vercel AI SDK al servidor MCP alojado de Firecrawl para hacer búsquedas web y scraping

Conecta el cliente MCP del [Vercel AI SDK](https://ai-sdk.dev) al servidor MCP alojado de Firecrawl y usa las herramientas de Firecrawl en `generateText` y `streamText`.

<Note>
  ¿Prefieres usar las herramientas de Firecrawl empaquetadas como herramientas del AI SDK en lugar de una conexión MCP? Consulta la [guía del Vercel AI SDK](/es/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk).
</Note>

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

[Crea una clave de API de Firecrawl](https://www.firecrawl.dev/app/api-keys) y luego instala el AI SDK y su paquete MCP:

```bash theme={null}
npm install ai @ai-sdk/mcp
export FIRECRAWL_API_KEY="fc-YOUR-API-KEY"
```

Crea el cliente con el transporte HTTP y tu clave en la cabecera `Authorization`:

```typescript theme={null}
import { createMCPClient } from '@ai-sdk/mcp';

const mcpClient = await createMCPClient({
  transport: {
    type: 'http',
    url: 'https://mcp.firecrawl.dev/v2/mcp',
    headers: { Authorization: `Bearer ${process.env.FIRECRAWL_API_KEY}` },
  },
});

const tools = await mcpClient.tools();
console.log(Object.keys(tools));
```

La lista incluye `firecrawl_scrape`, `firecrawl_search`, `firecrawl_map` y `firecrawl_crawl`. Pasa `tools` a `generateText` o `streamText` como se describe en la [guía de MCP del AI SDK](https://ai-sdk.dev/docs/ai-sdk-core/mcp-tools) y cierra el cliente con `await mcpClient.close()` cuando termine la respuesta.

¿Prefieres un proceso local? Usa el transporte stdio del AI SDK con `npx -y firecrawl-mcp` y `FIRECRAWL_API_KEY` en `env`, aunque el AI SDK recomienda HTTP en producción.

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

Llama directamente a una herramienta para comprobar la conexión:

```typescript theme={null}
const result = await tools.firecrawl_scrape.execute(
  { url: 'https://firecrawl.dev', formats: ['markdown'], onlyMainContent: true },
  { toolCallId: 'test', messages: [] },
);
console.log(result.content[0].text.slice(0, 300));
await mcpClient.close();
```

Luego, pasa las herramientas a un modelo con un prompt como este:

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

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

* **Errores de autenticación:** comprueba que `FIRECRAWL_API_KEY` esté definida en el proceso que ejecuta el cliente y que la cabecera tenga el formato `Bearer <key>`.
* **Errores de redirección:** el cliente de AI SDK rechaza las redirecciones de forma predeterminada; usa exactamente la URL `https://mcp.firecrawl.dev/v2/mcp`.
* **Handles abiertos al terminar un script:** llama a `mcpClient.close()` cuando termines de usar las herramientas.


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