> ## 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.

# Pesquisa na web e scraping via MCP no Vercel AI SDK

> Conecte o cliente MCP do Vercel AI SDK ao servidor MCP hospedado do Firecrawl para pesquisa na web e raspagem

Conecte o cliente MCP do [Vercel AI SDK](https://ai-sdk.dev) ao servidor MCP hospedado do Firecrawl e use as ferramentas do Firecrawl em `generateText` e `streamText`.

<Note>
  Prefere usar as ferramentas do Firecrawl empacotadas como ferramentas do AI SDK em vez de uma conexão MCP? Veja o [guia do Vercel AI SDK](/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk).
</Note>

<h2 id="quick-setup">
  Configuração rápida
</h2>

[Crie uma chave de API do Firecrawl](https://www.firecrawl.dev/app/api-keys) e, em seguida, instale o AI SDK e o respectivo pacote MCP:

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

Crie o cliente com o transporte HTTP e sua chave no cabeçalho `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));
```

A lista inclui `firecrawl_scrape`, `firecrawl_search`, `firecrawl_map` e `firecrawl_crawl`. Passe `tools` para `generateText` ou `streamText`, conforme descrito no [guia de MCP do AI SDK](https://ai-sdk.dev/docs/ai-sdk-core/mcp-tools), e feche o cliente com `await mcpClient.close()` ao final da resposta.

Prefere um processo local? Use o transporte stdio do AI SDK com `npx -y firecrawl-mcp` e `FIRECRAWL_API_KEY` em `env`. Para produção, o AI SDK recomenda HTTP.

<h2 id="try-it">
  Experimente
</h2>

Chame uma ferramenta diretamente para confirmar a conexão:

```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();
```

Em seguida, passe as ferramentas para um modelo com um prompt como:

```text theme={null}
Faça uma busca na web pelas notas de versão mais recentes do Next.js e resuma as fontes.
```

<h2 id="troubleshooting">
  Solução de problemas
</h2>

* **Erros de autenticação:** confirme que `FIRECRAWL_API_KEY` está definida no processo que executa o cliente e que o cabeçalho está no formato `Bearer <key>`.
* **Erros de redirecionamento:** o cliente do AI SDK rejeita redirecionamentos por padrão; use exatamente a URL `https://mcp.firecrawl.dev/v2/mcp`.
* **Handles abertos após o fim de um script:** chame `mcpClient.close()` quando terminar de usar as ferramentas.


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