Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
firecrawl-mcp-server — MCP-сервер, предоставляющий возможности веб-скрапинга, обхода и поиска для AI-агентов. Поддерживает извлечение структурированных данных, интерактивный просмотр и углублённое исследование через единый API. | Kitploit
Инструменты/GitHubGitHub/firecrawl/firecrawl-mcp-server
Сбор информацииУтилиты и фреймворкиКраулер
GitHubfirecrawl/firecrawl-mcp-server

firecrawl-mcp-server

MCP-сервер, предоставляющий возможности веб-скрапинга, обхода и поиска для AI-агентов. Поддерживает извлечение структурированных данных, интерактивный просмотр и углублённое исследование через единый API.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт
7.2k8432 дней назадПроверено Kitploit

Firecrawl MCP Server

Сервер Model Context Protocol (MCP), который приносит Firecrawl в AI-агентов, совместимых с MCP — поиск, парсинг и взаимодействие с живой сетью для чистого, готового для агентов контекста.

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

Features

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

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

Installation

Hosted MCP (keyless free tier)

Подключитесь к удалённому хостинг-серверу без настройки:``` https://mcp.firecrawl.dev/v2/mcp

root@kitploit:~
На бесплатном уровне без ключа `scrape`, `search` и `interact` работают без API-ключа (с ограничением скорости). Другие инструменты, такие как `crawl`, `map`, `agent` и `extract`, по-прежнему требуют ключ.

Предпочитайте API-ключ или OAuth, если человек может зарегистрироваться. Это открывает полный набор инструментов и более высокие лимиты. С ключом используйте:```
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp

См. документацию MCP сервера и руководство по онбордингу агентов для получения информации о настройке.

Запуск с помощью npx```bash

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

root@kitploit:~
### Ручная установка```bash
npm install -g firecrawl-mcp

Запуск в Cursor

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

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

  1. Откройте настройки Cursor
  2. Перейдите в Features > MCP Servers
  3. Нажмите «+ Add new global MCP server»
  4. Введите следующий код: ```json { "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }
    root@kitploit:~

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

  1. Откройте Настройки Cursor
  2. Перейдите в Features > MCP Servers
  3. Нажмите "+ Add New MCP Server"
  4. Введите следующее:
    • Name: "firecrawl-mcp" (или любое имя по вашему выбору)
    • Type: "command"
    • Command: 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-серверов, чтобы увидеть новые инструменты. Композерный агент будет автоматически использовать Firecrawl MCP, когда это необходимо, но вы можете явно запросить его, описав свои потребности в веб-скрапинге. Откройте Композер через Command+L (Mac), выберите "Agent" рядом с кнопкой отправки и введите ваш запрос.

Запуск на Windsurf

Добавьте это в ваш ./codeium/windsurf/model_config.json:```json { "mcpServers": { "mcp-server-firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR_API_KEY" } } } }

root@kitploit:~
### Запуск с Streamable HTTP в локальном режиме

Для запуска сервера с использованием Streamable HTTP локально вместо транспортного протокола stdio по умолчанию:```bash
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

Установка через Smithery (Устаревший способ)

Чтобы установить Firecrawl for Claude Desktop автоматически через Smithery:```bash npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude

root@kitploit:~
### Запуск в VS Code

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

