intercept-mcp
intercept-mcp
Дайте вашему ИИ возможность читать веб-страницы. Одна команда, ключи API не требуются.
Без этого инструмента ваш ИИ при переходе по URL получает ошибку 403, «стену» или гору необработанного HTML. С intercept он почти всегда получает контент — чистый Markdown, готовый к использованию.
Обрабатывает твиты, видео YouTube (с транскриптами, если доступны), статьи arXiv, PDF-файлы, статьи Wikipedia и репозитории GitHub. Если первая стратегия не срабатывает, он пробует еще до 14 вариантов, прежде чем сдаться.
Работает с любым MCP-клиентом: Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Cline и другими.
Установка
Claude Code
claude mcp add intercept -s user -- npx -y intercept-mcpCodex
codex mcp add intercept -- npx -y intercept-mcpCursor
Settings → MCP → Add Server:
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": ["-y", "intercept-mcp"]
}
}
}Windsurf
Settings → MCP → Add Server → та же конфигурация JSON, что и выше.
Claude Desktop
Добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": ["-y", "intercept-mcp"]
}
}
}Другие MCP-клиенты
Любой клиент, поддерживающий stdio MCP-серверы, может запустить npx -y intercept-mcp.
Для инструмента fetch ключи API не нужны.
Related MCP server: urltomarkdown-mcp
Как это работает
URL-адреса обрабатываются в четыре этапа:
1. Обработчики для конкретных сайтов
Известные шаблоны URL направляются к специализированным обработчикам перед конвейером резервных стратегий:
Шаблон | Обработчик | Что вы получаете |
| Twitter/X | Текст твита, автор, медиа, статистика вовлеченности (через сторонние API) |
| YouTube | Название, канал, длительность, просмотры, описание, транскрипт (если доступны субтитры) |
| arXiv | Метаданные статьи, авторы, аннотация, категории |
| Извлеченный текст (только для PDF с текстовым слоем) | |
| Wikipedia | Чистое содержимое статьи через Wikimedia REST API |
| GitHub | Необработанное содержимое README.md |
2. Общий кэш (agentsweb.org)
Перед обращением к любому загрузчику каждый запрос проверяет agentsweb.org — глобальный общий кэш Markdown для ИИ-агентов. Если другой агент уже загрузил этот URL, вы получите результат менее чем за 50 мс.
Каждая успешная загрузка автоматически вносит вклад в общую базу. Записи получают доверие через модель самовосстанавливающегося консенсуса: когда независимые экземпляры загружают один и тот же URL и подтверждают одинаковый контент, уровень доверия повышается.
Вы можете полностью отказаться от этого с помощью INTERCEPT_SHARED_CACHE=false или использовать режим «только чтение» (потреблять, но не вносить вклад) с помощью INTERCEPT_CACHE_READ_ONLY=true.
API agentsweb.org
agentsweb.org также предоставляет отдельные конечные точки для прямого использования:
/web?q=— поиск в интернете/research?q=— поиск + загрузка + кэширование за один вызов/fetch?url=— загрузка по запросу, автоматическое кэширование
См. agentsweb.org/docs для полной документации API.
3. Конвейер резервных стратегий
Если ни один обработчик не подошел (или обработчик ничего не вернул), URL попадает в многоуровневый конвейер:
Уровень | Загрузчик | Стратегия |
0 | agentsweb.org | Глобальный общий кэш Markdown — мгновенно, если другой агент уже загрузил этот URL |
1 | Cloudflare Browser Run | Рендеринг JS + извлечение Markdown (опционально, нужен токен API) |
1 | Jina Reader | Сервис извлечения чистого Markdown |
2 | Wayback Machine | Архивная версия с archive.org |
2 | archive.ph | Архивные снимки через API timemap + скрытая загрузка TLS |
2 | Google Cache | Кэшированная версия страницы от Google |
2 | Arquivo.pt | Португальский веб-архив (широкий международный охват) |
2 | Codetabs | CORS-прокси |
3 | Raw fetch | Прямой GET с заголовками браузера + преобразование в Markdown через Turndown |
3 | Stealth fetch | Имитация TLS-отпечатка браузера через got-scraping (опционально, см. ниже) |
4 | RSS, CrossRef, Semantic Scholar, HN, Reddit | Резервные источники метаданных / обсуждений |
5 | OG Meta | Теги Open Graph (гарантированный резерв) |
Загрузчики уровня 2 работают параллельно. Когда успешно срабатывают несколько, побеждает результат наивысшего качества. Все остальные уровни работают последовательно.
Все загрузчики возвращают корректный Markdown (заголовки, ссылки, жирный шрифт, таблицы, блоки кода) через Turndown — не обычный текст.
4. Кэширование
Результаты кэшируются в оперативной памяти с TTL (30 минут для успешных, 5 минут для неудачных). Максимум 100 записей с вытеснением LRU. Неудачные URL кэшируются, чтобы предотвратить повторные попытки для заведомо нерабочих ссылок.
Инструменты
fetch
Загрузить URL и вернуть его содержимое в виде чистого Markdown.
url(строка, обязательно) — URL для загрузкиmaxTier(число, опционально, 1-5) — остановиться на этом уровне для случаев, чувствительных к скорости
search
Поиск в интернете и возврат результатов.
query(строка, обязательно) — поисковый запросcount(число, опционально, 1-20, по умолчанию 5) — количество результатов
Использует Brave Search API, если установлен BRAVE_API_KEY, затем SearXNG, если установлен SEARXNG_URL, и в последнюю очередь DuckDuckGo как ненадежный резервный вариант.
Промпты
research-topic
Поиск темы и загрузка топовых результатов для создания сводки из нескольких источников.
topic(строка) — тема для исследованияdepth(строка, по умолчанию "3") — количество топовых результатов для загрузки
extract-article
Загрузка URL и извлечение ключевых моментов из контента.
url(строка) — URL для загрузки и суммаризации
Переменные окружения
Переменная | Обязательно | Описание |
| Нет | Ключ Brave Search API для поиска |
| Нет | URL вашего собственного экземпляра SearXNG (рекомендуется) |
| Нет | Токен API Cloudflare с разрешением "Browser Rendering - Edit" |
| Нет | ID аккаунта Cloudflare (обязательно, если установлен |
| Нет | Установите |
| Нет | Установите |
| Нет | Установите |
| Нет | TTL кэша в памяти для успешных загрузок в мс (по умолчанию |
| Нет | TTL кэша в памяти для неудачных загрузок в мс (по умолчанию |
| Нет | Макс. количество записей в кэше памяти (по умолчанию |
| Нет | Стандартный прокси — направляет весь исходящий трафик (включая stealth) через прокси. Учитывает |
Поиск: Есть резервный вариант DuckDuckGo, но он ограничен по частоте запросов и ненадежен. Для промышленного использования разверните SearXNG и установите SEARXNG_URL (см. ниже) или получите ключ Brave Search API.
Загрузка: Работает без каких-либо ключей. Установите CF_API_TOKEN + CF_ACCOUNT_ID для включения Cloudflare Browser Run (ранее Browser Rendering) для страниц с интенсивным использованием JavaScript (SPA, сайты на React).
Скрытая загрузка (USE_STEALTH_FETCH)
Используйте на свой страх и риск. При включении добавляется загрузчик, который имитирует реальные TLS-отпечатки браузера (наборы шифров Chrome/Firefox, настройки HTTP/2, порядок заголовков) с использованием got-scraping. Это может помочь обойти защиту от ботов и CAPTCHA на сайтах, которые в противном случае блокируют автоматизированные запросы.
Этот загрузчик работает на уровне 3 после обычной загрузки. Если обычная загрузка блокируется (CAPTCHA, проверка Cloudflare, 403), скрытый загрузчик повторяет попытку с имитацией браузера.
Это может нарушать условия использования некоторых веб-сайтов. Авторы intercept-mcp не несут ответственности за то, как используется эта функция. Она отключена по умолчанию и должна быть явно активирована.
Использование собственного прокси (HTTPS_PROXY)
Если обычные загрузки начинают помечаться как подозрительные, наиболее эффективным решением обычно является чистый исходящий IP — а не более сложный отпечаток. intercept-mcp учитывает стандартные переменные окружения HTTPS_PROXY / HTTP_PROXY / NO_PROXY, поэтому вы можете направлять весь исходящий трафик через любой прокси, который у вас уже есть:
HTTPS_PROXY=http://user:pass@proxy.example.com:8080 npx intercept-mcpЭто работает с любым HTTP(S)-прокси — самохостинг Squid, выходной узел Tailscale, VPS за $5 с запущенным 3proxy или коммерческие резидентские прокси (Bright Data, Oxylabs и т.д.). Скрытый загрузчик и вызовы got-scraping также автоматически подхватывают эти настройки.
Самохостинг SearXNG
Для надежного поиска разверните SearXNG с помощью Docker. Конфигурация включена в репозиторий:
git clone https://github.com/bighippoman/intercept-mcp.git
cd intercept-mcp/searxng && docker compose up -dЗатем установите SEARXNG_URL=http://localhost:8888. Никаких ограничений по частоте, никаких CAPTCHA, агрегирует Google + Bing + DuckDuckGo + Wikipedia + Brave.
Или используйте любой существующий экземпляр SearXNG — просто установите SEARXNG_URL на его адрес.
Нормализация URL
Входящие URL автоматически очищаются:
Удаляются 60+ параметров отслеживания (UTM, click ID, аналитика, A/B тестирование и т.д.)
Удаляются фрагменты хеша
Обновляются до HTTPS
Очищаются артефакты AMP
Сохраняются функциональные параметры (
ref,format,page,offset,limit)
Оценка качества контента
Результат каждого загрузчика оценивается на качество. Автоматический отказ при:
CAPTCHA / проверках Cloudflare
Экранах входа (логин-стенах)
Страницах с ошибками HTTP в теле ответа
Контенте менее 200 символов
Требования
Node.js >= 18
Для базового использования ключи API не требуются
Available Tools
2 toolsfetchFetch URLA
Fetch a URL and return its content as clean markdown. Handles Twitter/X tweets, YouTube videos, arXiv papers, and PDFs directly. Falls back to a multi-tier chain: Jina Reader, Wayback Machine, raw fetch, RSS, CrossRef, Semantic Scholar, HackerNews, Reddit, OG meta. Results are cached for the session.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to fetch | |
| maxTier | No | Stop at this tier (1-5, default 5). Lower = faster but fewer fallbacks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully describes the multi-tier fallback behavior, special handling for certain content types, and session caching. It lacks mention of authentication, rate limits, or error handling, but still provides good transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (approximately 100 words) and front-loaded with the main purpose. Each sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality, special cases, fallback chain, and caching. It does not detail error behavior or output format beyond 'clean markdown', but for a fetch tool this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning by explaining the tier fallback system, which gives context to the maxTier parameter. The description complements the schema well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a URL and returns content as clean markdown, with specific handling for Twitter, YouTube, arXiv, and PDFs. It distinguishes from sibling tool 'search' by focusing on fetching a specific URL rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by explaining the fallback chain and caching, but does not explicitly state when to use this vs. search or when not to use it. Given the sibling is 'search', the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchWeb SearchA
Search the web and return results. Uses Brave Search API if BRAVE_API_KEY is set, otherwise falls back to SearXNG. Set BRAVE_API_KEY for best results (free tier: 2,000 queries/month).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 5) | |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the dual backend (Brave/SearXNG) and mentions the free tier limit, but omits details on error behavior, pagination, latency, or result structure. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with a clear front-loaded purpose. No wasted words, though the information about API key could be more structurally separated. Still effective and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what 'results' contains (e.g., titles, URLs, snippets) but does not. It also lacks constraints like max count reasons or result ordering. Incomplete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters (query and count) with descriptions. The description adds backend context but no additional parameter insight beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search the web and return results,' specifying a concrete verb and resource. It implicitly differentiates from sibling 'fetch' (which retrieves specific URLs) by focusing on general web search, though not explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on backend choice and recommends setting BRAVE_API_KEY for best results, offering practical guidance. However, it does not explicitly state when to use this tool over 'fetch' or provide exclusion criteria (e.g., when not to use).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.2- Added
fetch - Added
search
TDQS
fetch and search have clearly distinct purposes: one retrieves content from a specific URL, the other performs web searches. No overlap or ambiguity.
Both tool names are single-word verbs ('fetch', 'search'), following a simple and consistent pattern.
With only 2 tools, the server is minimal but appropriate for its focused scope of fetching and searching. Could potentially benefit from a few more, but not necessary.
The tool surface covers the core operations of fetching content from URLs and searching the web. No obvious missing operations for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Fetch any URL and get clean Markdown. Web scraping for AI agents.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Clean Markdown and AI-readability scoring for any URL. Built for AI agents.
11
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that provides access to Jina AI's powerful web services (page reading, web search, fact checking) through Claude.317828MIT
- AlicenseAqualityDmaintenanceConverts URLs and raw HTML to clean Markdown, enabling AI assistants to read web pages for summarization, analysis, or ingestion.2191MIT
- AlicenseAqualityBmaintenanceEnables AI agents to read web pages reliably, returning clean markdown content, hyperlinks, and metadata without navigation or ad noise.315MIT
- AlicenseAqualityCmaintenanceEnables AI agents to fetch any web page as clean markdown or screenshot it, turning URLs into LLM-ready context.211MIT
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/bighippoman/intercept-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server