mcpField
F
firecrawl-search

firecrawl-search

github.com/firecrawl生産性252104 回インストール6 日前に更新
リポジトリ

firecrawl-search について

firecrawl-search は、Web 検索と Alexandria ツールの発見を行う Firecrawl のコマンドラインスキルで、検索結果ページのスクレイピングにも対応します。専用インデックスを使え、提供元ツールの実行前に契約を確認できます。

主な機能

  1. 01Web 結果と Alexandria ツールを検索
  2. 02検索結果ページの内容を取得
  3. 03ソースとカテゴリで絞り込み
  4. 04ツール契約の閲覧と確認
  5. 05構造化された検索フィードバックを送信

活用シーン

  1. 01テーマを調査して結果を JSON に保存
  2. 02検索結果ページの全文を取得
  3. 03クエリに合う構造化データ提供元を発見
  4. 04政府または開発者向け情報を検索

インストール

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

$npx skills add https://github.com/firecrawl/firecrawl-claude-plugin --skill firecrawl-search

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

詳細

firecrawl search

ユーザーの実際の質問に沿って、自然な形で検索します。デフォルトの検索では、ウェブ検索結果に加えて、関連するAlexandriaのツールも返されます。必要に応じてウェブページのスクレイピングも利用できます。

構造化レコード、絞り込み可能な一覧、トランスクリプト、またはデータセットが必要な場合は、まず firecrawl search alexandria '<data you need>' を実行して、適したワークフローやデータプロバイダーを探してください。対象のウェブサイトが分かっている場合は、firecrawl find-tools <url> を使います。選択したコントラクトは、scrape で実行する前に firecrawl list <provider> <capability> --pretty で確認してください。検出時にすでに完全なコントラクトが返されている場合は、それを再利用します。適したツールがない場合は、ウェブ検索またはAgentを続けてください。ウェブ調査には通常の search を、既知のページにはURLの scrape を使います。

クイックスタート

# Basic search
firecrawl search "your query" -o .firecrawl/result.json --json

# Search and scrape full page content from results
firecrawl search "your query" --scrape -o .firecrawl/scraped.json --json

# News from the past day
firecrawl search "your query" --sources news --tbs qdr:d -o .firecrawl/news.json --json

検索オプションについては firecrawl search --help、コントラクトの閲覧については firecrawl list --help、実行オプションについては firecrawl scrape --help を使います。

--categories developer は、公開リポジトリ、GitHubのイシュー、マージ済みプルリクエスト、リポジトリのREADME、厳選されたドキュメントサイトのインデックスを検索します。--categories gov は、米国の連邦、州、地方政府の法律および規制関連の情報源を検索します。他のカテゴリと組み合わせることはできません。--categories research はウェブサイトのフィルターであり、論文インデックスではありません。専用のスキル:firecrawl-developer-index と firecrawl-research-index。

政府インデックス

米国の法律または規制に関する情報源を探すには、firecrawl gov "<question, jurisdiction, and date>" --limit 10 を使います。結果数の指定には --limit を、APIキーの指定には -k を使います。search --categories gov でも --limit を使い、結果は data.web に返されます。他のカテゴリは gov と組み合わせず、個別に実行してください。

提示された情報源URLを直接読むには scrape を使います。現行の適用法を引用する前に、情報源の発行主体、管轄区域、制定・施行状況、バージョンを確認してください。法案の本文、政府機関のガイダンス、過去のバージョン、第三者による転載についても同様に確認が必要です。管轄区域が不明な場合は、規則を選ぶ前に確認してください。米国以外の質問や、対象範囲に含まれない質問には通常の検索を使います。検索結果がないからといって、適用される法律が存在しないとは限りません。

完了条件: 関連する結果を確認し、呼び出しごとのエラーと結果が空の場合を確認したうえで、情報源へのリンクを添えて依頼に回答し、オプトアウトされていない限り、所定の時間内にフィードバックを送信します。

Alexandriaでページコンテンツの先を探す

