Claude Media
Firecrawl MCPをClaude Codeにつなぐ手順と無料枠・料金

Firecrawl MCPをClaude Codeにつなぐ手順と無料枠・料金

Firecrawl公式MCPサーバーをClaude Codeに接続する手順です。APIキーなしの無料枠で使えるツール、検索のクレジット消費、クロールの使い分けを説明します。

FirecrawlのMCPサーバーは、URLを指定したページ取得からサイト全体のクロール、Web検索までをClaude Codeから自然言語で呼び出せる公式ツールです。APIキーなしの無料枠でも一部ツールが動き、キーを設定すればクロールやAIリサーチエージェントまで使えるようになります。

Claude Codeへの接続はclaude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcpの1行です。料金面では、キーなしのscrape・search・parseが無料でレート制限付きです。キーありの検索は1回2クレジットを消費します。返金の仕組みと上限は後半の料金の節で扱います。

Firecrawl MCPサーバーとは

Firecrawl MCPサーバーとは、Webスクレイピング・検索サービスFirecrawlが提供するMCP(Model Context Protocol)サーバーです。Claude CodeをはじめとするMCP対応クライアントから、Firecrawlの機能を呼び出せるようにします。単一ページの取得だけでなく、サイト内URLの発見、複数ページのクロール、Web検索、動的ページでのクリックやフォーム入力まで、Web関連の操作をひとつの接続にまとめている点が特徴です。

リポジトリはfirecrawl/firecrawl-mcp-serverで、MITライセンスのもと公開されています。GitHubのスターは7,500以上です。旧名のmendableai/firecrawl-mcp-serverのURLは、現在のリポジトリへ301でリダイレクトされます。Store上のActorから目的に合うものを選ぶ方式はClaudeとApifyの連携で扱っています。

数字

ツール数は接続先で変わる

  • フルプロファイル

    27個

    APIキーあり。既定設定

  • キーなしのホスティング

    3個

    scrape・search・parse

  • 検索専用エンドポイント

    9個

    /v2/mcp-search。固定の構成

フルプロファイルの27個は、フィードバック系ツールを含む既定設定の数です

ツール数はクライアント側の上限にも関わります。Claude Codeに追加するとツール定義がコンテキストを占めるので、使う用途に合わせて接続先を選ぶ意味があります。

接続方式の選び方

接続方式によって使えるツールの範囲と手順が変わります。まずは自分の用途に合う方式を決めます。

くらべる

Claude Codeにつなぐ3つの経路

まず試す

ホスティング(キーなし)

接続先はhttps://mcp.firecrawl.dev/v2/mcpです。使えるのはscrape・search・parseの3つで、レート制限があります。crawl・map・agentはキーが要ります。

本格利用

ホスティング(キーあり)

同じURLにAuthorizationヘッダーでBearerトークンを付けます。crawl・map・agentを含むフルセットが使えます。アカウント連携のOAuth用には別のURLhttps://mcp.firecrawl.dev/v2/mcp-oauthが用意されています。

手元で動かす

ローカル(npx)

stdioのローカルプロセスで、フルセットを使えます。FIRECRAWL_API_URLを設定すると、セルフホストのFirecrawl APIも指定できます。

試しにキーなしで動かしたい場合は、HTTPトランスポートでホスティングエンドポイントに接続するだけです。

claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp

本格的に使うにはFirecrawlのアカウントでAPIキーを発行し、AuthorizationヘッダーにBearerトークンとして渡します。READMEは、APIキーをサーバーURLに含めたりエージェントとのチャットに貼ったりせず、クライアントのヘッダー設定やシークレット管理に置くよう求めています。

claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp \
  --header "Authorization: Bearer YOUR_FIRECRAWL_API_KEY"

ローカルプロセスとして起動したい場合は、npx経由のstdioサーバーとして追加します。環境変数FIRECRAWL_API_KEYをそのまま渡せます。

claude mcp add --env FIRECRAWL_API_KEY=fc-YOUR_API_KEY --transport stdio firecrawl -- npx -y firecrawl-mcp

