Firecrawl MCP のツールとオペレーション
Firecrawl MCP で利用できるツール、動作、およびエラーハンドリング。
ここに記載されているツールは、Firecrawl MCP サーバーで利用できるすべての機能を示しています。利用できるツールは接続方法によって異なります。
| 接続モード | 利用可能なツール |
|---|---|
| ホスト型アカウント OAuth | プランおよび機能の提供状況に応じてすべてのツールを利用可能 |
| ホスト型 API キー | プランおよび機能の提供状況に応じてすべてのツールを利用可能 |
| ホスト型 キーなし | firecrawl_search、firecrawl_scrape、firecrawl_parse のみ |
| クラウド API キーを使用するローカル MCP | API ベースのツール。ローカルファイルを直接解析するには、セルフホスト型 API URL が必要 |
| セルフホスト型 API を使用するローカル MCP | そのデプロイで有効になっているサービスがサポートするツール |
一部の任意のツールは、環境またはチームのポリシーによって無効化される場合があります。まず Firecrawl MCP に接続 して認証モードを選択し、現在の キーなし の利用上限については レート制限 を参照してください。
高度なオプションを使用して、1 つの URL からコンテンツをスクレイピングします。
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["markdown"],
"onlyMainContent": true,
"waitFor": 1000,
"mobile": false,
"includeTags": ["article", "main"],
"excludeTags": ["nav", "footer"],
"skipTlsVerification": false
}
}個人を特定できる情報をマスキングするには、スクレイピングツールの引数にredactPIIを含めます。
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/contact",
"formats": ["markdown"],
"redactPII": true
}
}Web サイトをマッピングし、サイト内のインデックス済み URL をすべて検出します。
{
"name": "firecrawl_map",
"arguments": {
"url": "https://example.com",
"search": "blog",
"sitemap": "include",
"includeSubdomains": false,
"limit": 100,
"ignoreQueryParameters": true
}
}url: マッピング対象の Web サイトのベース URLsearch: URL を絞り込むための任意の検索語sitemap: サイトマップの使用方法を指定 - “include”、“skip”、または “only”includeSubdomains: マッピングにサブドメインを含めるかどうかlimit: 返す URL の最大数ignoreQueryParameters: マッピング時にクエリパラメータを無視するかどうか
最適な用途: スクレイピング対象を決める前に Web サイト内の URL を見つける、または Web サイト内の特定セクションを探す。 戻り値: サイト内で見つかった URL の配列。
ウェブを検索し、必要に応じて検索結果からコンテンツを抽出します。
{
"name": "firecrawl_search",
"arguments": {
"query": "your search query",
"limit": 5,
"location": "United States",
"tbs": "qdr:m",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}query: 検索クエリ文字列 (必須)limit: 返す検索結果の最大数location: 検索結果の地理的ロケーションtbs: 期間ベースの検索フィルター (例: 過去1日はqdr:d、過去1週間はqdr:w、過去1か月はqdr:m)filter: 追加の検索フィルターsources: 検索対象のソースタイプの配列 (web、images、news)scrapeOptions: 検索結果ページのスクレイピングオプションenterprise: エンタープライズオプションの配列 (default、anon、zdr)
firecrawl_search の使用後に構造化フィードバックを送信します。検索 ID ごとに最初に送信されたフィードバックには、チームの1日あたりの上限の範囲内で、1クレジットが返還される場合があります。
{
"name": "firecrawl_search_feedback",
"arguments": {
"searchId": "search-id-from-firecrawl-search",
"rating": "good",
"valuableSources": [
{
"url": "https://docs.firecrawl.dev/mcp-server",
"reason": "Contains the current connection guidance."
}
]
}
}この任意ツールの登録を無効にするには、FIRECRAWL_NO_SEARCH_FEEDBACK=1 を設定します。
完了したスクレイピング、解析、Map、またはSearchジョブに対して、エンドポイント単位の簡潔なフィードバックを送信します。生のスクレイピング済みまたは解析済みコンテンツは含めないでください。
{
"name": "firecrawl_feedback",
"arguments": {
"endpoint": "scrape",
"jobId": "job-id",
"rating": "partial",
"issues": ["missing_markdown"],
"url": "https://example.com"
}
}検索結果の品質に関するフィードバックには firecrawl_search_feedback を使用します。汎用フィードバックツールを登録しない場合は、FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 を設定します。
PDF、DOCX、XLSX、HTML ドキュメントなどのローカルファイルを、クリーンで LLM 対応のデータに解析します。
{
"name": "firecrawl_parse",
"arguments": {
"filePath": "/absolute/path/to/report.pdf",
"formats": ["markdown"]
}
}FIRECRAWL_API_URL を使用して Firecrawl API インスタンスに対し Firecrawl MCP をローカルで実行する場合、MCP Server は filePath を直接読み取り、ファイルのバイト列を /v2/parse に送信できます。
リモートのホスト型 MCP Server を使用する場合、ホスト型サーバーはお使いのマシン上のファイルを読み取れません。その場合、firecrawl_parse はリモートのキーなし URL でも機能する、2 段階の受け渡しを使用します。
filePathを指定してfirecrawl_parseを呼び出します。ツールは、あらかじめ入力されたアップロードコマンドと、uploadRefを含むnextToolCallを返します。- ファイルを読み取れるマシンでアップロードコマンドを実行し、返された
uploadRefを指定して再度firecrawl_parseを呼び出します。
アップロードコマンドは、短時間のみ有効な署名付きアップロード先にファイルのバイト列を送信します。Firecrawl APIキーは含まれません。
filePath: 解析するファイルのローカルパスです。最初の呼び出しで使用します。uploadRef: 最初のホスト型 MCP 呼び出しで返される参照です。アップロード成功後の 2 回目の呼び出しで使用します。formats: 出力フォーマットです。デフォルトはmarkdownです。parsers: PDF 解析オプションなど、パーサーを制御します。contentType: 任意で指定できるファイルの MIME タイプのオーバーライドです。declaredSizeBytes: 任意のファイルサイズの目安です。ファイルサイズは 50 MB までです。
最適な用途: 公開 URL から利用できないローカルまたは非公開のドキュメント。
推奨されない用途: 公開ドキュメントの URL。代わりに firecrawl_scrape を使用してください。URL 上のドキュメントを検出して解析します。
高度なオプションを指定して、非同期クロールを開始します。
{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com",
"maxDiscoveryDepth": 2,
"limit": 100,
"allowExternalLinks": false,
"deduplicateSimilarURLs": true
}
}クロールジョブのステータスを確認します。
{
"name": "firecrawl_check_crawl_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}戻り値: クロールジョブのステータスと進行状況。利用可能な場合は結果も含まれます。
LLMを活用してWebページから構造化情報を抽出します。クラウドAIとセルフホスト型LLMの両方による抽出に対応しています。
{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1", "https://example.com/page2"],
"prompt": "Extract product information including name, price, and description",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
},
"allowExternalLinks": false,
"enableWebSearch": false,
"includeSubdomains": false
}
}レスポンスの例:
{
"content": [
{
"type": "text",
"text": {
"name": "Example Product",
"price": 99.99,
"description": "This is an example product description"
}
}
],
"isError": false
}urls: 情報を抽出する URL の配列prompt: LLM による抽出用のカスタムプロンプトschema: 構造化データ抽出用の JSON スキーマallowExternalLinks: 外部リンクからの抽出を許可enableWebSearch: 追加のコンテキストを得るためにウェブ検索を有効化includeSubdomains: 抽出対象にサブドメインを含める
セルフホスト型インスタンスを使用する場合、設定済みの LLM が抽出に使用されます。クラウド API では、Firecrawl が管理する LLM サービスが使用されます。
クエリに基づいてインターネットを自律的にブラウジングし、情報を検索してページを移動し、構造化データを抽出するWebリサーチエージェントです。非同期で実行され、すぐにジョブIDが返されます。完了後に結果を取得するには、firecrawl_agent_statusをポーリングします。
{
"name": "firecrawl_agent",
"arguments": {
"prompt": "Find the top 5 AI startups founded in 2024 and their funding amounts",
"schema": {
"type": "object",
"properties": {
"startups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"funding": { "type": "string" },
"founded": { "type": "string" }
}
}
}
}
}
}
}エージェントに重点的に処理させる特定のURLを指定することもできます:
{
"name": "firecrawl_agent",
"arguments": {
"urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
"prompt": "Compare the features and pricing information from these pages"
}
}prompt: 必要なデータを自然言語で記述します (必須、最大10,000文字)urls: エージェント が特定のページに集中できるようにする任意の URL 配列schema: 構造化された出力のための任意の JSON schema
最適な用途: 正確な URL が不明な複雑なリサーチタスク、複数のソースからのデータ収集、Web 上に散在する情報の検索、通常のスクレイピングでは失敗する JavaScript を多用した SPA からのデータ抽出。
戻り値: ステータス確認用の job ID。結果をポーリングするには firecrawl_agent_status を使用します。
エージェント job の status を確認し、完了したら結果を取得します。15~30 秒ごとにポーリングし、request が失敗したと判断する前に、少なくとも 2~3 分間はポーリングを続けてください。
{
"name": "firecrawl_agent_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}id:firecrawl_agentが返す エージェント job ID (必須)
ステータス:
processing: エージェント はまだリサーチ中です -- ポーリングを続けてくださいcompleted: リサーチが完了しました -- レスポンスに抽出データが含まれますfailed: エラーが発生しました
戻り値: エージェント job のステータス、進捗状況、結果 (完了している場合) 。
ライブのブラウザセッションでページを操作します。ボタンのクリック、フォームへの入力、動的コンテンツの抽出、より深いページへの移動などが可能です。
ターゲットの指定方法は2つあります。
urlを渡すと、1回のMCP呼び出しで新しいページを開いて操作できます。- 以前の
firecrawl_scrape呼び出しで取得したscrapeIdを渡すと、すでに読み込まれているページを再利用できます。
url と scrapeId を同時に渡さないでください。prompt または code のいずれかを指定してください。scrapeOptions は url モードでのみ使用できます。
URLモードの例:
{
"name": "firecrawl_interact",
"arguments": {
"url": "https://example.com/products",
"prompt": "Click on the first product and tell me its price"
}
}スクレイピングの再利用の例:
{
"name": "firecrawl_interact",
"arguments": {
"scrapeId": "scrape-id-from-previous-scrape",
"prompt": "Click the Sign In button"
}
}url: 操作するページ。セッションを開きます。これまたはscrapeIdを使用します。scrapeId: 以前のfirecrawl_scrape呼び出しで取得したスクレイピングジョブ ID。これまたはurlを使用します。prompt: 実行する操作を説明する自然言語の指示。promptまたはcodeを指定します。code: ブラウザセッションで実行するコード。codeまたはpromptを指定します。language:bash、python、またはnode(任意。デフォルトはnode。codeでのみ使用) 。timeout: 実行タイムアウト (秒単位) 。1~300 (任意。デフォルトは30) 。scrapeOptions:urlモードでのみ使用する任意のスクレイピング制御。
最適な用途: 単一ページ上で複数ステップのワークフローを実行する場合 — サイト内検索、検索結果のクリック、フォーム入力、操作が必要なデータの抽出。
戻り値: 出力とライブビュー URL を含む操作結果。
スクレイピングしたページの Interact セッションを停止します。操作が完了したら、リソースを解放するためにこのツールを呼び出してください。
{
"name": "firecrawl_interact_stop",
"arguments": {
"scrapeId": "scrape-id-from-previous-scrape"
}
}scrapeId: 停止するセッションのスクレイピング ID (必須)
戻り値: セッションが停止したことの確認。
読み取り専用のリサーチツールを使用して、文献レビュー、論文の確認、引用の検索、公開GitHubリポジトリの検索を行えます。
| ツール | 目的 |
|---|---|
firecrawl_research_search_papers | 研究論文を検索 |
firecrawl_research_inspect_paper | 1件の論文のメタデータと詳細を確認 |
firecrawl_research_related_papers | 基準となる論文に関連する論文を検索 |
firecrawl_research_read_paper | 利用可能な論文の内容を読む |
firecrawl_research_search_github | 公開GitHubリポジトリを検索 |
これらのツールは、ホスト型のキーなし環境には含まれません。
定期実行するページモニターを作成・管理します。モニターはスケジュールに従ってチェックを実行し、結果を保存済みのスナップショットと比較して、webhook またはメールで通知できます。
{
"name": "firecrawl_monitor_create",
"arguments": {
"page": "https://example.com/pricing",
"goal": "Alert when pricing, packaging, or launch messaging changes."
}
}| ツール | 目的 |
|---|---|
firecrawl_monitor_create | ページまたはクロールモニターを作成 |
firecrawl_monitor_list | モニターを一覧表示 |
firecrawl_monitor_get | モニターを1件取得 |
firecrawl_monitor_update | モニターを更新 |
firecrawl_monitor_run | 今すぐチェックを実行 |
firecrawl_monitor_delete | モニターを削除 |
firecrawl_monitor_checks | モニターのチェックを一覧表示 |
firecrawl_monitor_check | ページレベルのチェック1件とその差分を取得 |
firecrawl_monitor_delete はモニターを完全に削除します。MCP クライアントは、ユーザーがそのモニターを明示的に削除しようとしている場合にのみ呼び出してください。
サーバーには、包括的なログ機能が含まれています。
- オペレーションのステータスと進行状況
- パフォーマンス指標
- クレジット使用量の監視
- レート制限の追跡
- エラー状態
ログメッセージの例:
[INFO] Firecrawl MCP Server initialized successfully
[INFO] Starting scrape for URL: https://example.com
[INFO] Starting crawl for URL: https://example.com
[WARNING] Credit usage has reached warning threshold
[ERROR] Rate limit exceeded, retrying in 2s...サーバーは堅牢なエラーハンドリング機能を提供します。
- 一時的なエラーの自動再試行
- バックオフによるレート制限への対応
- 詳細なエラーメッセージ
- クレジット使用量に関する警告
- ネットワーク障害への耐性
エラーレスポンスの例:
{
"content": [
{
"type": "text",
"text": "Error: Rate limit exceeded. Retrying in 2 seconds..."
}
],
"isError": true
}