Alexandriaは、すぐに利用できるウェブサイトのワークフロー、APIプロバイダー、専門インデックスのカタログです。ツールによっては、検索結果のスニペットや単一ページのスクレイピングでは得られない構造化レコード、詳細な一覧、財務データ、企業情報、調査情報、公的記録を返せます。プロバイダーや機能が存在すると決めつけず、現在の対応状況を確認してください。

  • セマンティック検索は、ウェブ検索結果に関連するプロバイダーのウェブサイトが表示されない場合でも、ユーザーの質問の意味に合ったツール機能を見つけます。ツールが必要な場合は、firecrawl search alexandria '<data you need>' を使います。
  • ドメインマッチングは、ウェブ検索結果に含まれるウェブサイトに関連するツールを見つけます。マッチしたツールを使うと、リンク先のページより詳しい情報、関連レコード、構造化されたコレクションを取得できる場合があります。ドメインの一致は関連性を示すものであり、ツールが要求されたフィールドや市場を網羅している証明にはなりません。
  • 統合検索は、デフォルトで両方の検索経路をウェブ検索結果と併用します:firecrawl search '<user question>'。ウェブ検索結果で十分な場合はそれを使い、マッチしたツールが必要なデータをより直接取得できる場合は、そのツールを確認してください。
実行前に確認する

検索ではデフォルトで web,alexandria が使われ、ドメインツールのマッチングが有効になっています。クエリにはユーザーの所在地、市場、制約をそのまま含め、通常の調査を人為的なツール検索クエリに変えないでください。同じレスポンスから data.web と data.tools を確認します。

検索ではデフォルトで、provider、capability、description のみを含む簡潔なツール候補が返されます。候補が見つかっても、実行済みのデータではありません。候補を選んだら、そのプロバイダーと機能の ID を指定して firecrawl list <provider> <capability> --pretty を実行し、契約の入力、対象範囲、アクセス要件を確認します。

検出メタデータとナビゲーションには --tool-detail summary --json を使用し、実行前に list で選択した契約を確認してください。--tool-detail full --json を使用すると、契約が検索結果に直接含まれるため、追加の確認呼び出しなしで再利用できます。すぐに複数の関連契約が必要な場合は、full を優先してください。表示される料金は参考情報であり、追加の確認を求めるものではありません。

契約を確認した後、firecrawl scrape <provider/capability> --options '<input JSON>' で実行します(--alexandria も引き続きサポートされています)。すべてのプロバイダー実行は Scrape 経由で行います。search --scrape が取得するのはウェブ検索結果のコンテンツであり、プロバイダーツールではありません。

カテゴリ/プロバイダーの閲覧や、選択した契約の確認には list を使用します。既知のウェブサイトに関連するツールを実行せずに見つけるには、find-tools <url> を使用します。高度なカタログセレクターについては firecrawl find-tools --help を実行してください。タスクで必要な場合を除き、広範な検索は避けてください。

返されたツールに、対象の国/市場/セグメントや必要な入力が含まれていない場合は、通常のウェブ検索結果を引き続き利用してください。対象範囲の確認だけを目的に、カタログを隅々まで調べたり、隣接するツールに料金を支払ったりしないでください。--sources web を指定すると Alexandria を明示的に除外します。--sources web --domain-tools を指定すると、ドメインマッチのみを保持します。

プロバイダーの結果や対象範囲の不足に関する Alexandria へのフィードバック(それぞれ 1 クレジットが返金されます。ウェブサイトごとに最大 10 クレジット、UTC の 1 日あたりチームごとに最大 100 クレジット)については、firecrawl-alexandria を参照してください。

段階的な検出と出力の処理

# Web + domain matching + semantic tools
firecrawl search '<user question>'

# Semantic tools only
firecrawl search alexandria '<user question>'

# Categories → providers → tools → contract
firecrawl list
firecrawl list <category-id> --category
firecrawl list <provider-id>
firecrawl list <provider-id> <capability-id> --pretty

# Execute a tool
firecrawl scrape <provider-id>/<capability-id> --options '<JSON matching the selected contract>'

デフォルトの検索ではウェブ検索結果、ドメインマッチ、セマンティックツールが組み合わされます。search alexandria はセマンティックツールの候補のみを返します。カタログ全体を展開するのではなく、選択した契約を確認してください。ツールの検出は実行ではありません。

大きな検索レスポンスは --json -o の出力に保存し、関連する結果を選択してください。その後のプロバイダー実行や URL のスクレイプ結果がエージェントの出力上限を超える場合は、保持された ID を使い、リモート Bash の復旧手順に従ってください。検索リクエスト ID は Bash の入力としてサポートされていません。クライアントが結果を表示できなかったという理由だけで、成功したプロバイダーをむやみに再実行しないでください。

