Erodenn/fetch-guard

Erodenn/fetch-guard

от erodenn
FetchGuard - MCP-сервер и CLI для безопасного извлечения веб-контента в чистый Markdown. Защищает от prompt-инъекций, скрытых элементов, бот-блоков и paywall. Полезен при интеграции веб-данных в LL...

Fetch Guard

PyPI Downloads CI Python License: MIT

fetch-guard MCP server

An MCP server and CLI tool that fetches URLs and returns clean, LLM-ready markdown. A purpose-built extraction pipeline sanitizes HTML, pulls structured metadata, detects prompt injection attempts, and handles the edge cases that break naive fetchers: bot blocks, paywalls, login walls, non-HTML content types, and pages that require JavaScript to render.

The core problem is straightforward: LLMs need web content, but raw HTML is noisy and potentially hostile. Fetched pages can contain hidden text, invisible Unicode, off-screen elements, and outright prompt injection attempts embedded in the content itself. This pipeline strips all of that before the content reaches the model.

Three layers handle the injection defense specifically:

  1. Pre-extraction sanitization removes hidden elements (display:none, visibility:hidden, opacity:0, font-size:0, transform:scale(0), clip:rect(0,0,0,0), zero-height overflow containers, and elements with matching foreground and background colors), elements hidden via CSS class/ID rules in <style> tags, off-screen positioned content, aria-hidden elements, <noscript> and <template> tags, and 26 categories of non-printing Unicode characters including bidi isolates and Unicode Tags. This happens before content extraction, so trafilatura never sees the attack vectors.
  2. Pattern scanning runs a four-phase scan against the extracted text and metadata fields. Phase one applies 50 compiled regex patterns covering system prompt overrides, ignore-previous instructions, role injection, fake conversation tags, and hidden instruction markers, in English, Spanish, French, German, Japanese, Simplified Chinese, and Portuguese. Phase two normalizes the text via NFKC and confusable-character mapping, then rescans to catch homoglyph bypasses (Cyrillic or mathematical Unicode characters substituted for Latin, etc.). Phase three finds base64, hex-encoded, and URL percent-encoded blocks, decodes them, and scans against high-severity patterns. Phase four decodes the full document with ROT13 and scans against high-severity patterns. Metadata fields (title, description, og:title, etc.) are scanned independently with matches namespaced to their source field.
  3. Session-salted output wrapping generates a random 8-character hex salt per invocation and wraps the body in <fetch-content-{salt}> tags. Since the salt is unpredictable, injected content cannot spoof the wrapper boundaries.
Инструменты были проиндексированы:
fetch

Загружает URL и возвращает чистую разметку Markdown, готовую для LLM, с метаданными и сканированием на внедрение промптов. Аргументы: url: Загружаемый URL. timeout: Таймаут запроса в секундах. max_words: Опциональное ограничение количества слов в извлечённом содержимом. strict: Если True и обнаружена инъекция высокого риска, ответ помечается как ошибочный. js: Использовать Playwright для страниц, отрендеренных через JavaScript (требуется playwright + chromium). links: Режим извлечения ссылок — «domains» (по умолчанию) или «full» для всех URL с текстом привязки. auth_token: Bearer-токен для заголовка Authorization (например, «my-api-key»). headers: Устарел. Вместо него используйте auth_token. Пользовательские HTTP-заголовки для запроса. Возвращает: Структурированный словарь с url, body (markdown), metadata, links, risk_level, injection_matches, статистикой санитизации и информацией о граничных случаях.

Параметры
  • auth_tokenstring | null
  • headersobject | null
  • jsboolean
  • linksenum
  • max_wordsinteger | null
  • strictboolean
  • timeoutinteger
  • urlstringобязательный
1.4.1основная
1.4.0
1.3.0
1.2.0
1.1.0
1.0.2
1.0.1
1.0.0
0.9.0

Выберите клиент, чтобы установить Erodenn/fetch-guard:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"erodenn-fetch-guard-74gbv6lizj\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"fetch-guard\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add erodenn-fetch-guard-74gbv6lizj -- uvx fetch-guard

Либо через JSON-конфиг:

claude mcp add-json erodenn-fetch-guard-74gbv6lizj "{\"command\":\"uvx\",\"args\":[\"fetch-guard\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add erodenn-fetch-guard-74gbv6lizj -- uvx fetch-guard

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.erodenn-fetch-guard-74gbv6lizj]
command = "uvx"
args = ["fetch-guard"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите Erodenn/fetch-guard, а в поле команды запуска — строку ниже:
uvx fetch-guard

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например erodenn-fetch-guard-74gbv6lizj.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: erodenn-fetch-guard-74gbv6lizj
    command: uvx
    args:
      - "fetch-guard"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "erodenn-fetch-guard-74gbv6lizj": {
      "command": "uvx",
      "args": [
        "fetch-guard"
      ]
    }
  }
}

Похожие MCP-сервера

zcaceres/fetch-mcp

zcaceres/fetch-mcp

от zcaceres

MCP сервер для загрузки веб-контента и преобразования его в HTML, Markdown, JSON, читаемый текст или транскрипты YouTube. Полезен разработчикам для извлечения статей, данных и субтитров без лишнего...

TypeScript⭐ 828
just-every/mcp-read-website-fast

just-every/mcp-read-website-fast

от just-every

MCP-сервер для быстрого извлечения веб-контента и преобразования в чистый Markdown. Минимизирует расход токенов, использует Mozilla Readability и кэширование. Идеален для Claude Code, IDE и AI-пайп...

TypeScript⭐ 163
lyrenth/lyrenth-mcp

lyrenth/lyrenth-mcp

от lyrenth

MCP сервер Lyrenth для чтения веб-страниц: превращает HTML в Markdown (AIDocument), экономя токены. Полезен AI-агентам для получения чистого контента без навигации. Поддерживает пакетные запросы до 20 URL и кэширование.

TypeScript⭐ 1
ofershap/mcp-server-scraper

ofershap/mcp-server-scraper

от ofershap

MCP-сервер для веб-скрапинга: извлекает чистый контент с URL в виде markdown, ссылки и метаданные. Использует Mozilla Readability, не требует API-ключей и настроек. Бесплатная альтернатива Firecraw...

TypeScript⭐ 6
crawlbase/crawlbase-mcp

crawlbase/crawlbase-mcp

от crawlbase

Crawlbase MCP инструмент соединяет AI с живым вебом: извлекает HTML, Markdown и скриншоты, обрабатывая JavaScript и защиту от ботов. Идеально для анализа рынка, мониторинга цен и автономных агентов, требующих свежих данных.

JavaScript⭐ 60
bighippoman/intercept-mcp

bighippoman/intercept-mcp

от bighippoman

intercept-mcp — MCP-сервер, дающий AI возможность читать веб-страницы: извлекает чистый markdown из любых URL, обрабатывает Twitter, YouTube, arXiv, PDF, GitHub и другие источники. Использует много...

TypeScript⭐ 9
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин