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, статистикой санитизации и информацией о граничных случаях.

Загружает 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, статистикой санитизации и информацией о граничных случаях.

Параметры

  • urlstringобязательный
  • timeoutinteger
  • max_wordsany
  • strictboolean
  • jsboolean
  • linksenum
    domainsfull
  • auth_tokenany
  • headersany

Другие проверенные MCP-сервера

weaviate/mcp-server-weaviate

weaviate/mcp-server-weaviate

официальный

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

162
discourse/discourse-mcp

discourse/discourse-mcp

официальный

MCP сервер для интеграции AI-агентов с Discourse: поиск, чтение и управление топиками, постами, пользователями. Опциональная запись с защитой от злоупотреблений. Полезен для автоматизации модерации...

TypeScript66
hashicorp/terraform-mcp-server

hashicorp/terraform-mcp-server

официальный

MCP-сервер для интеграции с Terraform Registry и HCP Terraform, автоматизирующий управление workspace, переменными и запусками в Infrastructure as Code (IaC) через ИИ-ассистенты.

Go1474
rinadelph/Agent-MCP

rinadelph/Agent-MCP

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

TypeScript1270
portainer/portainer-mcp

portainer/portainer-mcp

официальный

Официальный MCP-сервер для Portainer. Через инструменты MCP вы можете инспектировать окружения, управлять Docker и Kubernetes, настраивать GitOps. Подходит для администраторов и DevOps.

Python201
Infobip/mcp

Infobip/mcp

официальный

Infobip MCP серверы дают AI-агентам отправлять SMS, WhatsApp, Viber, Email и push-уведомления, управлять двухфакторной аутентификацией и контактами клиентов. Просто подключитесь через MCP — и ваш AI заработает с Infobip.

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

Лука Никитин