Skip to main content
Glama

mcp-server-firecrawl

by mendableai
MIT License
7,117
3,355
  • Apple
  • Linux

Firecrawl MCP サーバー

Web スクレイピング機能のためにFirecrawlと統合する Model Context Protocol (MCP) サーバー実装。

最初の実装にご協力いただいた@vrknetha@cawstudiosに深く感謝いたします。

特徴

  • スクレイピング、クロール、検索、抽出、詳細な調査、バッチスクレイピングのサポート
  • JSレンダリングによるWebスクレイピング
  • URLの検出とクロール
  • コンテンツ抽出によるウェブ検索
  • 指数バックオフによる自動再試行
    • レート制限を組み込んだ効率的なバッチ処理
  • クラウドAPIのクレジット使用状況監視
  • 包括的なログシステム
  • クラウドおよびセルフホスト型 Firecrawl インスタンスのサポート
  • モバイル/デスクトップビューポートのサポート
  • タグの包含/除外によるスマートなコンテンツフィルタリング
  • SSE サポート

MCP.so のプレイグラウンドまたはKlavis AIで MCP サーバーを試してみてください。

インストール

npxで実行

env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

手動インストール

npm install -g firecrawl-mcp

カーソル上で実行

カーソルの設定 🖥️ 注: カーソルバージョン 0.45.6 以降が必要です。最新の設定手順については、MCP サーバーの設定に関する公式のカーソルドキュメントを参照してください:カーソル MCP サーバー設定ガイド

Cursor v0.45.6でFirecrawl MCPを設定するには

  1. カーソル設定を開く
  2. 機能 > MCPサーバーへ移動
  3. 「+新しいMCPサーバーを追加」をクリックします
  4. 以下を入力してください:
    • 名前: 「firecrawl-mcp」(またはお好みの名前)
    • タイプ:「コマンド」
    • コマンド: env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp

Cursor v0.48.6でFirecrawl MCPを設定するには

  1. カーソル設定を開く
  2. 機能 > MCPサーバーへ移動
  3. 「+新しいグローバルMCPサーバーを追加」をクリックします
  4. 次のコードを入力してください:
    { "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }

Windows を使用していて問題が発生している場合は、 cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"を試してください。

your-api-key Firecrawl APIキーに置き換えてください。まだお持ちでない場合は、アカウントを作成してhttps://www.firecrawl.dev/app/api-keysから取得できます。

追加後、MCPサーバーリストを更新して新しいツールを確認してください。Composer Agentは適切な場合にFirecrawl MCPを自動的に使用しますが、Webスクレイピングのニーズを明示的に指定することで、明示的にリクエストすることもできます。Command+L(Mac)でComposerにアクセスし、送信ボタンの横にある「Agent」を選択して、クエリを入力してください。

ウィンドサーフィンで走る

これを./codeium/windsurf/model_config.jsonに追加します:

{ "mcpServers": { "mcp-server-firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR_API_KEY" } } } }

SSEローカルモードで実行

デフォルトの stdio トランスポートの代わりに、Server-Sent Events (SSE) を使用してローカルでサーバーを実行するには:

env SSE_LOCAL=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

次の URL を使用します: http://localhost:3000/sse

Smithery (レガシー) 経由でのインストール

Smithery経由で Claude Desktop 用の Firecrawl を自動的にインストールするには:

npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude

VS Codeで実行

ワンクリックでインストールするには、以下のいずれかのインストールボタンをクリックしてください...

手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。

