@trishchuk/mcp-fetch-server
@trishchuk/mcp-fetch-server
Высокопроизводительный сервер Model Context Protocol (MCP), предоставляющий устойчивый к анти-ботам инструмент fetch для AI-агентов (Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Antigravity и др.).
Работает на базе @trishchuk/fetch — нативного HTTP-клиента в стиле curl-impersonate, который точно имитирует TLS (JA3/JA4, ClientHello) и HTTP/2 отпечатки реальных браузеров.
🚀 Зачем этот сервер?
Стандартные HTTP-клиенты Node.js/Undici моментально блокируются современными системами защиты от ботов (Cloudflare Turnpike / Under Attack Mode, DataDome, PerimeterX / HUMAN, Akamai, Kasada, AWS WAF).
Более того, стандартные инструменты MCP для выборки часто сбоят при больших объёмах данных или раздувают контекст токенов LLM.
@trishchuk/mcp-fetch-server решает обе проблемы:
Реалистичная имитация браузера: Воспроизводит точные наборы шифров, TLS-расширения, порядок ALPN и кадры настроек HTTP/2 из современных браузеров (Chrome, Safari, Firefox).
Безопасное для контекста LLM усечение: Потоково загружает и ограничивает тело ответа 2 МБ (
maxResponseBytes). Слишком большие страницы аккуратно обрезаются и помечаются флагом"truncated": true, вместо того чтобы падать с ошибками.Сохраняемые сессии: Поддерживает cookies, состояние входа и пулы соединений между несколькими вызовами инструментов агента с помощью параметра
session.Умное кодирование: Автоматически определяет MIME-типы и возвращает чистый UTF-8 текст для HTML/JSON/XML или Base64 для бинарных файлов (изображения, PDF, документы).
Related MCP server: webfetch-mcp
✅ Требования
Node.js >= 24 — требуется для
@trishchuk/fetch.Предварительно собранные нативные бинарные файлы поставляются для macOS (arm64, x64), Linux (x64/arm64, glibc и musl) и Windows (x64). Другие платформы не поддерживаются базовым клиентом.
📦 Установка и настройка
Вариант 1: Запуск через npx (установка не требуется)
Вы можете запустить сервер напрямую через npx:
npx -y @trishchuk/mcp-fetch-serverВариант 2: Глобальная или локальная установка
# Global
npm install -g @trishchuk/mcp-fetch-server
# Or clone & install locally
git clone https://github.com/x51xxx/mcp-fetch-server.git
cd mcp-fetch-server
npm install⚙️ Настройка MCP-клиента
Claude Code
Добавьте напрямую через CLI:
# Using npx (recommended)
claude mcp add fetch -- npx -y @trishchuk/mcp-fetch-server
# Or using local path
claude mcp add fetch -- node /path/to/mcp-fetch-server/src/index.jsClaude Desktop
Добавьте в ваш claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@trishchuk/mcp-fetch-server"]
}
}
}Cursor / Windsurf / Antigravity (.mcp.json)
Создайте или обновите .mcp.json в вашей рабочей области:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@trishchuk/mcp-fetch-server"]
}
}
}🛠️ Справочник инструмента: fetch
Входные параметры
Параметр | Тип | По умолчанию | Описание |
|
| обязательно | Целевой абсолютный URL (например, |
|
|
| HTTP-метод ( |
|
|
| Заголовки запроса в виде пар ключ-значение ( |
|
|
| Тело запроса, отправляемое как UTF-8 строка (JSON, форма, простой текст). |
|
|
| Префикс отпечатка браузера (например, |
|
|
| Заявленная ОС: |
|
|
| URL прокси: |
|
|
| ID сессии для общего использования клиентских соединений и хранилища cookie между несколькими вызовами. |
|
|
| Кастомизация DNS (например, |
|
|
| Режим перенаправления: |
|
|
| Принудительная версия протокола: |
|
|
| Минимальная версия TLS: |
|
|
| Максимальная версия TLS: |
|
|
| Общий таймаут запроса в миллисекундах. |
|
|
| Лимит тела ответа в байтах (макс. 2 МБ). Ответы, превышающие лимит, безопасно обрезаются. |
|
|
| Формат возврата тела: |
Схемы ответа
1. Успешный HTTP-обмен
Любой завершённый HTTP-перевод возвращает стандартный JSON-результат (включая 404, 500 или 3xx при redirect: "manual"):
{
"status": 200,
"statusText": "OK",
"ok": true,
"url": "https://example.com/data",
"redirected": false,
"headers": {
"content-type": "application/json; charset=utf-8",
"cache-control": "max-age=3600"
},
"bodyEncoding": "text",
"body": "{\"message\": \"Hello world\"}",
"truncated": false
}2. Сетевой / транспортный сбой
Если сетевое соединение не удалось, истекло время ожидания или URL недействителен, инструмент возвращает isError: true:
{
"error": true,
"code": "TIMEOUT",
"message": "failed to read response body: request or response body error: operation timed out"
}💡 Примеры использования для агентов
1. Обход защиты от ботов на защищённом ресурсе
{
"url": "https://protected-site.com/products",
"impersonate": "chrome_147",
"platform": "macos",
"headers": {
"Accept-Language": "en-US,en;q=0.9"
}
}2. Многошаговый сбор данных с постоянной сессией (хранилище cookie)
// Step 1: Login / Obtain Session Cookie
{
"url": "https://example.com/api/login",
"method": "POST",
"session": "agent-crawler-01",
"headers": { "Content-Type": "application/json" },
"body": "{\"user\":\"admin\",\"password\":\"secret\"}"
}
// Step 2: Access protected resource (session cookies automatically preserved)
{
"url": "https://example.com/api/dashboard",
"session": "agent-crawler-01"
}3. Маршрутизация через SOCKS5-прокси
{
"url": "https://geo-restricted.example.com",
"proxy": "socks5://user:pass@proxy.example.com:1080",
"impersonate": "safari_26"
}4. Загрузка бинарных ресурсов (изображения, PDF)
{
"url": "https://example.com/report.pdf",
"encoding": "base64"
}5. DNS-привязка для безопасного приёма данных (SSRF)
{
"url": "https://internal-origin.example.com/feed",
"resolve": {
"internal-origin.example.com": "192.0.2.42"
},
"redirect": "manual"
}🔬 Префиксы имитации и отпечатки
@trishchuk/mcp-fetch-server поддерживает широкий спектр отпечатков браузеров:
Chrome:
"chrome_100"…"chrome_149"(например,"chrome_147","chrome_131","chrome_116")Edge:
"edge_101"…"edge_148"Opera:
"opera_116"…"opera_131"Firefox:
"firefox_109","firefox_133","firefox_147"…, а также"firefox_private_136"и"firefox_android_135"Safari:
"safari_15.3"…"safari_26.4", плюс варианты для iOS/iPad ("safari_ios_26","safari_ipad_26")OkHttp (Android-приложения):
"okhttp_3.9"…"okhttp_5"Динамические:
"random","weighted_random"(автоматически сменяет отпечатки, привязан кsession)
Номера версий используют подчёркивания (chrome_147, не chrome147). Неизвестное имя завершится ошибкой
InvalidArg, в которой будет перечислен каждый допустимый вариант.
🧪 Разработка
npm install
npm start # run the server over stdio
npm test # end-to-end smoke tests, no network required
npm run format # format with Biome
npm run lint # lint with Biome
npm run check # format + lint check, also run before publishТесты запускают реальный сервер через stdio и управляют им с помощью MCP-клиента, взаимодействующего с локальным HTTP-сервером,
покрывая усечение при лимите, режимы перенаправлений, HEAD, тела в base64, таймауты и транспортные ошибки.
📄 Лицензия
MIT © Taras Trishchuk
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Alicense-qualityAmaintenanceEnables AI agents to perform undetectable browser automation that bypasses Cloudflare, antibots, and social media blocks. Provides 105 tools for element extraction, network debugging, and real-world web scraping with a 98.7% success rate on protected sites.1,589MIT
- Alicense-qualityCmaintenanceDrop-in MCP replacement for the built-in WebFetch tool. Adds domain-scoped custom HTTP headers via YAML config, with bot-block detection, HTML-to-text extraction, retries, proxies, and prompt-injection sanitization.1MIT
- AlicenseAqualityDmaintenanceContext-aware web fetching for LLMs, providing 7 tools to check page size, fetch with truncation, extract code/sections/links/tables, and paginate large documents.7MIT
- AlicenseAqualityDmaintenanceEnables LLMs to fetch and extract web content as markdown with browser impersonation to bypass basic bot detection.1MIT
Related MCP Connectors
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/x51xxx/mcp-fetch-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server