Skip to main content
Glama
firecrawl

mcp-server-firecrawl

by firecrawl

Сервер Firecrawl MCP

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

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

Функции

  • Веб-скрапинг, сканирование и обнаружение

  • Поиск и извлечение контента

  • Глубокое исследование и пакетный сбор данных

  • Автоматические повторные попытки и ограничение скорости

  • Поддержка в облаке и на собственном хостинге

  • Поддержка SSE

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

Related MCP server: WebSearch

Установка

Работает с 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

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

Установить с помощью NPX в VS Code Установка с NPX в VS Code Insiders

Для ручной установки добавьте следующий блок 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"
  }
}

4. Инструмент поиска ( firecrawl_search )

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

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

Install Server
A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
1dResponse time
3wRelease cycle
5Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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