{ "mcp": { "inputs": [ { "type": "promptString", "id": "apiKey", "description": "Firecrawl API Key", "password": true } ], "servers": { "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "${input:apiKey}" } } } } }

オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。

{ "inputs": [ { "type": "promptString", "id": "apiKey", "description": "Firecrawl API Key", "password": true } ], "servers": { "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "${input:apiKey}" } } } }

構成

環境変数

クラウドAPIに必須
  • FIRECRAWL_API_KEY : Firecrawl APIキー
    • クラウド API を使用する場合に必須 (デフォルト)
    • FIRECRAWL_API_URLでセルフホストインスタンスを使用する場合はオプション
  • FIRECRAWL_API_URL (オプション): セルフホストインスタンスのカスタム API エンドポイント
    • 例: https://firecrawl.your-domain.com
    • 指定しない場合はクラウド API が使用されます (API キーが必要です)
オプション構成
再試行構成
  • FIRECRAWL_RETRY_MAX_ATTEMPTS : 再試行の最大回数(デフォルト: 3)
  • FIRECRAWL_RETRY_INITIAL_DELAY : 最初の再試行までの初期遅延(ミリ秒)(デフォルト: 1000)
  • FIRECRAWL_RETRY_MAX_DELAY : 再試行間の最大遅延時間(ミリ秒)(デフォルト: 10000)
  • FIRECRAWL_RETRY_BACKOFF_FACTOR : 指数バックオフ乗数(デフォルト: 2)
クレジット使用状況の監視
  • FIRECRAWL_CREDIT_WARNING_THRESHOLD : クレジット使用量の警告しきい値(デフォルト: 1000)
  • FIRECRAWL_CREDIT_CRITICAL_THRESHOLD : クレジット使用量のクリティカルしきい値(デフォルト: 100)

設定例

カスタム再試行とクレジット監視を使用したクラウド API の使用の場合:

# Required for cloud API export FIRECRAWL_API_KEY=your-api-key # Optional retry configuration export FIRECRAWL_RETRY_MAX_ATTEMPTS=5 # Increase max retry attempts export FIRECRAWL_RETRY_INITIAL_DELAY=2000 # Start with 2s delay export FIRECRAWL_RETRY_MAX_DELAY=30000 # Maximum 30s delay export FIRECRAWL_RETRY_BACKOFF_FACTOR=3 # More aggressive backoff # Optional credit monitoring export FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000 # Warning at 2000 credits export FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500 # Critical at 500 credits

セルフホストインスタンスの場合:

# Required for self-hosted export FIRECRAWL_API_URL=https://firecrawl.your-domain.com # Optional authentication for self-hosted export FIRECRAWL_API_KEY=your-api-key # If your instance requires auth # Custom retry configuration export FIRECRAWL_RETRY_MAX_ATTEMPTS=10 export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Start with faster retries

Claude Desktopでの使用

これをclaude_desktop_config.jsonに追加します:

{ "mcpServers": { "mcp-server-firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE", "FIRECRAWL_RETRY_MAX_ATTEMPTS": "5", "FIRECRAWL_RETRY_INITIAL_DELAY": "2000", "FIRECRAWL_RETRY_MAX_DELAY": "30000", "FIRECRAWL_RETRY_BACKOFF_FACTOR": "3", "FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000", "FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500" } } } }

システム構成

サーバーには、環境変数で設定可能なパラメータがいくつか含まれています。設定されていない場合のデフォルト値は以下のとおりです。

const CONFIG = { retry: { maxAttempts: 3, // Number of retry attempts for rate-limited requests initialDelay: 1000, // Initial delay before first retry (in milliseconds) maxDelay: 10000, // Maximum delay between retries (in milliseconds) backoffFactor: 2, // Multiplier for exponential backoff }, credit: { warningThreshold: 1000, // Warn when credit usage reaches this level criticalThreshold: 100, // Critical alert when credit usage reaches this level }, };

これらの構成は以下を制御します。

  1. 再試行動作
    • レート制限により失敗したリクエストを自動的に再試行します
    • API の過負荷を回避するために指数バックオフを使用します
    • 例: デフォルト設定では、次の場合に再試行が試行されます。
      • 1回目の再試行: 1秒の遅延
      • 2回目の再試行: 2秒遅延
      • 3 回目の再試行: 4 秒の遅延 (maxDelay で上限)
  2. クレジット使用状況の監視
    • クラウド API の使用における API クレジットの消費を追跡します
    • 指定されたしきい値で警告を発する
    • 予期せぬサービス中断を防ぐのに役立ちます
    • 例: デフォルト設定の場合:
      • 残り1000クレジットの警告
      • 残り100クレジットで重大な警告

レート制限とバッチ処理

サーバーは、Firecrawl に組み込まれたレート制限機能とバッチ処理機能を活用します。

  • 指数バックオフによる自動レート制限処理
  • バッチ操作のための効率的な並列処理
  • スマートなリクエストキューイングとスロットリング
  • 一時的なエラーの自動再試行

利用可能なツール

1. スクレイプツール( firecrawl_scrape

高度なオプションを使用して、単一の URL からコンテンツをスクレイピングします。

{ "name": "firecrawl_scrape", "arguments": { "url": "https://example.com", "formats": ["markdown"], "onlyMainContent": true, "waitFor": 1000, "timeout": 30000, "mobile": false, "includeTags": ["article", "main"], "excludeTags": ["nav", "footer"], "skipTlsVerification": false } }

2. バッチスクレイプツール( firecrawl_batch_scrape

組み込みのレート制限と並列処理により、複数の URL を効率的にスクレイピングします。

{ "name": "firecrawl_batch_scrape", "arguments": { "urls": ["https://example1.com", "https://example2.com"], "options": { "formats": ["markdown"], "onlyMainContent": true } } }

応答にはステータス チェックの操作 ID が含まれます。

{ "content": [ { "type": "text", "text": "Batch operation queued with ID: batch_1. Use firecrawl_check_batch_status to check progress." } ], "isError": false }

3. バッチステータスを確認する( firecrawl_check_batch_status

バッチ操作のステータスを確認します。

{ "name": "firecrawl_check_batch_status", "arguments": { "id": "batch_1" } }

Web を検索し、オプションで検索結果からコンテンツを抽出します。

{ "name": "firecrawl_search", "arguments": { "query": "your search query", "limit": 5, "lang": "en", "country": "us", "scrapeOptions": { "formats": ["markdown"], "onlyMainContent": true } } }

5. クロールツール( firecrawl_crawl

高度なオプションを使用して非同期クロールを開始します。

{ "name": "firecrawl_crawl", "arguments": { "url": "https://example.com", "maxDepth": 2, "limit": 100, "allowExternalLinks": false, "deduplicateSimilarURLs": true } }

6. 抽出ツール( firecrawl_extract

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", "systemPrompt": "You are a helpful assistant that extracts product information", "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抽出のカスタムプロンプト
  • systemPrompt : LLMをガイドするシステムプロンプト
  • schema : 構造化データ抽出用のJSONスキーマ
  • allowExternalLinks : 外部リンクからの抽出を許可する
  • enableWebSearch : 追加のコンテキストのWeb検索を有効にする
  • includeSubdomains : 抽出にサブドメインを含める

セルフホストインスタンスを使用する場合、抽出には設定されたLLMが使用されます。クラウドAPIの場合は、FirecrawlのマネージドLLMサービスが使用されます。

7. ディープリサーチツール(firecrawl_deep_research)

インテリジェントなクロール、検索、LLM 分析を使用して、クエリに関するディープ ウェブ リサーチを実行します。

{ "name": "firecrawl_deep_research", "arguments": { "query": "how does carbon capture technology work?", "maxDepth": 3, "timeLimit": 120, "maxUrls": 50 } }

引数:

  • query (文字列、必須): 調査する研究の質問またはトピック。
  • maxDepth (数値、オプション): クロール/検索の最大再帰深度 (デフォルト: 3)。
  • timeLimit (数値、オプション): 調査セッションの時間制限 (秒) (デフォルト: 120)。
  • maxUrls (数値、オプション): 分析する URL の最大数 (デフォルト: 50)。

戻り値:

  • 研究に基づいて LLM によって生成された最終分析。(data.finalAnalysis)
  • 研究プロセスで使用される構造化されたアクティビティとソースも含まれる場合があります。

8. LLMs.txt 生成ツール (firecrawl_generate_llmstxt)

指定されたドメインに対して、標準化されたllms.txt(およびオプションでllms-full.txt)ファイルを生成します。このファイルは、大規模言語モデルがサイトとどのように連携するかを定義します。

{ "name": "firecrawl_generate_llmstxt", "arguments": { "url": "https://example.com", "maxUrls": 20, "showFullText": true } }

引数:

  • url (文字列、必須): 分析する Web サイトの基本 URL。
  • maxUrls (数値、オプション): 含める URL の最大数 (デフォルト: 10)。
  • showFullText (ブール値、オプション): 応答に llms-full.txt の内容を含めるかどうか。

戻り値:

  • 生成された llms.txt ファイルの内容とオプションで llms-full.txt (data.llmstxt および/または data.llmsfulltxt)

ログシステム

サーバーには包括的なログ機能が含まれています:

  • 運用状況と進捗
  • パフォーマンスメトリック
  • クレジット使用状況の監視
  • レート制限の追跡
  • エラー条件

ログメッセージの例:

[INFO] Firecrawl MCP Server initialized successfully [INFO] Starting scrape for URL: https://example.com [INFO] Batch operation queued with ID: batch_1 [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 }

発達

# Install dependencies npm install # Build npm run build # Run tests npm test

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. テストを実行: npm test
  4. プルリクエストを送信する

貢献者の方々に感謝

初期実装にご協力いただいた@vrknetha@cawstudiosに感謝します。

ホスティングを提供してくれた MCP.so と Klavis AI、そしてサーバーを統合してくれた@gstarwd@xiangkaiz@zihaolin96に感謝します。

ライセンス

MITライセンス - 詳細はLICENSEファイルを参照

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

高度な Web スクレイピング機能を実現するために FireCrawl と統合された Model Context Protocol (MCP) サーバー実装。

  1. 特徴
    1. インストール
      1. npxで実行
      2. 手動インストール
      3. カーソル上で実行
      4. ウィンドサーフィンで走る
      5. SSEローカルモードで実行
      6. Smithery (レガシー) 経由でのインストール
      7. VS Codeで実行
    2. 構成
      1. 環境変数
      2. 設定例
      3. Claude Desktopでの使用
      4. システム構成
      5. レート制限とバッチ処理
    3. 利用可能なツール
      1. スクレイプツール( firecrawl_scrape )
      2. バッチスクレイプツール( firecrawl_batch_scrape )
      3. バッチステータスを確認する( firecrawl_check_batch_status )
      4. 検索ツール( firecrawl_search )
      5. クロールツール( firecrawl_crawl )
      6. 抽出ツール( firecrawl_extract )
      7. ディープリサーチツール(firecrawl\_deep\_research)
      8. LLMs.txt 生成ツール (firecrawl\_generate\_llmstxt)
    4. ログシステム
      1. エラー処理
        1. 発達
          1. 貢献
          2. 貢献者の方々に感謝
        2. ライセンス

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.
            Last updated -
            5
            206
            111
            TypeScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol (MCP) server that provides tools for searching and fetching information from Hacker News.
            Last updated -
            4
            6
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            Built as a Model Context Protocol (MCP) server that provides advanced web search, content extraction, web crawling, and scraping capabilities using the Firecrawl API.
            Last updated -
            4
            1
            Python
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables web search, scraping, crawling, and content extraction through multiple engines including SearXNG, Firecrawl, and Tavily.
            Last updated -
            35
            11
            TypeScript
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/mendableai/firecrawl-mcp-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server