mcpField
F
firecrawl

firecrawl

github.com/tdiminoデータ・データベース4168 回インストール2 週間前に更新
リポジトリ

firecrawl について

firecrawlは、Web検索、スクレイピング、ドキュメント解析を行うコマンドライン向けスキルで、調査やコンテンツ抽出に使えます。一部の主要コマンドはAPIキーなしで実行でき、分析前に取得内容を絞り込む手順も備えています。

主な機能

  1. 01Web検索と単一ページの取得
  2. 02サイトマップ作成とサイト全体のクロール
  3. 03ローカル文書のMarkdown変換
  4. 04構造化抽出と自律抽出
  5. 05キーワードやセクションによる結果の絞り込み

活用シーン

  1. 01関連ページの検索と取得
  2. 02ドキュメントサイトの指定パスのクロール
  3. 03ローカルPDFやDOCXのMarkdown変換
  4. 04分析前の取得内容の削減

MCP 対応

FirecrawlはMCPエンドポイントを提供し、APIキーなしでSearch、Scrape、ParseをMCPクライアントに公開します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tdimino/claude-code-minoan --skill firecrawl

インストール後、Claude Code で/firecrawlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
actions-reference.md
branding-format.md
cli-reference.md
firecrawl-agent-api.md
firecrawl-api.md
interact-reference.md
python-api-reference.md
scripts/
deepwiki.sh
filter_web_results.py
firecrawl_api.py
test_firecrawl.py

詳細

Firecrawl と Jina によるウェブスクレイピング

Firecrawl と WebFetch の比較

WebFetch ツールよりも firecrawl scrape URL --only-main-content を優先してください。よりクリーンな Markdown を生成し、JavaScript を多用するページにも対応し、コンテンツの切り捨てを回避します(ベンチマークのカバレッジは 80%超)。Firecrawl を利用できない場合は、フォールバックとして WebFetch を使用してもかまいません。

# Preferred approach:
firecrawl scrape https://docs.example.com/api --only-main-content

キーレスモード(v2.11.0+)

Firecrawl のコアエンドポイントは、API キーなしで動作し、IP ごとに日単位でレート制限されます。登録は不要です。

キーレスで利用できるコマンド: Search、Scrape、Parse、Interact API キーが必要: Crawl、Map、Batch Scrape、Agent、Extract、Monitor

# Quick start — no API key needed:
firecrawl scrape https://example.com --only-main-content
firecrawl search "query" --limit 10

# Python script also works keyless for eligible commands:
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape https://example.com

レート制限: IP ごとに、リクエスト数とクレジット数に日次上限があります(正確な数値は未公開で、1 日あたり 1,000 クレジット未満です)。無料の API キーに登録すると、1,000 クレジットとより高いレート制限を利用できます。

キーレス MCP エンドポイント: https://mcp.firecrawl.dev/v2/mcp — キーなしで Search、Scrape、Parse を公開します。MCP ネイティブなインテグレーションで使用してください。

完全なセットアップ(より多く利用する場合に推奨):

npx -y firecrawl-cli@latest init --all --browser
# Installs CLI + skill segments into coding agents + opens browser for OAuth auth

検索精度: SimpleQA で 94.7%。カスタム関連性モデルが、クエリに対する段落のスコアを算出し、ページ全体を処理する場合と比べてトークン数を 10 分の 1 に抑えながら、最も関連性の高い抜粋を返します。

トークン効率の高いスクレイピング

Anthropic の動的フィルタリングに着想を得ています。推論の前には必ずフィルタリングしてください。Anthropic のベンチマークでは、これにより入力トークンが約 24%減少し、精度が約 11%向上しました。

原則:検索 → フィルタリング → スクレイピング → フィルタリング → 推論

推奨:

Search (titles/URLs only) → Evaluate relevance → Scrape top hits → Filter by section → Reason

非推奨:

Search → Scrape everything → Reason over all of it
効率的なワークフローの手順
# Step 1: Search — get titles/URLs only (cheap)
firecrawl search "query" --limit 20

# Step 2: Evaluate results, pick 3-5 best URLs

