/ ディレクトリ / プレイグラウンド / Firecrawl
● 公式 firecrawl 🔑 自分のキーが必要

Firecrawl

作者 firecrawl · firecrawl/firecrawl-mcp-server

あらゆるWebページを、AIエージェントが実際に活用できるクリーンな構造化データに変換します。JS レンダリングサイトにも対応し、スキーマ経由で JSON を返します。

Firecrawl は LLM 向けに最適化されたホスティング型スクレイピングサービスです。基本的な fetch MCP が生の HTML を返すのに対し、Firecrawl は JS を多用したページをレンダリングし、ボイラープレートを除去し、クリーンな Markdown を返します。さらに JSON スキーマによる構造化抽出にも対応しています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

firecrawl.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "firecrawl",
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "firecrawl": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "firecrawl-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add firecrawl -- npx -y firecrawl-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Firecrawl

競合の料金比較表をリアルタイムで構築する

👤 PM、市場調査中の創業者 ⏱ ~20 min intermediate

使うタイミング: 価格戦略を見直しており、比較可能なプランについて競合 5 社の料金をソース付きで把握したいとき。

前提条件
  • Firecrawl API キー — firecrawl.dev — 無料枠で 500 クレジット(約 50 ページ分)
フロー
  1. 「料金」の意味をスキーマで定義する
    I want to compare pricing for [your category]. Define a schema that captures: plan name, monthly price, included usage, key features, and any per-unit overage costs.✓ コピーしました
    → 各フィールドが厳密な型で定義されたスキーマ
  2. 競合 5 社の URL に対して並列で抽出を実行する
    Extract pricing from these 5 URLs using the schema: [list URLs]. Use the structured extraction endpoint.✓ コピーしました
    → 比較可能な正規化済み JSON が 5 件
  3. 引用付きの比較表としてレンダリングする
    Render this as a Markdown table with each competitor as a column. Add a citation footnote pointing to each source URL.✓ コピーしました
    → ドキュメントやスライドにそのまま貼れる比較表

結果: いつでも再実行して変更を検知できる正規化済みの料金表。更新1回あたり約 5 Firecrawl クレジット。

注意点
  • 料金ページには月額/年額切り替えや利用量ティアのトグルがあり、スクレイピングでは取得できないことが多いactions: [{type: 'click', selector: '...toggle...'}] で両方の状態を取得するか、最終出力にその制約を明記する
  • Cloudflare でスクレイパーをブロックするサイトがある — Firecrawl は大半を処理可能。それでもブロックされる場合は意図的なボット対策なので、手動で引用する
組み合わせ: notion · google-sheets

競合のドキュメントサイトを監視して新機能を検知する

👤 プロダクトマーケター、競合インテリジェンス担当 ⏱ ~15 min intermediate

使うタイミング: 競合が新機能をリリースしたら 24 時間以内に知りたいとき。変更履歴やブログが発表の場になっている場合に有効。

前提条件
  • 変更履歴またはブログインデックスページの URL — 通常は /changelog、/blog、/releases、/whats-new にある
フロー
  1. 変更履歴のインデックスをクロールする
    Crawl <URL> with depth=1, return all post URLs and their dates. Limit to 50 most recent.✓ コピーしました
    → 日付付きの最新記事一覧
  2. 各記事を正規化されたフォーマットで抽出する
    For posts published in the last 30 days, extract title, date, summary, and any feature-name mentions, into JSON.✓ コピーしました
    → 先週の実行結果と差分比較可能な構造化された変更履歴
  3. 先週との差分をハイライトする
    Compare to the previous run [paste prior JSON]. What's new this week and what's the strategic implication?✓ コピーしました
    → 戦略的コメント付きの差分

結果: スケジュールジョブとして実行できる週次の競合ダイジェスト。機能リリースを見逃しません。

注意点
  • RSS フィードが存在する場合はスクレイピングより低コスト — まず <url>/feed.xml<url>/rss を試し、フィードがない場合のみスクレイピングにフォールバックする
組み合わせ: notion

企業 URL リストを構造化された企業情報データでエンリッチする

👤 営業、マーケティングオペレーション ⏱ ~30 min intermediate

使うタイミング: 200 社の企業サイト URL の CSV があり、アウトリーチの優先順位付けのために従業員数・業種・技術スタックが必要なとき。

前提条件
  • ソースとなる URL リスト — ホームページ URL の CSV またはテキストファイル
