中文 | Deutsch | Español | français | 日本語 | 한국어 | Português | Русский
MCP-Server zum Abrufen von Webseiteninhalten mit dem Playwright-Headless-Browser.
🌟 Empfohlen: OllaMan - Leistungsstarker Ollama AI Model Manager.
JavaScript-Unterstützung: Im Gegensatz zu traditionellen Web-Scraping-Tools nutzt Fetcher MCP Playwright zur Ausführung von JavaScript, wodurch dynamische Webinhalte und moderne Webanwendungen verarbeitet werden können.
Intelligente Inhaltserkennung: Integrierter Readability-Algorithmus extrahiert automatisch den Hauptinhalt von Webseiten und entfernt Werbung, Navigation und andere nicht wesentliche Elemente.
Flexibles Ausgabeformat: Unterstützt sowohl HTML- als auch Markdown-Ausgabeformate, was die Integration mit verschiedenen Anwendungen erleichtert.
Parallele Verarbeitung: Das Tool fetch_urls
ermöglicht das gleichzeitige Abrufen mehrerer URLs, was die Effizienz bei Batch-Operationen deutlich erhöht.
Ressourcenoptimierung: Blockiert automatisch unnötige Ressourcen (Bilder, Stylesheets, Schriftarten, Medien), um Bandbreite zu sparen und die Leistung zu verbessern.
Robuste Fehlerbehandlung: Umfassende Fehlerbehandlung und Protokollierung gewährleisten zuverlässigen Betrieb, selbst bei problematischen Webseiten.
Konfigurierbare Parameter: Fein abgestimmte Kontrolle über Timeouts, Inhaltserkennung und Ausgabeformatierung für verschiedene Anwendungsfälle.
Direkt mit npx ausführen:
npx -y fetcher-mcp
Ersteinrichtung - Installieren Sie den erforderlichen Browser durch Ausführen des folgenden Befehls im Terminal:
npx playwright install chromium
Verwenden Sie den Parameter --transport=http
, um sowohl den streamfähigen HTTP-Endpunkt als auch den SSE-Endpunkt gleichzeitig zu starten:
npx -y fetcher-mcp --log --transport=http --host=0.0.0.0 --port=3000
Nach dem Start bietet der Server folgende Endpunkte:
/mcp
- Streamfähiger HTTP-Endpunkt (modernes MCP-Protokoll)/sse
- SSE-Endpunkt (veraltetes MCP-Protokoll)Clients können je nach Bedarf die Verbindungsmethode wählen.
Führen Sie mit der Option --debug
aus, um das Browserfenster zur Fehlersuche anzuzeigen:
npx -y fetcher-mcp --debug
Konfigurieren Sie diesen MCP-Server in Claude Desktop:
Auf MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Auf Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fetcher": {
"command": "npx",
"args": ["-y", "fetcher-mcp"]
}
}
}
docker run -p 3000:3000 ghcr.io/jae-jae/fetcher-mcp:latest
Erstellen Sie eine docker-compose.yml
-Datei:
version: "3.8"
services:
fetcher-mcp:
image: ghcr.io/jae-jae/fetcher-mcp:latest
container_name: fetcher-mcp
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NODE_ENV=production
# Using host network mode on Linux hosts can improve browser access efficiency
# network_mode: "host"
volumes:
# For Playwright, may need to share certain system paths
- /tmp:/tmp
# Health check
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
Dann ausführen:
docker-compose up -d
fetch_url
- Ruft Webseiteninhalte von einer bestimmten URL ab
url
: Die abzurufende Webseiten-URL (erforderlicher Parameter)timeout
: Timeout für das Laden der Seite in Millisekunden, Standard ist 30000 (30 Sekunden)waitUntil
: Legt fest, wann die Navigation als abgeschlossen gilt, Optionen: 'load', 'domcontentloaded', 'networkidle', 'commit', Standard ist 'load'extractContent
: Ob der Hauptinhalt intelligent extrahiert werden soll, Standard ist truemaxLength
: Maximale Länge des zurückgegebenen Inhalts (in Zeichen), Standard ist keine BegrenzungreturnHtml
: Ob HTML-Inhalt statt Markdown zurückgegeben werden soll, Standard ist falsewaitForNavigation
: Ob auf zusätzliche Navigation nach dem ersten Laden der Seite gewartet werden soll (nützlich für Seiten mit Anti-Bot-Verifizierung), Standard ist falsenavigationTimeout
: Maximale Wartezeit für zusätzliche Navigation in Millisekunden, Standard ist 10000 (10 Sekunden)disableMedia
: Ob Medienressourcen deaktiviert werden sollen (Bilder, Stylesheets, Schriftarten, Medien), Standard ist truedebug
: Ob der Debug-Modus aktiviert werden soll (Browserfenster anzeigen), überschreibt das --debug-Kommandozeilenflag, falls angegebenfetch_urls
- Ruft parallel Webseiteninhalte von mehreren URLs ab
urls
: Array von abzurufenden URLs (erforderlicher Parameter)fetch_url
Auf vollständiges Laden warten: Für Websites mit CAPTCHA, Weiterleitungen oder anderen Verifizierungsmechanismen, fügen Sie in Ihre Eingabeaufforderung ein:
Bitte warten Sie, bis die Seite vollständig geladen ist
Dies verwendet den Parameter waitForNavigation: true
.
Timeout erhöhen: Für langsam ladende Websites:
Bitte setzen Sie das Lade-Timeout auf 60 Sekunden
Passt sowohl timeout
als auch navigationTimeout
entsprechend an.
Originale HTML-Struktur beibehalten: Wenn die Inhaltserkennung fehlschlagen könnte:
Bitte behalten Sie die originale HTML-Struktur bei
Setzt extractContent: false
und returnHtml: true
.
Kompletten Seiteninhalt abrufen: Wenn der extrahierte Inhalt zu begrenzt ist:
Bitte rufen Sie den kompletten Webseiteninhalt statt nur des Hauptinhalts ab
Setzt extractContent: false
.
Inhalt als HTML zurückgeben: Wenn HTML-Format statt Standard-Markdown benötigt wird:
Bitte geben Sie den Inhalt im HTML-Format zurück
Setzt returnHtml: true
.
Bitte aktivieren Sie den Debug-Modus für diesen Abrufvorgang
Setzt debug: true
, selbst wenn der Server ohne das --debug
-Flag gestartet wurde.Manuelle Anmeldung: Um sich mit eigenen Anmeldedaten anzumelden:
Bitte führen Sie im Debug-Modus aus, damit ich mich manuell auf der Website anmelden kann
Setzt debug: true
oder verwendet das --debug
-Flag, wodurch das Browserfenster für die manuelle Anmeldung geöffnet bleibt.
Interaktion mit Debug-Browser: Wenn der Debug-Modus aktiviert ist:
Debug für bestimmte Anfragen aktivieren: Selbst wenn der Server bereits läuft, können Sie den Debug-Modus für eine bestimmte Anfrage aktivieren:
Bitte aktivieren Sie den Debug-Modus für diesen Authentifizierungsschritt
Setzt debug: true
nur für diese spezifische Anfrage und öffnet das Browserfenster für die manuelle Anmeldung.
npm install
Installieren Sie die für Playwright benötigten Browser:
npm run install-browser
npm run build
Verwenden Sie MCP Inspector für die Fehlersuche:
npm run inspector
Sie können auch den sichtbaren Browser-Modus für die Fehlersuche aktivieren:
node build/index.js --debug
Lizenziert unter der MIT-Lizenz