# Step 3: Scrape only those, filter to relevant sections
firecrawl scrape URL1 --only-main-content | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py \
  --sections "API,Authentication" --max-chars 5000
filter_web_results.py による後処理

Firecrawl または Exa の出力をこのスクリプトにパイプで渡すと、推論の前にコンテキストを削減できます。

# Extract only matching sections from scraped page
firecrawl scrape URL --only-main-content | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py --sections "Pricing,Plans"

# Keep only paragraphs with keywords
firecrawl search "query" --scrape --pretty | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py --keywords "pricing,cost" --max-chars 5000

# Extract specific JSON fields from API output
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --json | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py --fields "title,url,text" --max-chars 3000

# Combine filters with stats
firecrawl scrape URL --only-main-content | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py --sections "API" --keywords "endpoint" --compact --stats

完全なパス: python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py フラグ: --sections、--keywords、--max-chars、--max-lines、--fields(JSON)、--strip-links、--strip-images、--compact、--stats

その他のトークン節約パターン
  • ナビゲーションやフッターの定型コンテンツを除去してトークン消費を抑えるには、--only-main-content を使用してください。ナビゲーションやフッターの内容が特に必要な場合に限り、省略してください。
  • より強力なクリーニングには、--only-clean-content(Python API スクリプト)を使用してください。ナビゲーション、広告、Cookie バナーを除去します。--only-main-content より強力です。メインコンテンツのフィルタリング後もページにノイズが多い場合に使用してください。
  • スクレイピングの前に関連するサブページを見つけるには、firecrawl map URL --search "topic" を最初に使用してください
  • URL の一覧を取得して評価し、その後必要なものだけをスクレイピングするには、--format links を最初に使用してください
  • 抽出の長さを制限するには、exa_contents.py と --max-chars を使用してください
  • 要点だけが必要で、生のコンテンツが不要な場合は、全文の代わりに --formats summary(Python API スクリプト)を使用してください
Claude API のネイティブツール(API エージェントの構築者向け)

Anthropic の API では、組み込みの動的フィルタリングツールを利用できるようになりました。

web_search_20260209 / web_fetch_20260209
Header: anthropic-beta: code-execution-web-tools-2026-02-09

これらのツールには、コード実行による動的フィルタリングが組み込まれています。Claude API エージェントを直接構築する場合に使用してください。自律型エージェント、一括スクレイピング、構造化抽出、ドメイン固有のクローリングが必要な場合、または Claude API を利用していない場合は、Firecrawl/Exa を使用してください。


利用可能なツール

1. 公式 Firecrawl CLI(firecrawl)— 主なツール

キーレスセットアップ: npm install -g firecrawl-cli@latest(search/scrape/parse/interact はすぐに利用できます) 完全なセットアップ: npm install -g firecrawl-cli@latest && firecrawl login --api-key $FIRECRAWL_API_KEY エージェント向けセットアップ: npx -y firecrawl-cli@latest init --all --browser(CLI + スキル + OAuth をインストール)

コマンド目的簡単な例
scrape単一ページ → Markdownfirecrawl scrape URL --only-main-content
crawl進捗を表示しながらサイト全体をクロールfirecrawl crawl URL --wait --progress --limit 50
mapサイト上のすべての URL を検出firecrawl map URL --search "API"
searchウェブ検索、SimpleQA 精度 94.7%(オプションでスクレイピングも可能)firecrawl search "query" --limit 10

CLI の完全なリファレンス: references/cli-reference.md

2. 自動保存エイリアス(fc-save)— シェルエイリアス

シェルエイリアスの設定が必要です(このスキルには含まれていません)。

fc-save URL
# → Saves to ~/Desktop/Screencaps & Chats/Web-Scrapes/docs-example-com-api.md
3. Python API スクリプト(firecrawl_api.py)— 高度な機能

コマンド: python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py <command> 必要条件: pip install firecrawl-py requests。キー不要のコマンド(search、scrape、parse、interact)では FIRECRAWL_API_KEY は任意です。それ以外のすべてのコマンドでは必須です。

