Fetch MCP
Сборщик 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 chromiumHTTP и 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: следует ли интеллектуально извлекать основное содержимое, по умолчанию truemaxLength: максимальная длина возвращаемого содержимого (в символах), по умолчанию ограничений нет.returnHtml: Возвращать ли HTML-контент вместо Markdown, по умолчанию falsewaitForNavigation: следует ли ждать дополнительной навигации после первоначальной загрузки страницы (полезно для сайтов с проверкой на наличие ботов), по умолчанию — falsenavigationTimeout: максимальное время ожидания дополнительной навигации в миллисекундах, по умолчанию 10000 (10 секунд)disableMedia: Отключать ли медиаресурсы (изображения, таблицы стилей, шрифты, медиа), по умолчанию truedebug: Включать ли режим отладки (отображение окна браузера), переопределяет флаг командной строки --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.
Использование пользовательских файлов cookie для аутентификации
Ручной вход : Чтобы войти, используя свои учетные данные:
Please run in debug mode so I can manually log in to the websiteУстанавливает
debug: trueили использует флаг--debug, оставляя окно браузера открытым для ручного входа.Взаимодействие с отладочным браузером : Когда включен режим отладки:
Окно браузера остается открытым
Вы можете вручную войти на сайт, используя свои учетные данные.
После завершения входа в систему содержимое будет извлечено с помощью вашего аутентифицированного сеанса.
Включить отладку для определенных запросов : даже если сервер уже запущен, вы можете включить режим отладки для определенного запроса:
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
Maintenance
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