Skip to main content
Glama
jae-jae
by jae-jae

Сборщик MCP

MCP-сервер для загрузки содержимого веб-страниц с помощью браузера Playwright headless.

Преимущества

  • Поддержка JavaScript : в отличие от традиционных веб-скрейперов, Fetcher MCP использует Playwright для выполнения JavaScript, что позволяет обрабатывать динамический веб-контент и современные веб-приложения.

  • Интеллектуальное извлечение контента : встроенный алгоритм читабельности автоматически извлекает основной контент с веб-страниц, удаляя рекламу, навигацию и другие несущественные элементы.

  • Гибкий формат вывода : поддерживает форматы вывода HTML и Markdown, что упрощает интеграцию с различными нисходящими приложениями.

  • Параллельная обработка : инструмент fetch_urls обеспечивает одновременную загрузку нескольких URL-адресов, что значительно повышает эффективность пакетных операций.

  • Оптимизация ресурсов : автоматически блокирует ненужные ресурсы (изображения, таблицы стилей, шрифты, мультимедиа) для снижения использования полосы пропускания и повышения производительности.

  • Надежная обработка ошибок : комплексная обработка ошибок и ведение журнала обеспечивают надежную работу даже при работе с проблемными веб-страницами.

  • Настраиваемые параметры : детальный контроль тайм-аутов, извлечения контента и форматирования вывода для различных вариантов использования.

Related MCP server: MCP Server Fetch Python

Быстрый старт

Запустить напрямую с помощью npx:

npx -y fetcher-mcp

Первоначальная настройка — установите нужный браузер, выполнив следующую команду в терминале:

npx playwright install chromium

HTTP и SSE транспорт

Используйте параметр --transport=http для одновременного запуска служб конечной точки потокового HTTP и конечной точки SSE:

npx -y fetcher-mcp --log --transport=http --host=0.0.0.0 --port=3000

После запуска сервер предоставляет следующие конечные точки:

  • /mcp — потоковая конечная точка HTTP (современный протокол MCP)

  • /sse — конечная точка SSE (устаревший протокол MCP)

Клиенты могут выбрать способ подключения в зависимости от своих потребностей.

Режим отладки

Запустите с параметром --debug , чтобы отобразить окно браузера для отладки:

npx -y fetcher-mcp --debug

Конфигурация МКП

Настройте этот MCP-сервер в Claude Desktop:

На MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

В Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "fetcher": {
      "command": "npx",
      "args": ["-y", "fetcher-mcp"]
    }
  }
}

Развертывание Docker

Работа с Docker

docker run -p 3000:3000 ghcr.io/jae-jae/fetcher-mcp:latest

Развертывание с помощью Docker Compose

Создайте файл docker-compose.yml :

version: "3.8"

services:
  fetcher-mcp:
    image: ghcr.io/jae-jae/fetcher-mcp:latest
    container_name: fetcher-mcp
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    # Using host network mode on Linux hosts can improve browser access efficiency
    # network_mode: "host"
    volumes:
      # For Playwright, may need to share certain system paths
      - /tmp:/tmp
    # Health check
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"]
      interval: 30s
      timeout: 10s
      retries: 3

Затем выполните:

docker-compose up -d