コマンド用途クイック例
searchスクレイピング機能付きのウェブ検索firecrawl_api.py search "query" -n 10
scrapeページアクションを実行する単一 URLfirecrawl_api.py scrape URL --formats markdown summary
batch-scrape複数 URL の並列処理firecrawl_api.py batch-scrape URL1 URL2 URL3
crawlウェブサイトのクロールfirecrawl_api.py crawl URL --limit 20
mapURL の検出firecrawl_api.py map URL --search "query"
parseローカルドキュメント(PDF、DOCX、XLSX)の解析firecrawl_api.py parse report.pdf
extractLLM を活用した構造化抽出firecrawl_api.py extract URL --prompt "Find pricing"
agent自律型抽出(URL 不要)firecrawl_api.py agent "Find YC W24 AI startups"
parallel-agentエージェントへの一括クエリ(v2.8.0 以降)firecrawl_api.py parallel-agent "Q1" "Q2" "Q3"
interactスクレイピング後のブラウザー操作firecrawl_api.py interact SCRAPE_ID --prompt "Click pricing"
interact-stopinteract セッションの停止firecrawl_api.py interact-stop SCRAPE_ID

エージェントモデル: spark-1-fast(10 クレジット、シンプル)、spark-1-mini(デフォルト)、spark-1-pro(詳細)

Python API の完全なリファレンス: references/python-api-reference.md

4. DeepWiki — GitHub リポジトリのドキュメント
~/.claude/skills/firecrawl/scripts/deepwiki.sh <owner/repo> [section] [options]

公開されている任意の GitHub リポジトリの AI 生成 Wiki です。API キーは不要です。

# Overview
~/.claude/skills/firecrawl/scripts/deepwiki.sh karpathy/nanochat

# Browse sections
~/.claude/skills/firecrawl/scripts/deepwiki.sh langchain-ai/langchain --toc

# Specific section
~/.claude/skills/firecrawl/scripts/deepwiki.sh karpathy/nanochat 4.1-gpt-transformer-implementation

# Full dump for RAG
~/.claude/skills/firecrawl/scripts/deepwiki.sh openai/openai-python --all --save
5. Jina Reader(jina)— フォールバック

Firecrawl が失敗した場合、または Twitter/X の URL を処理する場合に使用します(Firecrawl は Twitter をブロックしますが、Jina は利用できます)。

jina https://x.com/username/status/123456

Firecrawl、Exa、ネイティブ Claude ツールの比較

ニーズ最適なツール理由
API キーなしで無料スクレイピングfirecrawl scrape (keyless)主要なコマンドは認証なしで動作します
API キーなしで無料検索firecrawl search (keyless)SimpleQA の精度は 94.7%で、API キーは不要です
単一ページを Markdown に変換firecrawl scrape --only-main-content最もクリーンな出力です
検索とスクレイピングを一度に実行firecrawl search --scrape検索とスクレイピングを組み合わせて実行できます
サイト全体をクロールfirecrawl crawl --wait --progressリンクの追跡と進行状況の表示に対応します
ローカルファイルを Markdown に変換firecrawl_api.py parse FILEURL は不要で、ファイルを直接アップロードします
自律的なデータ検索firecrawl_api.py agentURL は不要です
セマンティック/ニューラル検索Exa exa_search.pyAI による関連性評価
研究論文を検索Exa --category "research paper"学術論文インデックス
手早く調査結果を取得Exa exa_research.py引用と情報の統合
類似ページを検索Exa exa_similar.py競合分析
Claude API エージェントの構築ネイティブ web_search_20260209動的フィルタリングを内蔵
Twitter/X のコンテンツjina URL動作する唯一のツール
GitHub リポジトリのドキュメントdeepwiki.sh owner/repoAI が生成する Wiki
ボット対策/Cloudflare の回避scrapling ステルスフェッチローカル Turnstile ソルバー
要素単位での抽出scrapling + CSS セレクター精密な対象指定と適応型トラッキング
API キーなしのスクレイピングscrapling HTTP フェッチ100%ローカルで、認証情報は不要です
サイトの再設計への耐性scrapling 適応モードSQLite による類似性マッチング
低予算での JS レンダリング対応スクレイピングcf_browser.py markdown URLCF 無料枠:1 日 10 分。有料枠:1 時間あたり $0.09
静的ページを無料で取得cf_browser.py markdown URL --no-renderベータ期間中は無料(JS なし)
低予算での複数ページのクロールcf_browser.py crawl URL1 日 5 回まで無料。1 回あたり 100 ページ
増分再クロールcf_browser.py crawl --modified-since標準搭載。Firecrawl にはありません
ページのスクリーンショット/PDFcf_browser.py screenshot/pdf URLCF のエンドポイントを標準搭載し、より低コストです
AI による構造化抽出cf_browser.py json URL --prompt "..."Workers AI を無料で利用できます

