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

# OpenAIエージェントでMCPによるウェブ検索とスクレイピングを利用する

> Responses APIのMCPツールを使って、OpenAIモデルでFirecrawlのウェブ検索とスクレイピングを利用できるようにします

Responses API でホスト型MCPサーバーをリモートの `mcp` ツールとして追加すると、OpenAI のモデルを Firecrawl に接続できます。OpenAI が Firecrawl のツール一覧を取得し、モデルはそれらのツールを呼び出してウェブを検索したり、ページの内容を読み取ったりします。

<Note>
  OpenAI のドキュメントによると、Agent Builder は 2026 年 11 月 30 日に提供終了となる予定です。このページで紹介するリモート MCP ツールは Agent Builder に依存しません。
</Note>

<h2 id="requirements">
  前提条件
</h2>

* `OPENAI_API_KEY` に設定した OpenAI APIキーと、`openai` Python パッケージ
* `FIRECRAWL_API_KEY` に設定した [Firecrawl APIキー](https://www.firecrawl.dev/app/api-keys)

<h2 id="quick-setup">
  クイックセットアップ
</h2>

`tools` リストに Firecrawl サーバーを追加します。`authorization` フィールドには Firecrawl APIキーを指定し、`allowed_tools` でモデルが呼び出せるツールを制限します。

```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 は `authorization` の値を保存しないため、リクエストのたびに送信してください。データがサーバーに送信される前に各ツール呼び出しを確認したい場合は、`require_approval` を `"always"` に設定します。

キーベースの接続について詳しくは、[APIキーを設定する](/ja/mcp-server/keyless#add-an-api-key)を参照してください。このセットアップでは OpenAI が MCP サーバーへの接続を代行するため、コードから Firecrawl API を直接呼び出すことはありません。

<h2 id="try-it">
  試してみる
</h2>

```text theme={null}
ウェブを検索して TypeScript の最新リリースノートを探し、ソースの内容を要約してください。
```

```text theme={null}
https://firecrawl.dev をスクレイピングして、その機能を説明してください。
```

<h2 id="what-you-can-do">
  できること
</h2>

<CardGroup cols={2}>
  <Card title="Search" icon="magnifying-glass" href="/ja/features/search">
    最新の情報を検索し、関連する結果のコンテンツを取得します。
  </Card>

  <Card title="Scrape" icon="file-lines" href="/ja/features/scrape">
    URLをクリーンなMarkdownや構造化データに変換します。
  </Card>

  <Card title="Interact" icon="hand-pointer" href="/ja/features/interact">
    ページ遷移、クリック、フォーム入力を行い、必要なデータにアクセスします。
  </Card>

  <Card title="Alexandria" icon="books" href="/ja/features/alexandria">
    構造化データツールを探し、入力パラメータと料金を確認したうえで、Firecrawl経由で実行します。
  </Card>
</CardGroup>

<h2 id="troubleshooting">
  トラブルシューティング
</h2>

* **ツールの一覧取得中にリクエストが失敗する:** `server_url` が `https://mcp.firecrawl.dev/v2/mcp` と完全に一致していること、およびスクリプトを実行する環境に `FIRECRAWL_API_KEY` が設定されていることを確認してください。
* **サーバーが `401` を返す:** OpenAI はリクエスト間で `authorization` の値を保持しないため、キーを差し替えてからリクエストを再送信してください。
* **ツールが見つからない:** `allowed_tools` にそのツール名を追加するか、`allowed_tools` を削除してサーバーが公開するすべてのツールをインポートしてください。
* **モデルが Firecrawl を使用せずに回答する:** プロンプト内でツール名を明示してください(例: 「Use firecrawl\_search to find...」)。


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