MCP-сервер Firecrawl для интеллектуального веб-скрапинга: crawl, scrape, extract структурированных данных с сайтов прямо в AI-агент через единое API.
Требуется Firecrawl API Key: https://www.firecrawl.dev
# Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": { "FIRECRAWL_API_KEY": "fc-ВАШ_КЛЮЧ" }
}
}
}
# Claude Code (CLI):
claude mcp add firecrawl -e FIRECRAWL_API_KEY=fc-ВАШ_КЛЮЧ -- npx -y firecrawl-mcp
# OpenCode — ~/.config/opencode/opencode.json:
{
"mcp": {
"firecrawl": {
"type": "local",
"command": ["npx", "-y", "firecrawl-mcp"],
"environment": { "FIRECRAWL_API_KEY": "fc-ВАШ_КЛЮЧ" }
}
}
}
<img src="https://raw.githubusercontent.com/firecrawl/firecrawl-mcp-server/main/img/fire.png" height="140"
Сервер Model Context Protocol (MCP), который интегрирует Firecrawl в совместимые с MCP ИИ-агенты — поиск, сканирование и взаимодействие с живым вебом для получения чистого, готового к использованию контекста.
Огромная благодарность @vrknetha, @knacklabs за первоначальную реализацию!
Попробуйте наш MCP-сервер на площадке MCP.so или на Klavis AI.
Подключитесь к удаленному размещенному серверу без настройки:
https://mcp.firecrawl.dev/v2/mcp
На бесплатном тарифе без ключа функции scrape, search и interact работают без API-ключа (с ограничением частоты запросов). Для других инструментов, таких как crawl, map, agent и extract, по-прежнему требуется ключ.
Рекомендуется использовать API-ключ или OAuth, если пользователь может зарегистрироваться. Это разблокирует полный набор инструментов и более высокие лимиты. С ключом используйте:
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
Подробности см. в документации MCP-сервера и руководстве по внедрению агента.
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
npm install -g firecrawl-mcp
Настройка Cursor 🖥️ Примечание: Требуется версия Cursor 0.45.6+ Для получения самых актуальных инструкций по настройке пожалуйста обратитесь к официальной документации Cursor по настройке MCP-серверов: Руководство по настройке MCP-сервера в Cursor
Для настройки Firecrawl MCP в Cursor v0.48.6
json
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}Для настройки Firecrawl MCP в Cursor v0.45.6
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 на ваш Firecrawl API-ключ. Если у вас его еще нет, вы можете создать учетную запись и получить его на https://www.firecrawl.dev/app/api-keys
После добавления обновите список MCP-серверов, чтобы увидеть новые инструменты. Композиторный агент будет автоматически использовать Firecrawl MCP при необходимости, но вы можете явно запросить его, описав ваши потребности в веб-скрапинге. Доступ к Композитору через 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"
}
}
}
}
Для запуска сервера с использованием Streamable HTTP локально вместо стандартного транспорта stdio:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
Используйте URL: http://localhost:3000/mcp
Для автоматической установки Firecrawl для Claude Desktop через Smithery:
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
Для установки одним нажатием нажмите одну из кнопок установки ниже...
Для ручной установки добавьте следующий 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}"
}
}
}
}
FIRECRAWL_API_KEY: Ваш Firecrawl API-ключFIRECRAWL_API_URLFIRECRAWL_API_URL (Необязательно): Пользовательская конечная точка API для самостоятельных экземпляровhttps://firecrawl.your-domain.comРазмещенный Firecrawl может выдавать токены доступа OAuth (fco_…) через сервер авторизации на firecrawl.dev. Этот MCP-сервер перенаправляет любой полученный им идентификатор в API Firecrawl как Authorization: Bearer ….
CLOUD_SERVICE=true, HTTP_STREAMABLE_SERVER=true или SSE_LOCAL=true): Клиенты должны отправлять Authorization: Bearer <fco_access_token> в запросах MCP. OAuth bearer token имеет приоритет над x-firecrawl-api-key / x-api-key, когда оба присутствуют.FIRECRAWL_OAUTH_TOKEN для статического токена доступа или продолжайте использовать FIRECRAWL_API_KEY для API-ключа.Используйте только токены доступа (fco_…). Токены обновления (fcr_…) должны обмениваться на конечной точке токенов, а не передаваться в API скрапинга/поиска.
Для использования облачного API:
export FIRECRAWL_API_KEY=your-api-key
Для самостоятельного экземпляра:
# Требуется для самостоятельного экземпляра
export FIRECRAWL_API_URL=https://firecrawl.your-domain.com
# Необязательная аутентификация для самостоятельного экземпляра
export FIRECRAWL_API_KEY=your-api-key # Если ваш экземпляр требует аутентификации
Добавьте это в ваш файл claude_desktop_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Используйте это руководство для выбора подходящего инструмента:
| Инструмент | Лучше всего подходит для | Возвращает |
|---|---|---|
| скрап | Содержимое одной страницы | JSON (предпочтительно) или markdown |
| взаимодействие | Взаимодействие с URL или уже полученной страницей | Результат выполнения + scrapeId для режима URL |
| карта | Обнаружение URL-адресов на сайте | URL[] |
| ползание | Извлечение данных с нескольких страниц (с ограничениями) | Финальный статус/данные после внутреннего опроса |
| разбор | Файлы и ссылки на загруженные документы | markdown, JSON или другой формат документа |
| извлечение | Структурированное извлечение из URL | JSON структурированные данные |
| поиск | Веб-поиск информации | results[] |
| агент | Сложные исследования из нескольких источников | JSON (структурированные данные) |
| мониторинг | Периодическая проверка страниц | метаданные проверки/мониторинга и отличия |
| исследование | Анализ научных статей и репозиториев GitHub | Результаты исследования и совпадения по репозиториям |
При использовании скрап выбирайте правильный формат:
firecrawl_scrape)Получает содержимое с одной URL-страницы с расширенными опциями.
Лучше всего подходит для:
Не рекомендуется для:
Типичные ошибки:
Выбор правильного формата:
Пример запроса:
«Получите информацию о товаре с https://example.com/product.»
Пример использования (JSON-формат - предпочтительный):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/product",
"formats": [
{
"type": "json",
"prompt": "Extract the product information",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
}
}
]
}
}
Пример использования (формат markdown - когда нужен полный контент):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/article",
"formats": ["markdown"],
"onlyMainContent": true
}
}
Пример использования (формат branding - извлечение бренд-айдентики):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["branding"]
}
}
Формат branding: Извлекает комплексную бренд-айдентику (цвета, шрифты, типографику, отступы, логотип, UI-компоненты) для анализа дизайна или репликации стиля.
Конфиденциальность: Установите redactPII: true, чтобы возвращать контент с замаскированной персональной идентифицирующей информацией.
Возвращает:
firecrawl_map)Составляет карту веб-сайта для обнаружения всех проиндексированных URL на нем.
Лучше всего подходит для:
Не рекомендуется для:
Типичные ошибки:
Пример запроса:
«Перечислите все URL на example.com.»
Пример использования:
{
"name": "firecrawl_map",
"arguments": {
"url": "https://example.com"
}
}
Возвращает:
firecrawl_search)Ищет в интернете и опционально извлекает контент из результатов поиска.
Лучше всего подходит для:
Не рекомендуется для:
Типичные ошибки:
Пример использования:
{
"name": "firecrawl_search",
"arguments": {
"query": "latest AI research papers 2023",
"limit": 5,
"lang": "en",
"country": "us",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true,
"redactPII": true
}
}
}
Возвращает:
id. Передайте этот id в firecrawl_search_feedback после использования результатов, чтобы вернуть 1 кредит (поиск стоит 2) и улучшить качество поиска.Пример запроса:
«Найдите последние исследования по ИИ, опубликованные в 2023 году.»
firecrawl_search_feedback)Отправляет структурированную обратную связь по результату предыдущего firecrawl_search. Первая обратная связь по каждому search id возвращает 1 кредит и улучшает качество поиска Firecrawl. Идемпотентна для каждого search id.
Вызывайте это после каждого поиска, который вы фактически использовали (или который оказался бесполезным). Плохая/частичная обратная связь со значением missingContent так же ценна, как и хорошая.
Отключение: установите FIRECRAWL_NO_SEARCH_FEEDBACK=1 (или FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1) в окружении при запуске MCP-сервера. Инструмент firecrawl_search_feedback не будет зарегистрирован, и агенты не смогут его вызвать. Администраторы команды также могут отключить обратную связь на стороне сервера; в этом случае инструмент регистрируется, но всегда возвращает feedbackErrorCode: "TEAM_OPTED_OUT".
Наиболее важное поле: missingContent. Это массив конкретных фрагментов контента, которые агент ожидал найти, но не обнаружил. Одна запись на недостающую тему — они агрегируются по командам и говорят нам, что индексировать дальше.
Ежедневный лимит возврата (на команду, в день по UTC, по умолчанию 100 кредитов). Когда creditsRefundedToday команды достигает dailyRefundCap, дальнейшие отправки по-прежнему записывают обратную связь, но больше не возвращают кредиты. Ответ устанавливает dailyCapReached: true. Агенты должны прекратить вызывать этот инструмент на остаток дня по UTC, когда увидят этот флаг.
Пример использования:
{
"name": "firecrawl_search_feedback",
"arguments": {
"searchId": "0193f6c5-1234-7890-abcd-1234567890ab",
"rating": "good",
"valuableSources": [
{
"url": "https://docs.firecrawl.dev/features/search",
"reason": "Most up-to-date description of /search."
}
],
"missingContent": [
{
"topic": "Pricing for the search endpoint",
"description": "No pricing tier table for /search specifically."
},
{ "topic": "Per-team rate limits" }
],
"querySuggestions": "Boost docs.firecrawl.dev for queries that mention 'firecrawl'"
}
}
Возвращает:
{ success, feedbackId, creditsRefunded, alreadySubmitted? } JSON.firecrawl_feedback)Отправляет структурированную обратную связь по завершённой задаче v2-конечной точке через /v2/feedback.
Используйте это для обратной связи на уровне конечной точки по задачам scrape, parse, map или search.
Для обратной связи по качеству результатов поиска предпочтительнее
firecrawl_search_feedback, так как он содержит рекомендации, специфичные для поиска.
Делайте обратную связь краткой: используйте коды проблем, теги, короткие примечания, URL, номера страниц и небольшие объекты метаданных. Не включайте сырой результат scrape/parse.
Отключение: установите переменную среды FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 (или FIRECRAWL_DISABLE_ENDPOINT_FEEDBACK=1) при запуске MCP-сервера. Инструмент firecrawl_feedback не будет зарегистрирован, и агенты не смогут его вызвать.
Пример использования:
{
"name": "firecrawl_feedback",
"arguments": {
"endpoint": "scrape",
"jobId": "0193f6c5-1234-7890-abcd-1234567890ab",
"rating": "partial",
"issues": ["missing_markdown"],
"tags": ["docs"],
"note": "Таблица с ценами отсутствовала в markdown-выводе.",
"url": "https://example.com/pricing",
"pageNumbers": [1],
"metadata": {
"format": "markdown"
}
}
}
Возвращает:
{ success, feedbackId, creditsRefunded, creditsRefundedToday?, dailyRefundCap?, dailyCapReached?, alreadySubmitted?, warning? }.firecrawl_crawl)Запускает задачу сканирования, опрашивает статус до достижения конечного состояния и возвращает итоговый статус/данные сканирования.
Лучше всего подходит для:
Не рекомендуется для:
Предупреждение: Ответы сканирования могут быть очень большими и превышать лимиты токенов. Ограничьте глубину сканирования и количество страниц, или используйте map + scrape для более точного контроля.
Типичные ошибки:
limit или maxDiscoveryDepth (приводит к переполнению токенов)crawl для одной страницы (вместо этого используйте scrape)Пример запроса:
"Получить все статьи из блога с первых двух уровней сайта example.com/blog."
Пример использования:
{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com/blog/*",
"maxDiscoveryDepth": 2,
"limit": 100,
"allowExternalLinks": false,
"deduplicateSimilarURLs": true
}
}
Возвращает:
id, status, completed, total, creditsUsed, expiresAt, next, и data. Используйте возвращённый id с инструментом firecrawl_check_crawl_status, если нужно повторно проверить задачу позже.firecrawl_check_crawl_status)Проверяет статус и результаты существующей задачи сканирования по её ID.
{
"name": "firecrawl_check_crawl_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Возвращает:
firecrawl_parse)Парсит локальные файлы или ссылки на загруженные файлы с помощью конечной точки Firecrawl /v2/parse.
Лучше всего подходит для: PDF-файлов, документов Word, таблиц, HTML-файлов и других документов, требующих вывода в формате markdown или структурированного JSON. Хостинговая поддержка MCP использует двухшаговый процесс загрузки; прямое чтение локальных файлов требует 자체ного хостинга FIRECRAWL_API_URL.
Не рекомендуется для: удалённых URL (используйте scrape), нескольких файлов в одном вызове (вызывайте parse для каждого файла отдельно) или действий, требующих браузера (например, скриншоты и клики).
Процесс для хостинговой версии MCP: Хостинговая версия MCP не может напрямую читать файловую систему вызывающего приложения. Вызовите firecrawl_parse с параметром filePath, чтобы получить кратковременную команду загрузки и nextToolCall, загрузите файл локально, затем снова вызовите firecrawl_parse с полученным uploadRef. Создание URL для загрузки в хостинге требует аутентификации Firecrawl или соответствия требованиям keyless-доступа. В локальном режиме npx firecrawl-mcp прямой парсинг файлов в настоящее время требует, чтобы FIRECRAWL_API_URL указывал на собственный API Firecrawl; локальный сервер с использованием только облачного API-ключа не может читать и загружать файлы через этот инструмент.
Пример использования:
{
"name": "firecrawl_parse",
"arguments": {
"filePath": "/absolute/path/to/document.pdf",
"formats": ["markdown"],
"parsers": ["pdf"],
"zeroDataRetention": true
}
}
Возвращает: Спарсенный контент документа или инструкции для загрузки в хостинг с nextToolCall.
firecrawl_extract)Извлекает структурированную информацию из веб-страниц с использованием возможностей LLM. Поддерживает как облачные, так и самостоятельные извлечения с помощью LLM.
Лучше всего подходит для:
Не рекомендуется для:
Параметры:
urls: Массив URL для извлечения информации.prompt: Пользовательский запрос для извлечения с помощью LLM.systemPrompt: Системный запрос для направления LLM.schema: JSON-схема для извлечения структурированных данных.allowExternalLinks: Разрешить извлечение с внешних ссылок.enableWebSearch: Включить веб-поиск для дополнительного контекста.includeSubdomains: Включить поддомены в извлечение.При использовании самостоятельной инстанции извлечение будет использовать настроенный вами LLM. Для облачного API используется управляемый сервис LLM от Firecrawl.
Пример запроса:
"Извлеките название продукта, цену и описание с этих страниц товаров."
Пример использования:
{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1", "https://example.com/page2"],
"prompt": "Извлеките информацию о продукте, включая название, цену и описание",
"systemPrompt": "Вы полезный ассистент, извлекающий информацию о продуктах",
"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": "Пример Продукта",
"price": 99.99,
"description": "Это пример описания продукта"
}
}
],
"isError": false
}
firecrawl_agent)Автономный веб-агент для исследования. Это отдельный уровень ИИ-агента, который независимо просматривает интернет, ищет информацию, перемещается по страницам и извлекает структурированные данные на основе вашего запроса.
Как это работает:
Агент выполняет веб-поиски, переходит по ссылкам, читает страницы и собирает данные автономно. Это работает асинхронно — он немедленно возвращает ID задачи, а вы опрашиваете firecrawl_agent_status, чтобы проверить завершение и получить результаты.
Асинхронный процесс:
firecrawl_agent со своим запросом/схемой → возвращает ID задачиfirecrawl_agent_status с ID задачи, чтобы проверить прогрессЛучше всего подходит для:
Не рекомендуется для:
Параметры:
prompt: Описание на естественном языке нужных вам данных (обязательный, макс. 10 000 символов)urls: Необязательный массив URL для фокусировки агента на определённых страницахschema: Необязательная JSON-схема для структурированного выводаПример запроса:
"Найдите основателей Firecrawl и информацию об их бэкграунде"
Пример использования (запуск агента, затем опрос результатов):
{
"name": "firecrawl_agent",
"arguments": {
"prompt": "Найдите топ-5 AI-стартапов, основанных в 2024 году, и размеры их финансирования",
"schema": {
"type": "object",
"properties": {
"startups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"funding": { "type": "string" },
"founded": { "type": "string" }
}
}
}
}
}
}
}
Затем опрашивайте с помощью firecrawl_agent_status, используя полученный ID задачи.
Пример использования (с URL — агент фокусируется на конкретных страницах):
{
"name": "firecrawl_agent",
"arguments": {
"urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
"prompt": "Сравните функциональность и информацию о ценах с этих страниц"
}
}
Возвращает:
firecrawl_agent_status для опроса результатов.firecrawl_agent_status)Проверяет состояние задачи агента и получает результаты по завершении. Используйте этот метод для опроса результатов после запуска агента.
Паттерн опроса: Исследование агента может занять минуты для сложных запросов. Периодически опрашивайте этот эндпоинт (например, каждые 10-30 секунд) до тех пор, пока статус не станет «completed» или «failed».
{
"name": "firecrawl_agent_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Возможные статусы:
processing: Агент все еще проводит исследование - повторите попытку позжеcompleted: Исследование завершено - ответ содержит извлеченные данныеfailed: Произошла ошибкаfirecrawl_interact)Взаимодействует со свежим URL или со страницей, которая уже была открыта с помощью firecrawl_scrape.
Лучше всего подходит для: Кликов, ввода текста, навигации и извлечения состояния из динамических страниц без использования устаревших инструментов браузера.
Варианты использования:
url для сканирования и открытия страницы для взаимодействия в одном вызове MCP.scrapeId для продолжения взаимодействия с уже просканированной страницой.url или scrapeId, плюс либо prompt, либо code.Пример использования:
{
"name": "firecrawl_interact",
"arguments": {
"url": "https://example.com",
"prompt": "Нажмите на ссылку «Цены» и кратко опишите видимые планы"
}
}
Возвращает: Результат взаимодействия, а в режиме URL — полученный scrapeId для последующих действий или очистки.
firecrawl_interact_stop)Останавливает сессию взаимодействия с просканированной страницей, когда вы закончили с ней работать.
{
"name": "firecrawl_interact_stop",
"arguments": {
"scrapeId": "scrape-id-here"
}
}
firecrawl_research_*)Поиск и изучение статей и репозиториев GitHub с помощью исследовательских MCP-инструментов.
Доступные инструменты исследования:
firecrawl_research_search_papers: поиск исследовательских статей.firecrawl_research_inspect_paper: проверка одной статьи.firecrawl_research_related_papers: поиск связанных статей.firecrawl_research_read_paper: чтение содержимого статьи.firecrawl_research_search_github: поиск репозиториев GitHub.Лучше всего подходит для: Работ по обзору литературы, поиску статей и обнаружению репозиториев, когда агенту нужна сфокусированная исследовательская поверхность вместо общего веб-сканирования.
firecrawl_monitor_*)Создание и управление периодическими мониторами страниц. Мониторы выполняют запланированное сканирование или обход, сравнивают каждый результат с последним сохраненным снимком и могут уведомлять через вебхук или электронную почту.
Лучше всего подходит для:
Рекомендуемый паттерн создания:
Используйте page или pages вместе с goal. Сервер MCP формирует запрос монитора с расписанием в 30 минут, а API автоматически включает оценку значимых изменений.
Оценка значимых изменений выполняется автоматически, когда задан параметр goal. Вебхуки страниц предоставляют isMeaningful и judgment в событиях monitor.page.
Пишите цели как краткие инструкции для монитора из 2-3 предложений. Укажите, что должно вызвать оповещение, сохраните любую указанную пользователем область и включайте только очевидные из запроса исключения, связанные с намерением. Общая «шумность», такая как пробелы, изменения только форматирования, идентификаторы запросов, параметры отслеживания, общие метаданные и несвязанный интерфейс страницы, уже обрабатывается модулем оценки, поэтому не повторяйте это в каждой цели. Если пользователь неясен, оставьте цель общей; если он запрашивает широкий мониторинг или «любое изменение», сохраните это. Если пользователь говорит, что ему не важно что-то, укажите это явно.
{
"name": "firecrawl_monitor_create",
"arguments": {
"page": "https://example.com/pricing",
"goal": "Оповещать при изменении цен, пакетов или маркетинговых сообщений."
}
}
Несколько страниц с вебхуками:
{
"name": "firecrawl_monitor_create",
"arguments": {
"pages": ["https://example.com/pricing", "https://example.com/changelog"],
"goal": "Оповещать при изменении цен, пакетов или маркетинговых сообщений.",
"webhookUrl": "https://example.com/webhooks/firecrawl"
}
}
Расширенные запросы на создание:
Передайте body, когда вам нужны цели для обхода, отслеживание изменений в JSON, пользовательское хранение или явное управление judgeEnabled.
{
"name": "firecrawl_monitor_create",
"arguments": {
"body": {
"name": "Монитор документации",
"schedule": { "text": "hourly", "timezone": "UTC" },
"goal": "Оповещать, когда страницы документации добавляют, удаляют или существенно изменяют поведение API.",
"targets": [{ "type": "crawl", "url": "https://example.com/docs" }]
}
}
}
Другие инструменты мониторинга:
firecrawl_monitor_list: список мониторов.firecrawl_monitor_get: получение одного монитора.firecrawl_monitor_update: обновление полей, включая goal, judgeEnabled, webhook и notification.firecrawl_monitor_run: запуск проверки сейчас.firecrawl_monitor_delete: удаление монитора (необратимое действие; вызывайте только когда пользователь намерен его убрать).firecrawl_monitor_checks: список проверок, опционально отфильтрованных по статусу.firecrawl_monitor_check: получение результатов на уровне страниц, включая diff, snapshot, judgment.meaningful и judgment.meaningfulChanges.Сервер включает комплексное журналирование:
Примеры сообщений журнала:
[INFO] Сервер Firecrawl MCP успешно инициализирован
[INFO] Начало сканирования URL: https://example.com
[ERROR] Превышен лимит запросов
Сервер обеспечивает надежную обработку ошибок:
Пример ответа с ошибкой:
{
"content": [
{
"type": "text",
"text": "Error: Rate limit exceeded"
}
],
"isError": true
}
# Установка зависимостей
npm install
# Сборка
npm run build
# Запуск тестов
npm test
npm testБлагодарности @vrknetha, @cawstudios за начальную реализацию!
Благодарности MCP.so и Klavis AI за хостинг, а также @gstarwd, @xiangkaiz и @zihaolin96 за интеграцию нашего сервера.
Лицензия MIT - подробности см. в файле LICENSE