一般的なワークフロー

単一ページのスクレイピング
firecrawl scrape https://example.com/page --only-main-content
# Or auto-save: fc-save URL
# Or to file: firecrawl scrape URL --only-main-content -o page.md
ドキュメントのクロール
# Map first, then crawl relevant paths
firecrawl map https://docs.example.com --search "API"
firecrawl crawl https://docs.example.com --include-paths /api,/guides --wait --progress
調査ワークフロー
firecrawl search "machine learning best practices 2026" --scrape --scrape-formats markdown
ドキュメントの解析(ローカルファイル)

ローカルのドキュメントをクリーンな Markdown に解析します。ローカルファイルまたは一般公開されていないファイルには parse を使用し、ドキュメントを指す一般公開 URL には scrape を使用してください。どちらも同じ Rust ベースのパーサーを使用します。

# PDF to markdown
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py parse report.pdf

# Excel spreadsheet with main content only
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py parse data.xlsx --only-main-content

# Word doc with zero data retention, save to file
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py parse contract.docx --zero-data-retention -o contract.md

# Raw JSON output for programmatic use
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py parse invoice.pdf --json

対応形式:PDF、DOCX、DOC、XLSX、XLS、HTML、HTM、ODT、RTF(最大 50 MB)。

PDF の解析(Fire-PDF v2.9)

Fire-PDF は、すべての PDF スクレイピングでデフォルトの解析パイプラインになりました。3 つのモードがあります。

# Auto mode (default) — detects text layer vs scanned, chooses best method
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape "https://example.com/report.pdf"

# Fast mode — text layer only, skip OCR (use for PDFs with selectable text)
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape URL --pdf-mode fast

# OCR mode — force full OCR (use for scanned docs or image-only PDFs)
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape URL --pdf-mode ocr

# Limit pages parsed (large documents)
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py parse report.pdf --pdf-mode auto --pdf-max-pages 20
フラグ値備考
--pdf-modefast、auto、ocrデフォルト:auto。fast = テキストレイヤーのみ。ocr = OCR を強制
--pdf-max-pages整数解析するページ数を制限します。大きな PDF の予算管理に便利です

どちらのフラグも、scrape(PDF URL の場合)と parse(ローカルファイルの場合)で使用できます。

エージェントを活用した調査(URL 不要)
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py agent \
  "Compare pricing tiers for Firecrawl, Apify, and ScrapingBee"
Interact ワークフロー(スクレイピング後のブラウザー操作)

ページをスクレイピングした後、ボタンのクリック、フォームへの入力、動的コンテンツの抽出などの操作を行います。モードは 2 つあります。AI プロンプト(自然言語)とコード実行(Node.js/Python/Bash)です。

Interact と Actions の使い分け
ニーズ使用する機能理由
1 回のスクレイピング前にクリック/待機scrape の --actions実行して終了するため、セッションのオーバーヘッドがありません
同じページで複数の操作を実行interact永続セッションで、やり取りを続けられます
フォーム入力、ログイン、移動interact状態を保持し、複数ステップに対応します
「JavaScript の読み込みを待つ」だけwait を指定した --actionsより低コストで、セッションは不要です
Interact の基本(AI プロンプトモード)
# Step 1: Scrape and note the Scrape ID from output
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape "https://example.com/pricing"