Claude Desktopで使う場合は、claude_desktop_config.jsonに同じcommand・args・envのJSONブロックを書きます。設定の考え方は共通です。--scopeやヘッダー指定の詳しい構文はClaude Code MCP設定ガイドにあります。

-eの直後にサーバー名を書くと失敗する

claude mcp addの環境変数オプションは-e, --env <env...>と複数値を取る形です。v2.1.289で、-eの直後にサーバー名を置いて試すとエラーになります。

claude mcp add --scope project -e FIRECRAWL_API_KEY=fc-EXAMPLE fc3 -- npx -y firecrawl-mcp
# Invalid environment variable format: fc3, environment variables should be added as: -e KEY1=value1 -e KEY2=value2

サーバー名fc3が環境変数の2つ目の値として読まれるためです。--transport stdioのような別のオプションを間に挟むか、サーバー名を-eより前に置くと追加できます。上のstdio例が--transport stdio firecrawlの順で書かれているのはこのためです。

--scope projectで追加すると、作業ディレクトリの.mcp.jsonに次の形で書き込まれます。HTTP版はヘッダー付きで、stdio版はenvにキーが入ります。

{
  "mcpServers": {
    "firecrawl": {
      "type": "http",
      "url": "https://mcp.firecrawl.dev/v2/mcp",
      "headers": { "Authorization": "Bearer fc-EXAMPLE" }
    },
    "firecrawl-local": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-EXAMPLE" }
    }
  }
}

.mcp.jsonはリポジトリで共有されやすいファイルです。実際のキーを直接書いたままコミットしないよう、環境変数展開などの仕組みを使います。

目的別のツールの選び方

Firecrawl MCPサーバーは用途別に複数のツールを公開しています。READMEの選び方を、目的から引ける形にすると次のとおりです。

やりたいこと使うツールポイント
既知のURL1件から内容を取得使うツールfirecrawl_scrapeポイントJSON形式+スキーマ指定が推奨される
サイト内のURL一覧だけ知りたい使うツールfirecrawl_mapポイントページ内容は取得しない
検索クエリから関連ページを探す使うツールfirecrawl_searchポイントscrapeOptionsで本文も同時に取得できる
サイト内の複数ページをまとめて取得使うツールfirecrawl_crawlポイントlimitやmaxDiscoveryDepthで範囲を絞る
クリックや入力が必要な動的ページ使うツールfirecrawl_interactポイントscrapeIdでセッションを継続できる
複数サイトにまたがる情報を集める使うツールfirecrawl_agentポイント非同期ジョブ。firecrawl_agent_statusで確認する
PDFやWord文書を読む使うツールfirecrawl_parseポイントホスティングでは2段階の読み込み

このほかにも、米国の法令・判例を引くfirecrawl_gov_search、論文検索のfirecrawl_research_*、定期巡回のfirecrawl_monitor_*、GitHubのissueやREADMEを引くfirecrawl_developer_search、残りクレジットを返すfirecrawl_credit_usageがあります。フィードバック用ツールはFIRECRAWL_NO_SEARCH_FEEDBACK=1・FIRECRAWL_NO_ENDPOINT_FEEDBACK=1で登録しないようにでき、ツール数の上限があるクライアントで数を減らせます。

サイトを丸ごと調べるときの順序

サイト全体の情報が欲しいとき、最初からcrawlを呼ぶと返るデータが大きくなりすぎます。READMEは、crawlの応答がトークン上限を超えうると警告し、map+scrapeでの絞り込みを勧めています。

手順

map → scrape → crawlの順に範囲を狭める

  1. 1

    mapでURLの全体像だけ掴む

    firecrawl_mapはページ内容を取らずURLだけを返します。対象サイトの構造を、コンテキストをほとんど使わずに把握できます。

  2. 2

    欲しいページだけscrapeする

    目的のURLが絞れたら、firecrawl_scrapeをJSON形式とスキーマ付きで呼びます。欲しいフィールドだけが返るので、レスポンスが小さく済みます。

  3. 3

    同じ構造のページが多いときだけcrawlする

    firecrawl_crawlはlimit・maxDiscoveryDepth・includePaths・excludePathsで範囲を決めて呼びます。READMEの例はmaxDiscoveryDepth: 2・limit: 100です。

