mcp-server-firecrawl

by mendableai
MIT License
16,506
3,053
  • Apple
  • Linux

Integrations

  • Provides integration with Windsurf (Codeium's application) for web scraping, content extraction, and deep research capabilities.

  • Supports converting web content to Markdown format for better readability and integration with documentation systems.

Сервер Firecrawl MCP

Реализация сервера Model Context Protocol (MCP), которая интегрируется с Firecrawl для обеспечения возможностей веб-скрапинга.

Большое спасибо @vrknetha и @knacklabs за первоначальную реализацию!

Функции

  • Веб-скрапинг, сканирование и обнаружение
  • Поиск и извлечение контента
  • Глубокое исследование и пакетный сбор данных
  • Автоматические повторные попытки и ограничение скорости
  • Поддержка в облаке и на собственном хостинге
  • Поддержка SSE

Поэкспериментируйте с нашим MCP-сервером на игровой площадке MCP.so или на Klavis AI .

Установка

Работает с npx

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

Ручная установка

npm install -g firecrawl-mcp

Работает на курсоре

Настройка Cursor 🖥️ Примечание: требуется Cursor версии 0.45.6+. Для получения самых последних инструкций по настройке обратитесь к официальной документации Cursor по настройке серверов MCP: Руководство по настройке сервера Cursor MCP

Чтобы настроить Firecrawl MCP в Cursor v0.48.6

  1. Открыть настройки курсора
  2. Перейти к разделу «Функции» > «Серверы MCP»
  3. Нажмите «+ Добавить новый глобальный сервер MCP»
  4. Введите следующий код:
    { "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }

Чтобы настроить Firecrawl MCP в Cursor v0.45.6

  1. Открыть настройки курсора
  2. Перейти к разделу «Функции» > «Серверы MCP»
  3. Нажмите «+ Добавить новый сервер MCP»
  4. Введите следующее:
    • Имя: "firecrawl-mcp" (или другое предпочитаемое вами имя)
    • Тип: "команда"
    • Команда: env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp

Если вы используете Windows и столкнулись с проблемами, попробуйте cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"

Замените your-api-key на ваш ключ API Firecrawl. Если у вас его еще нет, вы можете создать учетную запись и получить ее по адресу https://www.firecrawl.dev/app/api-keys

После добавления обновите список серверов MCP, чтобы увидеть новые инструменты. Composer Agent автоматически использует Firecrawl MCP, когда это уместно, но вы можете явно запросить его, описав свои потребности в веб-скрапинге. Откройте Composer с помощью Command+L (Mac), выберите «Agent» рядом с кнопкой «Отправить» и введите свой запрос.

Бег на виндсерфинге

Добавьте это в ваш ./codeium/windsurf/model_config.json :

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

Работает в локальном режиме SSE

Чтобы запустить сервер с использованием Server-Sent Events (SSE) локально вместо транспорта stdio по умолчанию:

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

Используйте URL: http://localhost:3000/sse

Установка через Smithery (Legacy)

Чтобы автоматически установить Firecrawl для Claude Desktop через Smithery :

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

Работает на VS Code

Для установки в один клик нажмите одну из кнопок установки ниже...

Для ручной установки добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав 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 : Ваш ключ API Firecrawl
    • Требуется при использовании облачного 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 } } }

Ответ включает идентификатор операции для проверки статуса:

{ "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" } }

Поиск в Интернете и, при необходимости, извлечение контента из результатов поиска.

{ "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. Поддерживает как облачное ИИ, так и самостоятельное извлечение 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 : включить веб-поиск для дополнительного контекста
  • includeSubdomains : Включить поддомены в извлечение

При использовании экземпляра self-hosted извлечение будет использовать ваш настроенный LLM. Для облачного API используется управляемая служба LLM Firecrawl.

7. Инструмент глубокого исследования (firecrawl_deep_research)

Проведите глубокое веб-исследование по запросу с использованием интеллектуального сканирования, поиска и анализа LLM.

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

Аргументы:

  • запрос (строка, обязательно): исследовательский вопрос или тема для изучения.
  • 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 (строка, обязательно): базовый 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

You must be authenticated.

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.

Реализация сервера Model Context Protocol (MCP), которая интегрируется с FireCrawl для расширенных возможностей веб-скрапинга.

  1. Функции
    1. Установка
      1. Работает с npx
      2. Ручная установка
      3. Работает на курсоре
      4. Бег на виндсерфинге
      5. Работает в локальном режиме SSE
      6. Установка через Smithery (Legacy)
      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
            MCP Server enabling integration with Scrapezy to retrieve structured data from websites.
            Last updated -
            1
            12
            1
            JavaScript
            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 allows LLMs to interact with web content through standardized tools, currently supporting web scraping functionality.
            Last updated -
            Python
            MIT License
            • Linux
            • Apple
          • A
            security
            F
            license
            A
            quality
            A server that provides tools to scrape websites and extract structured data from them using Firecrawl's APIs, supporting both basic website scraping in multiple formats and custom schema-based data extraction.
            Last updated -
            2
            JavaScript

          View all related MCP servers

          ID: 57mideuljt