Функции

  • fetch_url — Извлечение содержимого веб-страницы с указанного URL-адреса

    • Использует браузер Playwright headless для анализа JavaScript

    • Поддерживает интеллектуальное извлечение основного контента и преобразование в Markdown

    • Поддерживает следующие параметры:

      • url : URL-адрес веб-страницы для загрузки (обязательный параметр)

      • timeout : время ожидания загрузки страницы в миллисекундах, по умолчанию 30000 (30 секунд)

      • waitUntil : указывает, когда навигация считается завершенной, параметры: «load», «domcontentloaded», «networkidle», «commit», по умолчанию «load»

      • extractContent : следует ли интеллектуально извлекать основное содержимое, по умолчанию true

      • maxLength : максимальная длина возвращаемого содержимого (в символах), по умолчанию ограничений нет.

      • returnHtml : Возвращать ли HTML-контент вместо Markdown, по умолчанию false

      • waitForNavigation : следует ли ждать дополнительной навигации после первоначальной загрузки страницы (полезно для сайтов с проверкой на наличие ботов), по умолчанию — false

      • navigationTimeout : максимальное время ожидания дополнительной навигации в миллисекундах, по умолчанию 10000 (10 секунд)

      • disableMedia : Отключать ли медиаресурсы (изображения, таблицы стилей, шрифты, медиа), по умолчанию true

      • debug : Включать ли режим отладки (отображение окна браузера), переопределяет флаг командной строки --debug, если он указан

  • fetch_urls — пакетное извлечение содержимого веб-страницы из нескольких URL-адресов параллельно

    • Использует параллельную выборку из нескольких вкладок для повышения производительности

    • Возвращает объединенные результаты с четким разделением веб-страниц

    • Поддерживает следующие параметры:

      • urls : Массив URL-адресов для извлечения (обязательный параметр)

      • Остальные параметры такие же, как у fetch_url

Советы

Обработка особых сценариев веб-сайта

Работа с механизмами противодействия обходу

  • Дождитесь полной загрузки : для веб-сайтов, использующих CAPTCHA, перенаправления или другие механизмы проверки, включите в запрос:

    Please wait for the page to fully load

    При этом будет использоваться параметр waitForNavigation: true .

  • Увеличьте длительность тайм-аута : для веб-сайтов, которые загружаются медленно:

    Please set the page loading timeout to 60 seconds

    Это соответствующим образом настраивает параметры timeout и navigationTimeout .

Корректировки поиска контента

  • Сохранение исходной структуры HTML : когда извлечение контента может завершиться неудачей:

    Please preserve the original HTML content

    Устанавливает extractContent: false и returnHtml: true .

  • Извлечь полное содержимое страницы : если извлеченное содержимое слишком ограничено:

    Please fetch the complete webpage content instead of just the main content

    Устанавливает extractContent: false .

  • Вернуть содержимое как HTML : когда требуется формат HTML вместо Markdown по умолчанию:

    Please return the content in HTML format

    Устанавливает returnHtml: true .

Отладка и аутентификация

Включение режима отладки

  • Активация динамической отладки : для отображения окна браузера во время определенной операции выборки:

    Please enable debug mode for this fetch operation

    Это устанавливает debug: true даже если сервер был запущен без флага --debug .

  • Ручной вход : Чтобы войти, используя свои учетные данные:

    Please run in debug mode so I can manually log in to the website

    Устанавливает debug: true или использует флаг --debug , оставляя окно браузера открытым для ручного входа.

  • Взаимодействие с отладочным браузером : Когда включен режим отладки:

    1. Окно браузера остается открытым

    2. Вы можете вручную войти на сайт, используя свои учетные данные.

    3. После завершения входа в систему содержимое будет извлечено с помощью вашего аутентифицированного сеанса.

  • Включить отладку для определенных запросов : даже если сервер уже запущен, вы можете включить режим отладки для определенного запроса:

    Please enable debug mode for this authentication step

    Устанавливает debug: true только для этого конкретного запроса, открывая окно браузера для ручного входа.

Разработка

Установить зависимости

npm install

Установить браузер Playwright

Установите браузеры, необходимые для Playwright:

npm run install-browser

Построить сервер

npm run build

Отладка

Используйте MCP Inspector для отладки:

npm run inspector

Вы также можете включить видимый режим браузера для отладки:

node build/index.js --debug

Связанные проекты

  • g-search-mcp : Мощный сервер MCP для поиска Google, который позволяет выполнять параллельный поиск по нескольким ключевым словам одновременно. Идеально подходит для пакетных операций поиска и сбора данных.

Лицензия

Лицензировано в соответствии с лицензией MIT

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
67dResponse time
Release cycle
Releases (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/jae-jae/fetcher-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server