ヒント

  • デフォルトで --highlights が有効です: 結果には、ページからクエリに関連する抜粋が含まれます。元のスニペットを使うには --no-highlights を指定してください。
  • --scrape は全文を取得します — 取得したコンテンツを再利用し、結果の URL を再度スクレイプしないでください。これによりクレジットを節約し、重複した取得を避けられます。
  • 大きな結果には -o を使用し、ファイルシステムを利用できる場合は、範囲を絞ってローカルから読み取ってください。レスポンス全体をコンテキストに出力しないでください。
  • URL やタイトルの抽出には jq を使用します:jq -r '.data.web[].url' .firecrawl/search.json
  • 命名規則:.firecrawl/search-{query}.json または .firecrawl/search-{query}-scraped.json

検索のたびにフィードバックを送信する(1 クレジットが返金されます)

検索には 2 クレジットかかります。検索結果を実際に使用した後(または役に立たないと判断した後)に、firecrawl search-feedback <id> で構造化されたフィードバックを送信してください。検索ごとに最初のフィードバックを送信すると、1 クレジットが返金され、検索品質の改善に役立ちます。検索ごとに 1 回、結果の処理を終えた後にバックグラウンドで実行してください。メインのタスクを妨げることはありません。

オプトアウト: FIRECRAWL_NO_SEARCH_FEEDBACK=1(または FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1)が設定されている場合、CLI は呼び出しを黙ってスキップし、何も送信しません。この設定を尊重し、回避しようとしないでください。(チーム管理者はサーバー側でも無効にできます。その場合、API は feedbackErrorCode: "TEAM_OPTED_OUT" を返し、CLI は何も表示せずに 0 で終了します。)

呼び出す前に知っておくべきルール:

  • 送信可能な時間: 検索から約 2 分以内に送信する必要があります。期限を過ぎたフィードバックは拒否されます。
  • --missing-content は最も重要なフィールドです。 期待したものの見つからなかった、具体的なコンテンツ項目のリストです。各項目は個別の文字列にして、トピックを 1 つずつ指定してください。これらはチーム間で集約され、次に何をインデックス化するべきかを判断するのに役立ちます。
  • 実質的な内容が必要です(内容のないフィードバックは HTTP 400 で拒否されます)。
    • good → --valuable-sources の項目を少なくとも 1 つ含める必要があります。
    • partial → --valuable-sources または --missing-content を含める必要があります。
    • bad → --missing-content または --query-suggestions を含める必要があります。
  • 1 日あたりの返金上限(チームごと、UTC 日単位、デフォルトは 100 クレジット)。 チームが当日に 100 クレジットの返金を受けた後も、送信によってフィードバックは記録されますが、クレジットは返金されません。応答には creditsRefundedToday / dailyRefundCap / dailyCapReached が含まれます。dailyCapReached: true の場合、その UTC 日の残りの時間は search-feedback の呼び出しを停止してください。返金されず、帯域幅の無駄になります。
  • 冪等性: 同じ検索 ID に対して再送信すると成功が返されますが、追加の返金はありません。
  • --silent & が適切な実行方法です。失敗しても終了コードは 0 なので、拒否または期限切れになった呼び出しでパイプラインが停止することはありません。

結果を読み込む前に、検索で結果が返されたことを確認してください。結果が 0 件の検索では出力ファイルが作成されないため、ファイルが存在しない場合や、以前の検索結果が残っている場合があります。次のガードは、ファイルがない場合や結果が 0 件の場合にフィードバックをスキップします。search-feedback はその中でのみ呼び出してください。

# Send once per search. Rate honestly and replace the placeholder with the
# rating that matches what actually happened. The two fields shown
# satisfy the substantive-content rule for every rating.
if SEARCH_ID=$(jq -er 'select(any(.data[]; length > 0)) | .id' .firecrawl/search-react-hooks.json); then
  firecrawl search-feedback "$SEARCH_ID" \
    --rating "<good|partial|bad>" \
    --valuable-sources '[{"url":"https://react.dev/reference/react/hooks","reason":"Most authoritative"}]' \
    --missing-content '[{"topic":"useDeferredValue","description":"No example of useDeferredValue with Suspense"}]' \
    --silent &
fi

--missing-content で指定できる形式:

  • {topic, description?} オブジェクトの JSON 配列(最も情報量が多く、推奨)
  • "topic: description" 文字列(簡略形式)
  • "topic1, topic2, topic3" のようなプレーンな文字列(トピック名のみを指定する場合)
  • --missing-content フラグの複数指定

--silent は出力を抑制し、& はバックグラウンドで実行するため、フィードバックが処理を妨げることはありません。

関連項目

コメント