Skip to main content
Glama
firecrawl

mcp-server-firecrawl

by firecrawl

Firecrawl MCP サーバー

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

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

特徴

  • スクレイピング、クロール、検索、抽出、詳細な調査、バッチスクレイピングのサポート

  • JSレンダリングによるWebスクレイピング

  • URLの検出とクロール

  • コンテンツ抽出によるウェブ検索

  • 指数バックオフによる自動再試行

    • レート制限を組み込んだ効率的なバッチ処理

  • クラウドAPIのクレジット使用状況監視

  • 包括的なログシステム

  • クラウドおよびセルフホスト型 Firecrawl インスタンスのサポート

  • モバイル/デスクトップビューポートのサポート

  • タグの包含/除外によるスマートなコンテンツフィルタリング

  • SSE サポート

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

Related MCP server: WebSearch

インストール

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でNPXを使ってインストールする VS Code Insiders で NPX を使用してインストールする

手動でインストールする場合は、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"
  }
}

4. 検索ツール( firecrawl_search

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

Latest Blog Posts

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/firecrawl/firecrawl-mcp-server'

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