[![Install with NPX in VS Code](https://img.shields.io/badge/VS_Code-NPM-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D) [![Install with NPX in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-NPM-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D&quality=insiders)

Для ручной установки добавьте следующий блок JSON в файл User Settings (JSON) в VS Code. Для этого нажмите `Ctrl + Shift + P` и введите `Preferences: Open User Settings (JSON)`.```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 в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими:```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}" } } } }

root@kitploit:~
## Конфигурация

### Переменные среды

#### Необходимые для Cloud API

- `FIRECRAWL_API_KEY`: Ваш ключ API Firecrawl
  - Требуется при использовании облачного API (по умолчанию)
  - Необязательно при использовании собственного экземпляра с `FIRECRAWL_API_URL`
- `FIRECRAWL_API_URL` (Необязательно): Пользовательская конечная точка API для собственных экземпляров
  - Пример: `https://firecrawl.your-domain.com`
  - Если не указано, будет использоваться облачный API (требуется ключ API)

#### MCP OAuth (токены доступа Bearer)

Хостируемый Firecrawl может выдавать OAuth **токены доступа** (`fco_…`) через сервер авторизации на [firecrawl.dev](https://firecrawl.dev). Этот MCP-сервер передаёт любые учётные данные, которые он разрешает, в API Firecrawl как `Authorization: Bearer …`.

- **Транспорты HTTP stream** (`CLOUD_SERVICE=true`, `HTTP_STREAMABLE_SERVER=true` или `SSE_LOCAL=true`): Клиенты должны отправлять `Authorization: Bearer <fco_access_token>` в MCP-запросах. Токен Bearer OAuth имеет приоритет над `x-firecrawl-api-key` / `x-api-key`, если присутствуют оба.
- **stdio:** Используйте `FIRECRAWL_OAUTH_TOKEN` для статического токена доступа или продолжайте использовать `FIRECRAWL_API_KEY` для ключа API.

Используйте только **токены доступа** (`fco_…`). Токены обновления (`fcr_…`) должны быть обменены на конечной точке токена, а не передаваться в API scrape/search.

### Примеры конфигурации

Для использования облачного API:```bash
export FIRECRAWL_API_KEY=your-api-key

Для самостоятельного экземпляра:```bash

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

root@kitploit:~
### Использование с Claude Desktop

Добавьте это в ваш `claude_desktop_config.json`:```json
{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Как выбрать инструмент

Используйте это руководство, чтобы подобрать правильный инструмент для вашей задачи:

  • Если вы знаете точный URL: используйте scrape (с форматом JSON для структурированных данных)
  • Если у вас несколько известных URL: вызывайте scrape для каждого URL. Если вам нужна одна массовая операция API, используйте пакетную конечную точку Firecrawl API вне MCP.
  • Если нужно обнаружить URL-адреса на сайте: используйте map
  • Если хотите выполнить поиск в интернете: используйте search
  • Если нужно сложное исследование по нескольким неизвестным источникам: используйте agent
  • Если хотите проанализировать весь сайт или раздел: используйте crawl (с ограничениями!)
  • Если нужна интерактивная автоматизация браузера (клики, ввод, навигация): используйте interact с URL для новой страницы, или scrape + interact, когда вы уже получили данные со страницы или нужен более точный контроль извлечения

Краткая справочная таблица

Руководство по выбору формата

При использовании scrape выберите подходящий формат:

  • JSON (рекомендуется в большинстве случаев): Используйте, когда нужны конкретные данные со страницы. Определите схему на основе того, что необходимо извлечь. Это позволяет получать компактные ответы и избегать переполнения контекстного окна.
  • Markdown (используйте с осторожностью): Только когда вам действительно нужно полное содержимое страницы, например, для чтения всей статьи с целью обобщения или анализа структуры страницы.

Доступные инструменты

1. Scrape Tool (firecrawl_scrape)

Извлечение содержимого с одного URL с расширенными возможностями.

Лучше всего подходит для:

  • Извлечения содержимого одной страницы, когда вы точно знаете, какая страница содержит нужную информацию.

Не рекомендуется для:

  • Извлечения содержимого с нескольких страниц (используйте повторные вызовы scrape для известных URL, или map + scrape для предварительного обнаружения URL, или crawl для полного содержимого страниц)
  • Когда вы не уверены, какая страница содержит информацию (используйте search)

Частые ошибки:

  • Передача списка URL в один вызов scrape. Вызывайте scrape по одному URL за раз в MCP. Если вам нужна одна массовая операция API, используйте пакетную конечную точку Firecrawl API вне MCP.
  • Использование формата markdown по умолчанию (используйте JSON, чтобы извлекать только то, что нужно).

Выбор подходящего формата:

  • JSON (предпочтительно): В большинстве случаев используйте формат JSON со схемой, чтобы извлечь только необходимые данные. Это делает ответы сфокусированными и предотвращает переполнение контекстного окна.
  • Markdown: Только когда задача действительно требует полного содержимого страницы (например, обобщение целой статьи, анализ структуры страницы).

Пример запроса:

"Получите информацию о товаре с https://example.com/product."

Пример использования (JSON - предпочтительный):```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"] } } ] } }

root@kitploit:~
**Пример использования (формат markdown - когда требуется полное содержание):**```json
{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com/article",
    "formats": ["markdown"],
    "onlyMainContent": true
  }
}

Пример использования (формат брендирования - извлечение идентичности бренда):```json { "name": "firecrawl_scrape", "arguments": { "url": "https://example.com", "formats": ["branding"] } }

root@kitploit:~
**Branding format:** Извлекает всестороннюю идентичность бренда (цвета, шрифты, типографику, отступы, логотип, компоненты интерфейса) для анализа дизайна или повторения стиля.
**Privacy:** Установите `redactPII: true`, чтобы вернуть контент с удаленной личной информацией.

**Returns:**

- Структурированные данные JSON, markdown, профиль бренда или другие форматы по запросу.

### 2. Map Tool (`firecrawl_map`)

Картографирование веб-сайта для обнаружения всех индексированных URL на сайте.

**Подходит для:**

- Обнаружения URL на веб-сайте перед решением, что сканировать
- Поиска конкретных разделов сайта

**Не рекомендуется для:**

- Когда вы уже знаете, какой конкретный URL вам нужен (используйте scrape)
- Когда вам нужно содержимое страниц (используйте scrape после картографирования)

**Распространенные ошибки:**

- Использование crawl для обнаружения URL вместо map

**Пример запроса:**

> "Перечислите все URL на example.com."

**Пример использования:**```json
{
  "name": "firecrawl_map",
  "arguments": {
    "url": "https://example.com"
  }
}

Возвращает:

  • Массив URL-адресов, найденных на сайте

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

Выполняет поиск в интернете и опционально извлекает содержимое из результатов поиска.

Лучше всего подходит для:

  • Поиска конкретной информации на нескольких веб-сайтах, когда вы не знаете, на каком сайте она находится.
  • Когда вам нужно самое релевантное содержимое по запросу

Не рекомендуется для:

  • Когда вы уже знаете, какой сайт нужно просканировать (используйте scrape)
  • Когда вам нужен всесторонний охват одного веб-сайта (используйте map или crawl)

Распространенные ошибки:

  • Использование crawl или map для открытых вопросов (вместо этого используйте search)

Пример использования:```json { "name": "firecrawl_search", "arguments": { "query": "latest AI research papers 2023", "limit": 5, "lang": "en", "country": "us", "scrapeOptions": { "formats": ["markdown"], "onlyMainContent": true, "redactPII": true } } }

root@kitploit:~
**Возвращает:**

- Массив результатов поиска (с возможным извлеченным содержимым), а также поле `id`. Передайте этот `id` в `firecrawl_search_feedback` после использования результатов, чтобы вернуть 1 кредит (поиск стоит 2) и улучшить качество поиска.

**Пример запроса:**

> "Найдите последние исследовательские статьи по ИИ, опубликованные в 2023 году."

### 3b. Инструмент обратной связи по поиску (`firecrawl_search_feedback`)

Отправляет структурированную обратную связь по предыдущему результату `firecrawl_search`. Первая обратная связь для каждого идентификатора поиска возвращает 1 кредит и улучшает качество поиска Firecrawl. Идемпотентно для каждого идентификатора поиска.

**Вызывайте это после каждого поиска, который вы фактически используете** (или который не помог). Плохая/частичная обратная связь с `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-суток, когда они видят этот флаг.

**Пример использования:**```json
{
  "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'"
  }
}

Returns:

  • { success, feedbackId, creditsRefunded, alreadySubmitted? } JSON.

3c. Универсальный инструмент обратной связи (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 не будет зарегистрирован, поэтому агенты не смогут его вызвать.

Пример использования:```json { "name": "firecrawl_feedback", "arguments": { "endpoint": "scrape", "jobId": "0193f6c5-1234-7890-abcd-1234567890ab", "rating": "partial", "issues": ["missing_markdown"], "tags": ["docs"], "note": "The pricing table was missing from the markdown output.", "url": "https://example.com/pricing", "pageNumbers": [1], "metadata": { "format": "markdown" } } }

root@kitploit:~
**Returns:**

- `{ success, feedbackId, creditsRefunded, creditsRefundedToday?, dailyRefundCap?, dailyCapReached?, alreadySubmitted?, warning? }` JSON.

### 4. Инструмент обхода (`firecrawl_crawl`)

Запускает задание обхода, опрашивает его до достижения конечного состояния и возвращает итоговый статус/данные обхода.

**Лучше всего подходит для:**

- Извлечения содержимого с нескольких связанных страниц, когда требуется полный охват.

**Не рекомендуется для:**

- Извлечения содержимого с одной страницы (используйте scrape)
- Когда важны лимиты токенов (используйте map + scrape для более точного контроля)
- Когда нужны быстрые результаты (обход может быть медленным)

**Предупреждение:** Ответы от обхода могут быть очень большими и превышать лимиты токенов. Ограничьте глубину обхода и количество страниц или используйте map + scrape для более точного контроля.

**Распространённые ошибки:**

- Установка слишком большого значения limit или maxDiscoveryDepth (приводит к переполнению токенов)
- Использование обхода для одной страницы (лучше использовать scrape)

**Пример промпта:**

> «Получить все записи блога с первых двух уровней example.com/blog.»

**Пример использования:**```json
{
  "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, если вам нужно позже повторно проверить задание.

5. Проверка статуса краулинга (firecrawl_check_crawl_status)

Проверьте статус и результаты существующего задания краулинга по ID.```json { "name": "firecrawl_check_crawl_status", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }

root@kitploit:~
**Возвращает:**

- Ответ включает статус задания обхода:

### 6. Инструмент Parse (`firecrawl_parse`)

Анализирует локальные файлы или ссылки на загруженные файлы с помощью конечной точки `/v2/parse` Firecrawl.

**Лучше всего подходит для:** PDF-файлов, документов Word, электронных таблиц, HTML-файлов и других документов, которые требуют вывода в формате markdown или структурированного JSON. Хостированный MCP поддерживает двухэтапный поток с ссылкой на загрузку; локальное чтение файлов напрямую требует самостоятельного размещения `FIRECRAWL_API_URL`.

**Не рекомендуется для:** удаленных URL (используйте scrape), нескольких файлов в одном вызове (вызывайте parse один раз на файл), или действий только в браузере, таких как скриншоты и клики.

**Поток хостированного MCP:** Хостированный MCP не может напрямую читать файловую систему вызывающего. Вызовите `firecrawl_parse` с `filePath`, чтобы получить кратковременную команду загрузки и `nextToolCall`, загрузите файл локально, затем снова вызовите `firecrawl_parse` с полученным `uploadRef`. Создание URL загрузки хостированным способом требует авторизации Firecrawl или права доступа без ключа. В локальном режиме `npx firecrawl-mcp` прямое чтение файлов в настоящее время требует `FIRECRAWL_API_URL`, указывающего на самостоятельно размещенный API Firecrawl; обычный локальный сервер только с облачным ключом API не может читать и загружать файлы через этот инструмент.

**Пример использования:**```json
{
  "name": "firecrawl_parse",
  "arguments": {
    "filePath": "/absolute/path/to/document.pdf",
    "formats": ["markdown"],
    "parsers": ["pdf"],
    "zeroDataRetention": true
  }
}

Returns: Parsed document content or hosted upload instructions with a nextToolCall.

7. Инструмент извлечения (firecrawl_extract)

Извлекает структурированную информацию из веб-страниц с помощью возможностей LLM. Поддерживает как облачный ИИ, так и самостоятельное извлечение LLM.

Подходит для:

  • Извлечения конкретных структурированных данных, таких как цены, названия, детали.

Не рекомендуется для:

  • Когда вам нужно полное содержимое страницы (используйте scrape)
  • Когда вы не ищете конкретные структурированные данные

Аргументы:

  • urls: Массив URL-адресов для извлечения информации
  • prompt: Пользовательский промпт для извлечения LLM
  • systemPrompt: Системный промпт для управления LLM
  • schema: JSON-схема для извлечения структурированных данных
  • allowExternalLinks: Разрешить извлечение из внешних ссылок
  • enableWebSearch: Включить веб-поиск для дополнительного контекста
  • includeSubdomains: Включить поддомены в извлечение

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

"Извлеките название продукта, цену и описание с этих страниц товаров."

Пример использования:```json { "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 } }

root@kitploit:~
**Возвращает:**

- Извлечённые структурированные данные, как определено вашей схемой```json
{
  "content": [
    {
      "type": "text",
      "text": {
        "name": "Example Product",
        "price": 99.99,
        "description": "This is an example product description"
      }
    }
  ],
  "isError": false
}

8. Агент инструмент (firecrawl_agent)

Автономный веб-исследовательский агент. Это отдельный слой ИИ-агента, который самостоятельно просматривает интернет, ищет информацию, переходит по страницам и извлекает структурированные данные на основе вашего запроса.

Как это работает:

Агент выполняет веб-поиск, переходит по ссылкам, читает страницы и автономно собирает данные. Этот процесс работает асинхронно — он немедленно возвращает ID задачи, а вы опрашиваете firecrawl_agent_status, чтобы узнать, когда он завершится, и получить результаты.

Асинхронный рабочий процесс:

  1. Вызовите firecrawl_agent с вашим запросом/схемой → возвращает ID задачи
  2. Занимайтесь другой работой, пока агент проводит исследование (для сложных запросов может потребоваться несколько минут)
  3. Опрашивайте firecrawl_agent_status с ID задачи, чтобы отслеживать прогресс
  4. Когда статус станет "completed", ответ будет содержать извлечённые данные

Лучше всего подходит для:

  • Сложных исследовательских задач, когда вы не знаете точные URL
  • Сбора данных из нескольких источников
  • Поиска информации, разбросанной по всему интернету
  • Задач, при которых вы можете заниматься другой работой, пока ждёте результаты

Не рекомендуется для:

  • Простого скрапинга одной страницы, когда вы знаете URL (используйте scrape с JSON-форматом — быстрее и дешевле)

Аргументы:

  • prompt: Описание данных на естественном языке (обязательно, максимум 10 000 символов)
  • urls: Необязательный массив URL для фокусировки агента на определённых страницах
  • schema: Необязательная JSON-схема для структурированного вывода

Пример запроса:

"Найти основателей Firecrawl и их истории"

Пример использования (запуск агента, затем опрос результатов):```json { "name": "firecrawl_agent", "arguments": { "prompt": "Find the top 5 AI startups founded in 2024 and their funding amounts", "schema": { "type": "object", "properties": { "startups": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "funding": { "type": "string" }, "founded": { "type": "string" } } } } } } } }

root@kitploit:~
Затем опрашивайте с помощью `firecrawl_agent_status`, используя возвращённый идентификатор задания.

**Пример использования (с URL-адресами — агент фокусируется на конкретных страницах):**```json
{
  "name": "firecrawl_agent",
  "arguments": {
    "urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
    "prompt": "Compare the features and pricing information from these pages"
  }
}

Возвращает:

  • Идентификатор задания для проверки статуса. Используйте firecrawl_agent_status для опроса результатов.

9. Проверка статуса агента (firecrawl_agent_status)

Проверьте статус задания агента и получите результаты после завершения. Используйте это для опроса результатов после запуска агента.

Шаблон опроса: Исследование агента может занимать минуты для сложных запросов. Периодически опрашивайте эту конечную точку (например, каждые 10-30 секунд), пока статус не станет "completed" или "failed".```json { "name": "firecrawl_agent_status", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }

root@kitploit:~
**Возможные статусы:**

- `processing`: Агент всё ещё исследует — проверьте позже
- `completed`: Исследование завершено — ответ содержит извлечённые данные
- `failed`: Произошла ошибка

### 10. Инструмент взаимодействия (`firecrawl_interact`)

Взаимодействуйте с новым URL-адресом или со страницей, которая уже была открыта с помощью `firecrawl_scrape`.

**Лучше всего подходит для:** Кликов, ввода текста, навигации и извлечения состояния из динамических страниц без восстановления устаревших инструментов браузера.

**Варианты использования:**

- Передайте `url`, чтобы парсить и открыть страницу для взаимодействия за один MCP-вызов.
- Передайте `scrapeId`, чтобы продолжить взаимодействие с уже распарсенной страницей.
- Передайте ровно один из параметров `url` или `scrapeId` плюс либо `prompt`, либо `code`.

**Пример использования:**```json
{
  "name": "firecrawl_interact",
  "arguments": {
    "url": "https://example.com",
    "prompt": "Click the pricing link and summarize the visible plans"
  }
}

Возвращает: Результат взаимодействия и, для режима URL, полученный scrapeId для последующих действий или очистки.

11. Инструмент остановки взаимодействия (firecrawl_interact_stop)

Останавливает сеанс взаимодействия с извлеченной страницей, когда вы закончили взаимодействие.```json { "name": "firecrawl_interact_stop", "arguments": { "scrapeId": "scrape-id-here" } }

root@kitploit:~
### 12. Инструменты исследований (`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.

**Лучше всего подходит для:** Обзора литературы, поиска статей и обнаружения репозиториев в рабочих процессах, где агенту требуется сфокусированная исследовательская поверхность вместо общего веб-скрапинга.

### 13. Инструменты мониторинга (`firecrawl_monitor_*`)

Создавайте и управляйте повторяющимися мониторами страниц. Мониторы выполняют запланированные сканирования или обходы, сравнивают каждый результат с последним сохранённым снимком и могут уведомлять через вебхук или по электронной почте.

**Лучше всего подходит для:**

- Наблюдения за одной или несколькими страницами в течение времени
- Оповещения о значимых изменениях с использованием цели на простом английском языке
- Отслеживания истории проверок и различий на уровне страниц

**Рекомендуемый шаблон создания:**

Используйте `page` или `pages` вместе с `goal`. MCP-сервер создаёт запрос монитора с 30-минутным расписанием, а API автоматически включает оценку значимых изменений.

Оценка значимых изменений выполняется автоматически, когда установлен `goal`. Вебхуки страниц предоставляют `isMeaningful` и `judgment` в событиях `monitor.page`.

Формулируйте цели как краткие инструкции монитора из 2-3 предложений. Укажите, что должно вызывать оповещение, сохраняйте любую область действия, указанную пользователем, и включайте исключения, специфичные для намерения, только если они очевидны из запроса. Общий шум, такой как пробелы, изменения только форматирования, идентификаторы запросов, параметры отслеживания, общие метаданные и нерелевантный хром страницы, уже обрабатывается оценщиком, поэтому не повторяйте это в каждой цели. Если пользователь неопределён, оставьте цель широкой; если он просит широкий мониторинг или «любые изменения», сохраните это. Если пользователь говорит, что его что-то не волнует, включите это явно.```json
{
  "name": "firecrawl_monitor_create",
  "arguments": {
    "page": "https://example.com/pricing",
    "goal": "Alert when pricing, packaging, or launch messaging changes."
  }
}

Множество страниц с вебхуками:```json { "name": "firecrawl_monitor_create", "arguments": { "pages": ["https://example.com/pricing", "https://example.com/changelog"], "goal": "Alert when pricing, packaging, or launch messaging changes.", "webhookUrl": "https://example.com/webhooks/firecrawl" } }

root@kitploit:~
**Расширенные запросы на создание:**

Передайте `body`, когда вам нужны цели сканирования, отслеживание изменений JSON, настраиваемое хранение или явный контроль `judgeEnabled`.```json
{
  "name": "firecrawl_monitor_create",
  "arguments": {
    "body": {
      "name": "Docs monitor",
      "schedule": { "text": "hourly", "timezone": "UTC" },
      "goal": "Alert when docs pages add, remove, or materially change API behavior.",
      "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, и .

Система логирования

Сервер включает комплексное логирование:

  • Статус и прогресс операций
  • Метрики производительности
  • Отслеживание лимитов скорости
  • Условия ошибок

Пример сообщений логов:``` [INFO] Firecrawl MCP Server initialized successfully [INFO] Starting scrape for URL: https://example.com [ERROR] Rate limit exceeded

root@kitploit:~
## Обработка ошибок

Сервер обеспечивает надежную обработку ошибок:

- Ошибки ограничения частоты запросов API, передаваемые клиенту MCP
- Подробные сообщения об ошибках
- Устойчивость к сетевым сбоям

Пример ответа с ошибкой:```json
{
  "content": [
    {
      "type": "text",
      "text": "Error: Rate limit exceeded"
    }
  ],
  "isError": true
}

Разработка```bash

Install dependencies

npm install

Build

npm run build

Run tests

npm test

root@kitploit:~
### Вклад в проект

1. Сделайте форк репозитория
2. Создайте ветку для вашей функции
3. Запустите тесты: `npm test`
4. Отправьте pull request

### Благодарности участникам

Спасибо [@vrknetha](https://github.com/vrknetha), [@cawstudios](https://caw.tech) за первоначальную реализацию!

Спасибо MCP.so и Klavis AI за хостинг, а также [@gstarwd](https://github.com/gstarwd), [@xiangkaiz](https://github.com/xiangkaiz) и [@zihaolin96](https://github.com/zihaolin96) за интеграцию нашего сервера.

## Лицензия

Лицензия MIT - подробности в файле LICENSE
Скачать инструмент
ИнструментЛучше всего подходит дляВозвращает
scrapeИзвлечение содержимого одной страницыJSON (предпочтительно) или markdown
interactВзаимодействие с URL или спарсенной страницейРезультат выполнения + scrapeId для режима URL
mapОбнаружение URL-адресов на сайтеURL[]
crawlМногостраничное извлечение (с ограничениями)Финальные статус/данные crawl после внутреннего опроса
parseФайлы и ссылки на загруженные объектыmarkdown, JSON или документ
extractСтруктурированное извлечение из URLJSON структурированные данные
searchПоиск информации в интернетеresults[]
agentКомплексное многоисточниковое исследованиеJSON (структурированные данные)
monitorПериодические проверки страницМетаданные проверки и различия
researchИсследование статей и репозиториев GitHubРезультаты исследования и совпадения репозиториев
judgment.meaningful
judgment.meaningfulChanges