mcp-server-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
Открыть настройки курсора
Перейти к разделу «Функции» > «Серверы MCP»
Нажмите «+ Добавить новый глобальный сервер MCP»
Введите следующий код:
{ "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }
Чтобы настроить Firecrawl MCP в Cursor v0.45.6
Открыть настройки курсора
Перейти к разделу «Функции» > «Серверы MCP»
Нажмите «+ Добавить новый сервер MCP»
Введите следующее:
Имя: "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
},
};Эти конфигурации контролируют:
Повторное поведение
Автоматически повторяет неудачные запросы из-за ограничений по скорости
Использует экспоненциальную задержку, чтобы избежать перегрузки API.
Пример: При настройках по умолчанию повторные попытки будут предприняты в:
1-я повторная попытка: задержка 1 секунда
2-я повторная попытка: задержка 2 секунды
3-я повторная попытка: задержка 4 секунды (ограничено maxDelay)
Мониторинг использования кредита
Отслеживает потребление кредита 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: Пользовательский запрос для извлечения LLMsystemPrompt: системное приглашение для руководства LLMschema: схема 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Внося вклад
Форк репозитория
Создайте свою ветку функций
Запуск тестов:
npm testОтправить запрос на извлечение
Спасибо всем, кто внес свой вклад
Спасибо @vrknetha , @cawstudios за первоначальную реализацию!
Благодарим MCP.so и Klavis AI за хостинг, а также @gstarwd , @xiangkaiz и @zihaolin96 за интеграцию нашего сервера.
Лицензия
Лицензия MIT — подробности см. в файле LICENSE
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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