MCP Web Search Pro
MCP Web Search Pro
Ein erweiterter, selbst gehosteter Web-Recherche-Server für MCP-kompatible Clients. Er bietet einem KI-Assistenten Werkzeuge zum Auffinden von Webseiten, Extrahieren lesbaren Inhalts, Rendern von JavaScript-Anwendungen, Nutzung des Internet Archive, wenn eine Seite nicht verfügbar ist, und Lesen von YouTube-Untertiteln.
Der Dienst ist für die lokale Nutzung oder in einem vertrauenswürdigen Netzwerk ausgelegt. Er ist zustandslos, benötigt keine API-Schlüssel und stellt den MCP Streamable HTTP Transport auf Port 8082 bereit. Er kann neben einem leichteren Web-Search-MCP-Server auf einem anderen Port betrieben werden.
Läuft als separater Container auf Port 8082 neben dem leichten mcp-web-search (Port 8081). Clients können je nach Aufgabe auf den passenden Server verweisen – falls Pro träge wirkt, steht der leichte Server unverändert zur Verfügung.
Funktionen
Websuche über DuckDuckGo mit Ergebnisbegrenzung und Regionsauswahl.
Lesbare HTML-Extraktion in Markdown, mit Entfernung von Navigation und Standardtext.
Automatische PDF-Erkennung und Textextraktion.
Headless Chromium Rendering für React, Vue, SPA und andere JS-lastige Seiten.
Wayback Machine Snapshots für nicht verfügbare oder geänderte Seiten.
YouTube-Transkripte aus URLs oder Video-IDs, optional mit Zeitstempeln.
/health-Endpunkt für Container- und Prozessprüfungen.Zustandslose Streamable HTTP- und stdio-MCP-Transports.
Related MCP server: Basic MCP Tools
MCP-Werkzeuge
Werkzeug | Beschreibung |
| Suche im Web über DuckDuckGo (ddgs). Argumente: |
| URL abrufen → Markdown. Erkennt automatisch PDFs und extrahiert Text. Verwendet trafilatura für saubere Artikel-Extraktion (entfernt Navigation/Werbung/Standardtext). Argumente: |
| Rendert eine JS-lastige / SPA-Seite mit Headless Chromium und extrahiert dann Text. Verwenden, wenn |
| Ruft den neuesten (oder zeitgestempelten) archivierten Snapshot einer URL vom Wayback Machine ab. Wiederholt bei vorübergehenden 503ern. Argumente: |
| Ruft das Transkript eines YouTube-Videos ab. Akzeptiert eine vollständige YouTube-URL oder eine reine 11-Zeichen-Video-ID. Argumente: |
Verwenden Sie web_fetch für normale Seiten, da es schneller ist. Verwenden Sie web_fetch_js, wenn das erste Werkzeug eine leere Hülle oder unvollständigen Inhalt zurückgibt, weil die Website auf clientseitiges JavaScript angewiesen ist.
Mit Docker ausführen
docker compose up -d --buildÜberprüfen:
curl http://localhost:8082/health # → {"status":"ok"}Logs / Neustart / Stopp:
docker compose logs -f
docker compose restart
docker compose downDer erste Build ist groß (~400MB), da Chromium für Playwright heruntergeladen wird. Nachfolgende Builds verwenden die zwischengespeicherte Ebene.
Clients verbinden
Weisen Sie jeden MCP-kompatiblen Client auf Folgendes:
http://<server-host>:8082/mcpEs sind keine Header oder API-Schlüssel erforderlich. Der Server läuft im zustandslosen Modus.
Lokal ohne Docker ausführen
Python 3.12 wird empfohlen:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install --with-deps chromium
python server.pyFühren Sie den HTTP-Transport direkt aus mit:
python server.py --sse --host 127.0.0.1 --port 8082Trotz des historischen --sse-Optionsnamens verwendet die HTTP-Implementierung den zustandslosen MCP Streamable HTTP Transport.
Leistungshinweise
Nur
web_fetch_jsist zur Laufzeit schwer – es startet Chromium pro Aufruf (~5–15s). Die anderen vier Werkzeuge sind leichtgewichtig und bleiben flott.shm_size: 1gbindocker-compose.ymlverhindert Chromium-Sandbox-Abstürze im Container.Für normale Seiten ohne JS verwenden Sie
web_fetch(schnell); reservieren Sieweb_fetch_jsfür React/Vue/SPA-Seiten, die Inhalte mit JavaScript rendern.
Konfiguration
Um den Port zu ändern, bearbeiten Sie sowohl die ports:-Zuordnung als auch die command:-Zeile in docker-compose.yml. Um das Raw-Request/Response-Logging zum Debuggen zu aktivieren, wechseln Sie zur auskommentierten --verbose-command:-Zeile.
Validierung
Dieses Repository ist als Quellcode und Docker-Build-Konfiguration zum Pushen gedacht. Derzeit gibt es keine automatisierte Testsuite. Die empfohlenen Projektprüfungen sind:
git diff --check
docker compose config
docker compose up -d --build
curl http://localhost:8082/health
docker compose logs --tail=100
docker compose downVeröffentlichen Sie diesen Dienst nicht direkt im öffentlichen Internet, ohne eine Authentifizierung hinzuzufügen oder ihn hinter einem vertrauenswürdigen Reverse-Proxy zu platzieren. Der HTTP-Modus bindet an 0.0.0.0, erlaubt Anfragen ohne API-Schlüssel und erlaubt alle Ursprünge; das ist praktisch für lokale MCP-Clients, aber keine Zugriffskontrollschicht.
Sicherheits- und Betriebshinweise
web_fetchundweb_fetch_jskönnen beliebige HTTP(S)-URLs anfordern. Schränken Sie den Netzwerkzugriff ein oder fügen Sie URL/DNS-Sicherungen hinzu, wenn nicht vertrauenswürdige Benutzer den Dienst aufrufen können.Lassen Sie
--verboseaußerhalb kurzer lokaler Debugging-Sitzungen deaktiviert, da es Anforderungs- und Antwortkörper protokolliert.Abhängigkeiten verwenden Mindestversionsbeschränkungen. Sperren oder fixieren Sie Versionen, bevor Sie sich auf reproduzierbare Produktions-Builds verlassen.
Dateien
server.py– der MCP-Server (5 Werkzeuge)requirements.txt–mcp,httpx,beautifulsoup4,markdownify,ddgs,trafilatura,pypdf,youtube-transcript-api,playwrightDockerfile– Python 3.12-slim + Playwright Chromiumdocker-compose.yml– Dienst auf Port 8082 mitshm_size: 1gb
Lizenz
Derzeit ist keine Lizenzdatei enthalten. Fügen Sie eine Lizenz hinzu, bevor Sie externe Beiträge annehmen oder das Projekt weiterverbreiten.
This server cannot be installed
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 Servers
- Alicense-qualityAmaintenanceZero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.10Apache 2.0
- Flicense-qualityBmaintenanceA self-hosted MCP server providing private web search, web page fetching, and current date/time tools, powered by a bundled SearXNG instance for API-key-free local search.2
- Alicense-qualityCmaintenanceA fully local MCP server that provides web search via self-hosted SearXNG and page-to-markdown conversion (static and JS-rendered), all aggregated behind a single endpoint for use with AI assistants.MIT
- Alicense-qualityBmaintenanceMCP server enabling local-first web search, fetch, extract, and caching with citeable excerpts, no API key required. Supports research workflows for agents and apps.323MIT
Related MCP Connectors
An MCP server for deep research or task groups
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
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/AngelN-Halo/mcp-web-search-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server