Skip to main content
Glama

Fetch MCP

by jae-jae

Fetcher MCP

MCP-Server zum Abrufen von Webseiteninhalten mit dem Headless-Browser Playwright.

Vorteile

  • JavaScript-Unterstützung : Im Gegensatz zu herkömmlichen Web-Scrapern verwendet Fetcher MCP Playwright zur Ausführung von JavaScript und ist daher in der Lage, dynamische Webinhalte und moderne Webanwendungen zu verarbeiten.
  • Intelligente Inhaltsextraktion : Der integrierte Lesbarkeitsalgorithmus extrahiert automatisch den Hauptinhalt von Webseiten und entfernt Anzeigen, Navigation und andere nicht wesentliche Elemente.
  • Flexibles Ausgabeformat : Unterstützt sowohl HTML- als auch Markdown-Ausgabeformate und erleichtert so die Integration in verschiedene nachgelagerte Anwendungen.
  • Parallele Verarbeitung : Das Tool fetch_urls ermöglicht das gleichzeitige Abrufen mehrerer URLs und verbessert so die Effizienz von Stapelverarbeitungsvorgängen erheblich.
  • Ressourcenoptimierung : Blockiert automatisch unnötige Ressourcen (Bilder, Stylesheets, Schriftarten, Medien), um die Bandbreitennutzung zu reduzieren und die Leistung zu verbessern.
  • Robuste Fehlerbehandlung : Eine umfassende Fehlerbehandlung und -protokollierung gewährleistet einen zuverlässigen Betrieb auch bei problematischen Webseiten.
  • Konfigurierbare Parameter : Feinkörnige Kontrolle über Timeouts, Inhaltsextraktion und Ausgabeformatierung für verschiedene Anwendungsfälle.

Schnellstart

Direkt mit npx ausführen:

npx -y fetcher-mcp

Ersteinrichtung – installieren Sie den erforderlichen Browser, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

npx playwright install chromium

HTTP- und SSE-Transport

Verwenden Sie den Parameter --transport=http , um sowohl die Streamable-HTTP-Endpunkt- als auch die SSE-Endpunktdienste gleichzeitig zu starten:

npx -y fetcher-mcp --log --transport=http --host=0.0.0.0 --port=3000

Nach dem Start stellt der Server die folgenden Endpunkte bereit:

  • /mcp – Streambarer HTTP-Endpunkt (modernes MCP-Protokoll)
  • /sse – SSE-Endpunkt (altes MCP-Protokoll)

Kunden können je nach Bedarf auswählen, welche Verbindungsmethode sie verwenden möchten.

Debug-Modus

Führen Sie es mit der Option --debug aus, um das Browserfenster zum Debuggen anzuzeigen:

npx -y fetcher-mcp --debug

Konfiguration MCP

Konfigurieren Sie diesen MCP-Server in Claude Desktop:

Unter MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Unter Windows: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "fetcher": { "command": "npx", "args": ["-y", "fetcher-mcp"] } } }

Docker-Bereitstellung

Ausführen mit Docker

docker run -p 3000:3000 ghcr.io/jae-jae/fetcher-mcp:latest

Bereitstellen mit Docker Compose

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

Führen Sie dann Folgendes aus:

docker-compose up -d

Merkmale

  • fetch_url - Ruft Webseiteninhalte von einer angegebenen URL ab
    • Verwendet den Headless-Browser Playwright zum Parsen von JavaScript
    • Unterstützt die intelligente Extraktion von Hauptinhalten und die Konvertierung in Markdown
    • Unterstützt die folgenden Parameter:
      • url : Die URL der abzurufenden Webseite (erforderlicher Parameter)
      • timeout : Timeout für das Laden der Seite in Millisekunden, Standard ist 30000 (30 Sekunden)
      • waitUntil : Gibt an, wann die Navigation als abgeschlossen gilt. Optionen: „load“, „domcontentloaded“, „networkidle“, „commit“, Standard ist „load“.
      • extractContent : Gibt an, ob der Hauptinhalt intelligent extrahiert werden soll. Der Standardwert ist „true“.
      • maxLength : Maximale Länge des zurückgegebenen Inhalts (in Zeichen), Standard ist keine Begrenzung
      • returnHtml : Ob HTML-Inhalt anstelle von Markdown zurückgegeben werden soll, Standard ist „false“
      • waitForNavigation : Ob nach dem ersten Laden der Seite auf weitere Navigation gewartet werden soll (nützlich für Websites mit Anti-Bot-Verifizierung), Standard ist „false“
      • navigationTimeout : Maximale Wartezeit für weitere Navigation in Millisekunden, Standard ist 10000 (10 Sekunden)
      • disableMedia : Ob Medienressourcen (Bilder, Stylesheets, Schriftarten, Medien) deaktiviert werden sollen, der Standardwert ist „true“.
      • debug : Ob der Debug-Modus aktiviert werden soll (Browserfenster anzeigen), überschreibt das Befehlszeilenflag --debug, falls angegeben
  • fetch_urls - Paralleles Batch-Abrufen von Webseiteninhalten von mehreren URLs
    • Verwendet paralleles Abrufen mehrerer Registerkarten für eine verbesserte Leistung
    • Gibt kombinierte Ergebnisse mit klarer Trennung zwischen den Webseiten zurück
    • Unterstützt die folgenden Parameter:
      • urls : Array der abzurufenden URLs (erforderlicher Parameter)
      • Andere Parameter sind dieselben wie bei fetch_url

Tipps

Umgang mit speziellen Website-Szenarien

Umgang mit Anti-Crawler-Mechanismen
  • Warten Sie, bis der Ladevorgang abgeschlossen ist : Fügen Sie bei Websites, die CAPTCHA, Weiterleitungen oder andere Überprüfungsmechanismen verwenden, Folgendes in Ihre Eingabeaufforderung ein:
    Please wait for the page to fully load
    Dabei wird der Parameter waitForNavigation: true verwendet.
  • Timeout-Dauer erhöhen : Für Websites, die langsam laden:
    Please set the page loading timeout to 60 seconds
    Dadurch werden sowohl timeout als auch navigationTimeout -Parameter entsprechend angepasst.
Anpassungen beim Inhaltsabruf
  • Ursprüngliche HTML-Struktur beibehalten : Wenn die Inhaltsextraktion fehlschlagen könnte:
    Please preserve the original HTML content
    Legt extractContent: false und returnHtml: true .
  • Vollständigen Seiteninhalt abrufen : Wenn der extrahierte Inhalt zu begrenzt ist:
    Please fetch the complete webpage content instead of just the main content
    Legt extractContent: false .
  • Inhalt als HTML zurückgeben : Wenn das HTML-Format anstelle des Standard-Markdowns benötigt wird:
    Please return the content in HTML format
    Legt returnHtml: true .

Debuggen und Authentifizierung

Aktivieren des Debug-Modus
  • Dynamische Debug-Aktivierung : So zeigen Sie das Browserfenster während eines bestimmten Abrufvorgangs an:
    Please enable debug mode for this fetch operation
    Dadurch wird debug: true festgelegt, auch wenn der Server ohne das Flag --debug gestartet wurde.
Verwenden von benutzerdefinierten Cookies zur Authentifizierung
  • Manuelle Anmeldung : So melden Sie sich mit Ihren eigenen Anmeldeinformationen an:
    Please run in debug mode so I can manually log in to the website
    Legt debug: true oder verwendet das Flag --debug , wodurch das Browserfenster für die manuelle Anmeldung geöffnet bleibt.
  • Interaktion mit dem Debug-Browser : Wenn der Debug-Modus aktiviert ist:
    1. Das Browserfenster bleibt geöffnet
    2. Sie können sich mit Ihren Anmeldeinformationen manuell bei der Website anmelden
    3. Nach Abschluss der Anmeldung werden die Inhalte mit Ihrer authentifizierten Sitzung abgerufen
  • Debug für bestimmte Anfragen aktivieren : Auch wenn der Server bereits läuft, können Sie den Debug-Modus für eine bestimmte Anfrage aktivieren:
    Please enable debug mode for this authentication step
    Legt debug: true nur für diese spezielle Anfrage fest und öffnet das Browserfenster für die manuelle Anmeldung.

Entwicklung

Abhängigkeiten installieren

npm install

Installieren Sie den Playwright Browser

Installieren Sie die für Playwright erforderlichen Browser:

npm run install-browser

Erstellen Sie den Server

npm run build

Debuggen

Verwenden Sie MCP Inspector zum Debuggen:

npm run inspector

Sie können zum Debuggen auch den sichtbaren Browsermodus aktivieren:

node build/index.js --debug

Ähnliche Projekte

  • g-search-mcp : Ein leistungsstarker MCP-Server für die Google-Suche, der die parallele Suche mit mehreren Schlüsselwörtern gleichzeitig ermöglicht. Ideal für Batch-Suchvorgänge und Datenerfassung.

Lizenz

Lizenziert unter der MIT-Lizenz

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Ein MCP-Server, der Webseiteninhalte mit dem Headless-Browser Playwright abruft und in der Lage ist, Hauptinhalte zu extrahieren und in das Markdown-Format zu konvertieren.

  1. Vorteile
    1. Schnellstart
      1. HTTP- und SSE-Transport
      2. Debug-Modus
    2. Konfiguration MCP
      1. Docker-Bereitstellung
        1. Ausführen mit Docker
        2. Bereitstellen mit Docker Compose
      2. Merkmale
        1. Tipps
          1. Umgang mit speziellen Website-Szenarien
          2. Debuggen und Authentifizierung
        2. Entwicklung
          1. Abhängigkeiten installieren
          2. Installieren Sie den Playwright Browser
          3. Erstellen Sie den Server
        3. Debuggen
          1. Ähnliche Projekte
            1. Lizenz

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A powerful MCP server for fetching and transforming web content into various formats (HTML, JSON, Markdown, Plain Text) with ease.
                Last updated -
                4
                146
                12
                TypeScript
                MIT License
                • Apple
                • Linux
              • A
                security
                A
                license
                A
                quality
                An MCP server for fetching and transforming web content into various formats.
                Last updated -
                4
                4
                Python
                MIT License
                • Apple
              • -
                security
                A
                license
                -
                quality
                A MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.
                Last updated -
                Python
                Apache 2.0
                • Apple
              • -
                security
                F
                license
                -
                quality
                An MCP server that extracts meaningful content from websites and converts HTML to high-quality Markdown, using Mozilla's Readability engine.
                Last updated -
                11,993
                2
                JavaScript

              View all related MCP servers

              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/jae-jae/fetcher-mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server