フロー
  1. エンリッチメント用スキーマを定義する
    Define a schema for: company_name, industry, employee_count_estimate, headquarters_location, primary_product_description (1 line), tech_stack_signals (list).✓ コピーしました
    → 厳密な JSON スキーマ
  2. レート制限付きで各 URL から抽出する
    For each URL in [list], run Firecrawl extract with the schema. Process in batches of 10 with 2-second pauses to stay polite.✓ コピーしました
    → URL ごとの JSON、エラーは別途ログ
  3. クリーンな CSV を出力する
    Convert results to CSV with the original URLs as the join key. Flag rows where extraction failed so I can retry manually.✓ コピーしました
    → CRM にインポート可能な CSV

結果: 200 行のエンリッチ済みリードリストが約 10 分、Firecrawl クレジット約 $2 で完成。

注意点
  • 情報のない 1 ページだけのスプラッシュサイトの企業もある — ハルシネーションせず、Claude にそれらを手動レビュー用としてフラグ付けさせる
  • 大規模になるとコストが嵩む — 10,000 URL は無視できない金額になる — 全件実行前にサンプルでスキーマの品質を検証する
組み合わせ: filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

firecrawl + notion

スクレイピング → 要約 → Notion ナレッジベースに直接投稿

Scrape every post from anthropic.com/news in the last 30 days, summarize each in 2 sentences, and create a Notion page in 'AI News' database for each.✓ コピーしました
firecrawl + postgres

競合データを毎週スクレイピングし、時系列分析用に DB に格納

Run my competitor-pricing extraction, then INSERT each row into the competitor_pricing table with today's date.✓ コピーしました
firecrawl + filesystem

ドキュメントサイトをスクレイピングし、オフライン RAG インデックス用に Markdown で保存

Crawl docs.stripe.com, save each page as a .md file under /knowledge/stripe/.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
firecrawl_scrape url: str, formats?: ['markdown'|'html'|'links'|'screenshot'] 単一ページのコンテンツをモデル用の Markdown として取得したいとき 1 credit per page
firecrawl_crawl url, limit, includePaths?, excludePaths?, maxDepth? サイトのセクション全体をスクレイピングしたいとき 1 credit per page crawled
firecrawl_extract urls: str[], schema: JSONSchema, prompt? 生テキストではなく構造化 JSON が欲しいとき 5 credits per page (LLM-backed)
firecrawl_map url, search? コンテンツを取得せずにサイト上の全 URL を検出したいとき 1 credit

コストと制限

運用コスト

APIクォータ
無料枠: 500 クレジット、同時接続 10。Hobby: 月額 $19 で 3000 クレジット。
呼び出しあたりのトークン
スクレイピング1ページあたり平均約 2000 トークン(Markdown 本文)
金額
スクレイプ 1 回 1 クレジット、構造化抽出 1 回 5 クレジット、マップ 1 回 1 クレジット。クレジットは翌月に繰り越し不可。
ヒント
まず firecrawl_map で計画を立て、本当に必要な URL だけを firecrawl_scrape する。積極的にキャッシュを活用すること — ほとんどのページは毎日更新されません。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: 環境変数 FIRECRAWL_API_KEY に API キーを格納
データ送信先: すべてのリクエストは Firecrawl のサーバー(US/EU リージョン)を経由します。対象サイトへのアクセスはプロキシされます。

トラブルシューティング

よくあるエラーと対処法

402 Payment Required

クレジット残高がありません。firecrawl.dev/dashboard でチャージするか、月次リセットを待ってください。

Empty markdown returned

ページが JS のみで構成されている可能性があります。formats: ['markdown'] が設定済みで mobile: false であることを確認してください。actions: [{type:'wait', milliseconds: 3000}] を指定して JS の実行完了を待つことも試してください。

Crawl returns fewer pages than expected

excludePaths が厳しすぎないか確認してください。また、多くのサイトは robots.txt でクローラーをブロックしています。Firecrawl はデフォルトでこれを遵守します。

429 Too Many Requests (target site)

クロールオプションの並行数を下げてください。IP あたりのリクエスト数を制限しているサイトがあります。

代替案

Firecrawl 他との比較

代替案代わりに使う場面トレードオフ
fetch MCP静的 HTML ページで、JS レンダリングもスキーマ抽出も不要な場合無料で高速だが SPA では動作せず、パースが必要な生 HTML が返される
Playwright MCPページとのインタラクション(ログイン、フローのクリック操作など)が必要な場合コード量は増えるが複雑なインタラクションに強い。大量抽出向けには最適化されていない
Brightdata MCPデータセンター IP をブロックするサイトに対してレジデンシャルプロキシが必要な場合重量級かつ高コスト — 難易度の高いターゲットでのみ価値がある
Apify MCP特定サイト向けのビルド済みスクレイパーが必要な場合(Amazon、LinkedIn の構造化データなど)ビルド済みアクターによりニッチなターゲットに強いが、セットアップが多い

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る