> ## 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 com agentes da OpenAI

> Ofereça aos modelos da OpenAI pesquisa na web e raspagem com o Firecrawl por meio da ferramenta MCP da Responses API

Conecte modelos da OpenAI ao Firecrawl adicionando o servidor MCP hospedado como uma ferramenta `mcp` remota na Responses API. A OpenAI lista as ferramentas do Firecrawl, e o modelo as chama para fazer buscas na web e ler páginas.

<Note>
  A documentação da OpenAI informa que o Agent Builder será desativado em 30 de novembro de 2026. A ferramenta MCP remota descrita nesta página não depende do Agent Builder.
</Note>

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

* Uma API key da OpenAI em `OPENAI_API_KEY` e o pacote Python `openai`.
* Uma [chave de API do Firecrawl](https://www.firecrawl.dev/app/api-keys) em `FIRECRAWL_API_KEY`.

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

Adicione o servidor do Firecrawl à lista `tools`. O campo `authorization` contém sua chave de API do Firecrawl, e `allowed_tools` restringe as ferramentas que o modelo pode chamar:

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

A OpenAI não armazena o valor de `authorization`, então envie-o em todo request. Defina `require_approval` como `"always"` se quiser revisar cada chamada de ferramenta antes que os dados sejam enviados ao servidor.

Veja [Configurar uma API key](/pt-BR/mcp-server/keyless#add-an-api-key) para saber mais sobre conexões baseadas em chave. Com essa configuração, seu código não faz chamadas diretas à API do Firecrawl, pois a OpenAI se conecta ao servidor MCP por você.

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

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

```text theme={null}
Faça o scraping de https://firecrawl.dev e explique o que ele faz.
```

<h2 id="what-you-can-do">
  O que você pode fazer
</h2>

<CardGroup cols={2}>
  <Card title="Busca" icon="magnifying-glass" href="/pt-BR/features/search">
    Encontre informações atualizadas e leia o conteúdo dos resultados relevantes.
  </Card>

  <Card title="Scraping" icon="file-lines" href="/pt-BR/features/scrape">
    Converta URLs em markdown limpo ou dados estruturados.
  </Card>

  <Card title="Interagir" icon="hand-pointer" href="/pt-BR/features/interact">
    Navegue, clique e preencha formulários para chegar aos dados de que você precisa.
  </Card>

  <Card title="Alexandria" icon="books" href="/pt-BR/features/alexandria">
    Descubra ferramentas de dados estruturados, confira as entradas e os preços e execute-as pelo Firecrawl.
  </Card>
</CardGroup>

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

* **A request falha ao listar as ferramentas:** confirme se `server_url` é exatamente `https://mcp.firecrawl.dev/v2/mcp` e se `FIRECRAWL_API_KEY` está definida no ambiente que executa o script.
* **O servidor retorna `401`:** substitua a chave e envie a request novamente, pois a OpenAI não armazena o valor de `authorization` entre requisições.
* **Uma ferramenta não aparece:** adicione o nome dela a `allowed_tools` ou remova `allowed_tools` para importar todas as ferramentas expostas pelo servidor.
* **O modelo responde sem usar o Firecrawl:** mencione a ferramenta no seu prompt, por exemplo: "Use firecrawl\_search para encontrar...".


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