intercept-mcp
intercept-mcp
Gib deiner KI die Fähigkeit, das Web zu lesen. Ein Befehl, keine API-Schlüssel erforderlich.
Ohne dieses Tool erhält deine KI beim Aufruf einer URL oft einen 403-Fehler, eine Blockade oder eine Wand aus rohem HTML. Mit intercept erhält sie fast immer den Inhalt — sauberes Markdown, sofort einsatzbereit.
Unterstützt Tweets, YouTube-Videos (mit Transkripten, falls verfügbar), arXiv-Paper, PDFs, Wikipedia-Artikel und GitHub-Repos. Wenn die erste Strategie fehlschlägt, versucht es bis zu 14 weitere, bevor es aufgibt.
Funktioniert mit jedem MCP-Client: Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Cline und mehr.
Installation
Claude Code
claude mcp add intercept -s user -- npx -y intercept-mcpCodex
codex mcp add intercept -- npx -y intercept-mcpCursor
Einstellungen → MCP → Server hinzufügen:
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": ["-y", "intercept-mcp"]
}
}
}Windsurf
Einstellungen → MCP → Server hinzufügen → gleiche JSON-Konfiguration wie oben.
Claude Desktop
Füge dies zu deiner claude_desktop_config.json hinzu:
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": ["-y", "intercept-mcp"]
}
}
}Andere MCP-Clients
Jeder Client, der stdio-MCP-Server unterstützt, kann npx -y intercept-mcp ausführen.
Für das fetch-Tool sind keine API-Schlüssel erforderlich.
Related MCP server: urltomarkdown-mcp
Funktionsweise
URLs werden in vier Stufen verarbeitet:
1. Seitenspezifische Handler
Bekannte URL-Muster werden vor der Fallback-Pipeline an dedizierte Handler weitergeleitet:
Muster | Handler | Ergebnis |
| Twitter/X | Tweet-Text, Autor, Medien, Engagement-Statistiken (über Drittanbieter-APIs) |
| YouTube | Titel, Kanal, Dauer, Aufrufe, Beschreibung, Transkript (wenn Untertitel verfügbar) |
| arXiv | Paper-Metadaten, Autoren, Abstract, Kategorien |
| Extrahierter Text (nur bei PDFs mit Textebene) | |
| Wikipedia | Sauberer Artikelinhalt über die Wikimedia REST API |
| GitHub | Roher README.md-Inhalt |
2. Gemeinsamer Cache (agentsweb.org)
Bevor ein Fetcher kontaktiert wird, prüft jede Anfrage agentsweb.org — einen globalen, geteilten Markdown-Cache für KI-Agenten. Wenn ein anderer Agent diese URL bereits abgerufen hat, erhältst du das Ergebnis in unter 50 ms.
Jeder erfolgreiche Abruf trägt automatisch dazu bei. Einträge gewinnen durch ein selbstheilendes Konsensmodell an Vertrauen: Wenn unabhängige Instanzen dieselbe URL abrufen und denselben Inhalt bestätigen, steigt die Konfidenz.
Deaktiviere dies vollständig mit INTERCEPT_SHARED_CACHE=false oder nutze den Nur-Lese-Modus (konsumieren, aber nicht beitragen) mit INTERCEPT_CACHE_READ_ONLY=true.
agentsweb.org API
agentsweb.org bietet auch eigenständige Endpunkte zur direkten Nutzung:
/web?q=— das Web durchsuchen/research?q=— suchen + abrufen + zwischenspeichern in einem Aufruf/fetch?url=— bei Bedarf abrufen, automatisch zwischengespeichert
Siehe agentsweb.org/docs für die vollständige API-Dokumentation.
3. Fallback-Pipeline
Wenn kein Handler übereinstimmt (oder der Handler nichts zurückgibt), durchläuft die URL die mehrstufige Pipeline:
Stufe | Fetcher | Strategie |
0 | agentsweb.org | Globaler geteilter Markdown-Cache — sofort verfügbar, wenn ein anderer Agent diese URL bereits abgerufen hat |
1 | Cloudflare Browser Run | JS-Rendering + Markdown-Extraktion (optional, benötigt API-Token) |
1 | Jina Reader | Dienst zur sauberen Markdown-Extraktion |
2 | Wayback Machine | Archivierte Version von archive.org |
2 | archive.ph | Archivierte Snapshots über die Timemap-API + Stealth-TLS-Abruf |
2 | Google Cache | Googles zwischengespeicherte Seitenversion |
2 | Arquivo.pt | Portugiesisches Webarchiv (breite internationale Abdeckung) |
2 | Codetabs | CORS-Proxy |
3 | Raw fetch | Direkter GET mit Browser-Headern + Turndown-Markdown-Konvertierung |
3 | Stealth fetch | Browser-TLS-Fingerabdruck-Imitation via got-scraping (Opt-in, siehe unten) |
4 | RSS, CrossRef, Semantic Scholar, HN, Reddit | Metadaten / Diskussions-Fallbacks |
5 | OG Meta | Open Graph Tags (garantierter Fallback) |
Stufe-2-Fetcher laufen parallel. Wenn mehrere erfolgreich sind, gewinnt das qualitativ hochwertigste Ergebnis. Alle anderen Stufen laufen sequenziell.
Alle Fetcher geben korrektes Markdown (Überschriften, Links, Fettgedrucktes, Tabellen, Codeblöcke) via Turndown zurück — keinen reinen Text.
4. Caching
Ergebnisse werden im Arbeitsspeicher mit TTL zwischengespeichert (30 Min. für Erfolge, 5 Min. für Fehler). Maximal 100 Einträge mit LRU-Verdrängung. Fehlgeschlagene URLs werden zwischengespeichert, um erneute Versuche bei bekannten toten URLs zu verhindern.
Tools
fetch
Ruft eine URL ab und gibt deren Inhalt als sauberes Markdown zurück.
url(String, erforderlich) — Abzurufende URLmaxTier(Nummer, optional, 1-5) — Stoppt bei dieser Stufe für geschwindigkeitskritische Fälle
search
Durchsucht das Web und gibt Ergebnisse zurück.
query(String, erforderlich) — Suchanfragecount(Nummer, optional, 1-20, Standard 5) — Anzahl der Ergebnisse
Verwendet die Brave Search API, falls BRAVE_API_KEY gesetzt ist, dann SearXNG, falls SEARXNG_URL gesetzt ist, und schließlich DuckDuckGo als unzuverlässigen letzten Ausweg.
Prompts
research-topic
Sucht nach einem Thema und ruft die Top-Ergebnisse für eine Zusammenfassung aus mehreren Quellen ab.
topic(String) — Das zu recherchierende Themadepth(String, Standard "3") — Anzahl der abzurufenden Top-Ergebnisse
extract-article
Ruft eine URL ab und extrahiert die Kernpunkte aus dem Inhalt.
url(String) — Die URL zum Abrufen und Zusammenfassen
Umgebungsvariablen
Variable | Erforderlich | Beschreibung |
| Nein | Brave Search API Schlüssel für die Suche |
| Nein | URL der selbstgehosteten SearXNG-Instanz (empfohlen) |
| Nein | Cloudflare API-Token mit "Browser Rendering - Edit"-Berechtigung |
| Nein | Cloudflare Account-ID (erforderlich, wenn |
| Nein | Auf |
| Nein | Auf |
| Nein | Auf |
| Nein | In-Memory-Cache-TTL für erfolgreiche Abrufe in ms (Standard |
| Nein | In-Memory-Cache-TTL für fehlgeschlagene Abrufe in ms (Standard |
| Nein | Maximale Anzahl an In-Memory-Cache-Einträgen (Standard |
| Nein | Standard-Proxy-Durchleitung — leitet alle ausgehenden Abrufe (einschließlich Stealth) durch den Proxy. Respektiert |
Suche: Hat einen DuckDuckGo-Fallback, dieser ist jedoch ratenbegrenzt und unzuverlässig. Für den produktiven Einsatz hoste SearXNG selbst und setze SEARXNG_URL (siehe unten) oder besorge dir einen Brave Search API-Schlüssel.
Abruf: Funktioniert ohne Schlüssel. Setze CF_API_TOKEN + CF_ACCOUNT_ID, um Cloudflare Browser Run (ehemals Browser Rendering) für JavaScript-lastige Seiten (SPAs, React-Seiten) zu aktivieren.
Stealth-Abruf (USE_STEALTH_FETCH)
Nutzung auf eigene Gefahr. Wenn aktiviert, wird ein Fetcher hinzugefügt, der echte Browser-TLS-Fingerabdrücke (Chrome/Firefox-Chiffren, HTTP/2-Einstellungen, Header-Reihenfolge) mittels got-scraping imitiert. Dies kann Bot-Erkennung und CAPTCHA-Auslöser auf Seiten umgehen, die automatisierte Anfragen sonst blockieren würden.
Dieser Fetcher läuft auf Stufe 3 nach dem regulären Raw-Abruf. Wenn der Raw-Abruf blockiert wird (CAPTCHA, Cloudflare-Challenge, 403), versucht es der Stealth-Fetcher mit Browser-Imitation erneut.
Dies kann gegen die Nutzungsbedingungen einiger Websites verstoßen. Die Autoren von intercept-mcp übernehmen keine Verantwortung für die Nutzung dieser Funktion. Sie ist standardmäßig deaktiviert und muss explizit aktiviert werden.
Eigener Proxy (HTTPS_PROXY)
Wenn Raw-Abrufe markiert werden, ist die effektivste Lösung meist eine saubere ausgehende IP — nicht ein ausgefeilterer Fingerabdruck. intercept-mcp respektiert die Standard-Umgebungsvariablen HTTPS_PROXY / HTTP_PROXY / NO_PROXY, sodass du den gesamten ausgehenden Datenverkehr über jeden beliebigen Proxy leiten kannst:
HTTPS_PROXY=http://user:pass@proxy.example.com:8080 npx intercept-mcpDies funktioniert mit jedem HTTP(S)-Proxy — einem selbstgehosteten Squid, einem Tailscale-Exit-Node, einem 5-Dollar-VPS mit 3proxy oder kommerziellen Residential-Proxies (Bright Data, Oxylabs usw.). Der Stealth-Fetcher und got-scraping-Aufrufe übernehmen dies ebenfalls automatisch.
Selbsthosting von SearXNG
Für eine zuverlässige Suche hoste SearXNG mit Docker selbst. Eine Konfiguration ist im Repo enthalten:
git clone https://github.com/bighippoman/intercept-mcp.git
cd intercept-mcp/searxng && docker compose up -dSetze dann SEARXNG_URL=http://localhost:8888. Keine Ratenbegrenzungen, keine CAPTCHAs, aggregiert Google + Bing + DuckDuckGo + Wikipedia + Brave.
Oder nutze eine bestehende SearXNG-Instanz — setze einfach SEARXNG_URL auf deren URL.
URL-Normalisierung
Eingehende URLs werden automatisch bereinigt:
Entfernt über 60 Tracking-Parameter (UTM, Click-IDs, Analytics, A/B-Tests usw.)
Entfernt Hash-Fragmente
Upgrade auf HTTPS
Bereinigt AMP-Artefakte
Behält funktionale Parameter bei (
ref,format,page,offset,limit)
Erkennung der Inhaltsqualität
Jedes Fetcher-Ergebnis wird auf Qualität bewertet. Automatischer Abbruch bei:
CAPTCHA / Cloudflare-Challenges
Login-Wänden
HTTP-Fehlerseiten im Body
Inhalten unter 200 Zeichen
Anforderungen
Node.js >= 18
Keine API-Schlüssel für die grundlegende Nutzung erforderlich
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.
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.37MIT
- 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