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