複数のURLをまとめて取りたいときは、firecrawl_scrapeをURLごとに呼びます。一括処理が必要なら、MCPの外でFirecrawl APIのバッチエンドポイントを使います。crawlは内部で状態をポーリングして最終結果を返し、返ったidはfirecrawl_check_crawl_statusで再確認に使えます。

検索・リサーチ系ツールの使い分け

通常のWeb検索のほかに、開発者向けや論文向けの検索があります。

  • firecrawl_search: 通常のWeb検索です。categories: ["research"]は、論文寄りのサイトに結果を絞るフィルタです。論文そのものの検索ではありません。
  • firecrawl_developer_search: GitHubのissue・マージ済みPull Request・README・ドキュメントを対象にしたインデックスを引きます。エラーメッセージや既知のバグを調べるときに向きます。skillsを"only"にするとAgent Skillsファイルだけに絞れ、kで返す件数(既定10、最大100)を指定できます。
  • firecrawl_research_*: PubMed・bioRxiv・medRxiv・arXivなどの論文を扱う4つのツールです。search_papersで検索し、inspect_paperでメタデータ、related_papersで引用関係の展開、read_paperで本文の読み込みをします。
  • firecrawl_agent: URLが分からない、または複数サイトにまたがる調査向けの非同期ツールです。プロンプトと任意のJSONスキーマを渡すとジョブIDが返り、firecrawl_agent_statusで完了を待ちます。URLが1つ分かっているなら、scrapeのJSON形式のほうが速く安価です。

検索専用エンドポイントhttps://mcp.firecrawl.dev/v2/mcp-searchは、firecrawl_search・firecrawl_developer_search・firecrawl_gov_search・firecrawl_research_*の4つ・Alexandria用のfirecrawl_find_toolsとfirecrawl_scrapeの計9つに固定されています。ここのfirecrawl_searchはページ本文を取得しません。

Alexandriaでデータ提供元を呼ぶ

Alexandriaは、Firecrawl APIから呼べるデータ提供元のカタログです。利用にはAlexandriaの権限があるチームのAPIキーが必要で、キーなしのセッションではエラーになります。使い方は、firecrawl_searchにsources: ["web", "alexandria"]を渡して候補を探し、firecrawl_find_toolsでカテゴリ→提供元→ツールの順に契約(入力と応答の形)を絞り込み、firecrawl_scrapeのalexandria引数で実行する流れです。

動的ページの操作と定期監視

クリックやフォーム入力が必要なページにはfirecrawl_interactを使います。新規ページならurl、すでにscrapeで開いたページの続きならscrapeIdをどちらか一方だけ渡し、prompt(自然言語の指示)かcodeのどちらかを指定します。操作が終わったセッションはfirecrawl_interact_stopで閉じます。

1回の呼び出しは1つのプロンプトまたはコードの実行で完結します。クライアント側から1手ずつ操作を積み重ねたい用途は、設計の想定外です。ホスティングサーバーのfirecrawl_scrapeは読み取り専用で、ブラウザのactionsを受け付けません。操作が要るページはinteractを使います。

同じページを定期的にチェックしたい場合はfirecrawl_monitor_*が使えます。page(またはpages)とgoal(変更検知の条件)を渡すと、30分間隔のスケジュールでスクレイピングと差分判定が設定されます。変更はwebhookやメールで通知でき、firecrawl_monitor_checkで差分(diff)や判定結果を取得します。goalは2〜3文で、何を警告の対象にするかと除外したい変化を書く形がREADMEで勧められています。

自前でクローラーを組むなら、Scrapyのspiderをrobots.txt遵守とcontractsで固める手順も選べます。

スクレイピングを頼んでみる

接続できたら、Claude Codeへの指示は具体的なURLと欲しい情報を伝えるだけで足ります。

https://example.com/product の商品名・価格・説明をJSON形式で取得して