# Step 2: Interact using natural language
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact SCRAPE_ID \
  --prompt "Click the Enterprise pricing tab"

# Step 3: More interactions on same session
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact SCRAPE_ID \
  --prompt "What is the monthly price for the Enterprise plan?"

# Step 4: Stop when done
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact-stop SCRAPE_ID
コード実行モード(より低コスト)
# Execute Playwright code directly (2 credits/min vs 7 for prompts)
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact SCRAPE_ID \
  --code "const text = await page.locator('.pricing-table').textContent(); console.log(text);"

# Python mode
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact SCRAPE_ID \
  --code "text = await page.locator('.content').text_content(); print(text)" \
  --language python
永続プロファイル(ログインセッション)
# Scrape with a named profile — browser state persists across sessions
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape "https://app.example.com/login" \
  --profile my-app --json

# Interact to log in
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py interact SCRAPE_ID \
  --code "await page.fill('#email', '[email protected]'); await page.fill('#password', 'pass'); await page.click('button[type=submit]');"

# Later: scrape another page with same profile — cookies restored
python3 ~/.claude/skills/firecrawl/scripts/firecrawl_api.py scrape "https://app.example.com/dashboard" \
  --profile my-app

重要: Interact はページの Markdown を返しません。操作後に更新されたコンテンツを取得するには、コードモードを使用して特定の要素を抽出するか、後続のスクレイプを実行してください。

Interact の完全なリファレンス: references/interact-reference.md


課金に関する注意事項

  • クレジットとトークンの統一(v2.9): クレジットとトークンが統一されました。15 トークン = 1 クレジットです。料金はすべてクレジットで表示されます。
  • デフォルトのキャッシュ TTL: 結果は 2 日間キャッシュされます。キャッシュにかかわらず最新のスクレイプを強制するには、--max-age 0(または API で maxAge: 0)を使用してください。
  • query 形式: 完全な Markdown ではなく、直接回答(data.answer)を取得するには、formats=["query"](Python API)を渡してください。ページ全体のコンテンツが不要な事実確認に使用できます。
  • audio 形式: formats=["audio"] を指定すると、ページの読み上げ音声を含む MP3 が返されます。アクセシビリティのパイプラインや音声インターフェースに便利です。
  • wikimedia エンジン: 検索オプションで engine="wikimedia" を渡すと、クエリが Wikimedia 経由で実行されます。百科事典的な情報の検索に便利です。

トラブルシューティング

# Check status and credits
firecrawl --status && firecrawl credit-usage

# Re-authenticate
firecrawl logout && firecrawl login --api-key $FIRECRAWL_API_KEY

# Check API key
echo $FIRECRAWL_API_KEY
  • スクレイプに失敗する: jina URL を試すか、JavaScript を多用するサイトでは --wait-for 3000 を追加してください
  • 非同期ジョブが停止する: crawl-status/batch-status で確認し、crawl-cancel/batch-cancel でキャンセルしてください
  • テレメトリを無効にする: export FIRECRAWL_NO_TELEMETRY=1

リファレンスドキュメント

ファイル内容
references/cli-reference.mdCLI パラメーターの完全なリファレンス(scrape、crawl、map、search、fc-save、jina、deepwiki)
references/python-api-reference.mdPython API スクリプトの完全なリファレンス(すべてのコマンド、SDK の例)
references/firecrawl-api.mdFirecrawl Search API のリファレンス
references/firecrawl-agent-api.mdAgent API(spark モデル、並列エージェント、webhook)
references/actions-reference.md動的コンテンツ向けのページ操作(クリック、入力、待機、スクロール)
references/interact-reference.mdInteract API:スクレイプ後のブラウザー操作(プロンプト、コード、プロファイル)
references/branding-format.mdブランドアイデンティティの抽出(色、フォント、UI)

テストスイート

python3 ~/.claude/skills/firecrawl/scripts/test_firecrawl.py --quick    # Quick validation
python3 ~/.claude/skills/firecrawl/scripts/test_firecrawl.py            # Full suite
python3 ~/.claude/skills/firecrawl/scripts/test_firecrawl.py --test scrape  # Specific test

コメント