Claudeはfirecrawl_scrapeをJSON形式・スキーマ付きで呼び、指定したフィールドだけを返します。ページ全体の要約が必要なら「Markdown形式で本文を取得して」と伝えると、formats: ["markdown"]が選ばれます。サイト全体なら「example.comのブログ記事を最初の2階層まで、100件以内でクロールして」のように、深さと件数の目安を添えます。

firecrawl_scrapeには用途別の特殊フォーマットもあります。個人情報を含むページではredactPII: trueで、個人を特定できる情報を伏せた結果を受け取れます。配色・フォント・ロゴなどのブランド要素だけを抜くときはformats: ["branding"]を指定します。

PDFやWord文書を読み込む(parse)

ローカルのPDFやWord文書、スプレッドシートにはfirecrawl_parseを使います。ホスティングMCPはクライアントのファイルシステムを直接読めません。filePathを渡すと短命のアップロード用コマンドとnextToolCallが返ります。そのコマンドでファイルをアップロードし、返ってきたuploadRefを指定してfirecrawl_parseをもう一度呼ぶ、2段階の流れです。

ローカルのnpx firecrawl-mcpでファイルを直接読むには、FIRECRAWL_API_URLでセルフホストのFirecrawl APIを指定する必要があります。クラウドのAPIキーだけでは、この経路は動きません。

料金とレート制限の考え方

キーなしのホスティングでは、scrape・search・parseがレート制限付きで無料で使えます。ほかのツールはAPIキーが必須です。

検索(firecrawl_search)は1回2クレジットです。結果を使ったかどうかをfirecrawl_search_feedbackで送ると、検索IDごとに最初の1回だけ1クレジットが返ります。返金にはチーム単位・UTC日単位の上限(既定100クレジット)があります。上限に達すると応答にdailyCapReached: trueが付き、その日の以降のフィードバックは記録されても返金されません。

消費の確認にはfirecrawl_credit_usageを使えます。既定は{ "view": "current" }で、残りクレジットとプランのクレジット、課金期間の開始日・終了日を返します。トップアップなどがあると、残りがプランのクレジットを上回ることがあります。{ "view": "historical" }なら月ごとの消費量、byApiKey: trueならAPIキー別の内訳です。認証済みのアカウントが前提で、キーなしでは使えません。

自前のFirecrawlインスタンスは、FIRECRAWL_API_URLでエンドポイントを指定して使います。MCPサーバー自体の実装はMCPサーバー自作ガイドが参考になります。

よくあるつまずき

crawlの範囲を絞らずに実行する。limitやmaxDiscoveryDepthを大きくしすぎると、返るデータがコンテキストウィンドウを超えることがあります。READMEの「よくある間違い」にも同じ項目があります。

markdown形式を最初から使う。READMEはmarkdownを「全文が本当に必要なときだけ」としています。目的のフィールドが決まっているなら、最初からJSON形式にするほうがレスポンスが小さくなります。

OAuthトークンとAPIキーの優先順位。READMEによると、HTTPストリーム系のモード(CLOUD_SERVICE=true・HTTP_STREAMABLE_SERVER=true・SSE_LOCAL=true)では、OAuthのBearerトークン(fco_始まり)がx-firecrawl-api-keyなどのヘッダーより優先されます。両方を設定して挙動が変わらないときは、どちらが使われているかを見ます。リフレッシュトークン(fcr_)は渡さず、アクセストークンだけを使います。

キーなしでcrawlやmapが見つからない。ホスティングのキーなしで公開されるのは3つだけです。ツールが一覧に出ないときは、Authorizationヘッダーにキーが入っているかを見ます。

まとめ

まずはキーなしのホスティングでfirecrawl_scrapeとfirecrawl_searchを試し、crawlや構造化抽出が必要になった時点でAPIキーを発行してフルセットに切り替える進め方が扱いやすい構成です。サイト全体を相手にするときは、map、scrape、crawlの順に範囲を狭めると、トークンとクレジットの消費を抑えられます。ブラウザーの直接操作やスクリーンショット中心の用途では、Cloudflare Browser RenderingのMCPのような専用サーバーとの使い分けも考えられます。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. github.com/firecrawl/firecrawl-mcp-server
  2. code.claude.com/docs/en/mcp
この記事を共有:XはてブLinkedIn