YetiBrowser MCP

offiziell

YetiBrowser MCP ist eine vollständig quelloffene Lösung, die es KI-Assistenten ermöglicht, problemlos mit Ihrem vorhandenen Browser zu interagieren.

Was kann man mit Yeti Browser MCP machen?

  • Navigieren und Seiten-Schnappschüsse erfassen — bitten Sie den Assistenten, eine URL mit browser_navigate zu laden und einen Barrierefreiheits-Schnappschuss der resultierenden Seite zurückzugeben.
  • Webformulare ausfüllen und absenden — verwenden Sie browser_fill_form oder browser_type, um mehrere Felder zu befüllen und optional das Formular abzusenden.
  • Konsolenausgabe und Seitenstatus prüfen — rufen Sie Fehler, Logs, Formulardaten, Cookies und Speicherschlüssel über browser_get_console_logs und browser_page_state ab.
  • Benutzerdefiniertes JavaScript auf der Seite ausführen — führen Sie beliebige Skripte mit browser_evaluate aus und erhalten Sie JSON-serialisierbare Ergebnisse zum Debuggen oder zur Datenextraktion.
  • Screenshots erfassen — machen Sie Ansichtsfenster- oder Ganzseiten-Screenshots mit browser_screenshot für visuelle Überprüfungen oder QA-Workflows.

Dokumentation

[!IMPORTANT] Dieses Projekt wurde archiviert. Es wurde entwickelt, um die fehlende Browsersteuerung in KI-Agenten wie Claude und Codex zu beheben, aber die Agenten verfügen jetzt über diese Funktionen, ohne dass eine dedizierte MCP-basierte Lösung erforderlich ist.

YetiBrowser MCP

YetiBrowser MCP ist eine vollständig quelloffene Implementierung des Browser-MCP-Workflows. Es verbindet einen Node-basierten MCP-Server mit Chrome-/Firefox-Erweiterungen, sodass Model-Context-Protocol-Clients – Codex/Claude Code, Cursor, Windsurf, MCP Inspector oder Ihre eigenen Tools – einen echten Browser-Tab automatisieren können, wobei jedes Byte auf Ihrem Rechner bleibt und überprüfbar ist.

Warum YetiBrowser MCP wählen?

  • Transparent und hackbar – keine Blob-Downloads. Jede Komponente kann eingesehen, geforkt und erweitert werden.
  • Lokal zuerst – die Erweiterung kommuniziert nur mit einem localhost-MCP-Server; Browserdaten verlassen niemals Ihr Gerät.
  • Browserübergreifend – gemeinsame Logik unterstützt sowohl Chrome- als auch Firefox-Pakete (der Firefox-Build wartet auf bessere Manifest-V3-Unterstützung, daher kann die Verbindungs-UX eingeschränkt sein, bis Mozilla vollständige MV3-APIs bereitstellt).
  • Entwicklerorientierte Werkzeuge – umfangreichere Konsolenerfassung, DOM-Diffing, Seitenzustands-Dumps und Vollbild-Screenshots, entwickelt für Debugging und QA.
  • Produktionsfreundlich – Skripte und Dokumentation für Paketierung, Veröffentlichung und Integration in IDE-Workflows.

Repository-Struktur

  • packages/shared – gemeinsame TypeScript-Definitionen für Nachrichten und Werkzeugschemata.
  • packages/server – der MCP-Server, der MCP-Clients mit einem laufenden Browser-Tab verbindet.
  • extensions/shared – gemeinsamer Erweiterungsquellcode (Hintergrund/Popup) und Assets.
  • extensions/chrome / extensions/firefox – browserspezifische Paketierungsschichten.
  • docs/ – Arbeitsbereichsbefehle, Veröffentlichungschecklisten und Funktionshinweise.
  • scripts/ – Hilfsprogramme wie package-extensions.sh für Release-ZIPs.

Verfügbare MCP-Werkzeuge

  • browser_snapshot – einen barrierefreiheitsorientierten Schnappschuss der aktuellen Seite erfassen
  • browser_snapshot_diff – die beiden letzten Schnappschüsse vergleichen, um DOM-/ARIA-Änderungen hervorzuheben
  • browser_navigate – eine neue URL im verbundenen Tab laden und einen aktualisierten Schnappschuss zurückgeben
  • browser_go_back / browser_go_forward – durch den Verlauf navigieren, während MCP synchron bleibt
  • browser_wait – Automatisierung für eine festgelegte Anzahl von Sekunden pausieren
  • browser_wait_for – blockieren, bis ein Selektor erscheint (optional sichtbar), bevor fortgefahren wird
  • browser_press_key – einen Tastaturtastendruck auf dem fokussierten Element simulieren
  • browser_click – das durch einen CSS-Selektor identifizierte Element klicken
  • browser_hover – den Mauszeiger über das anvisierte Element bewegen
  • browser_drag – ein Element auf ein Ablageziel ziehen, für sortierbare/Drag-and-Drop-Benutzeroberflächen
  • browser_type – Text in ein bearbeitbares Element eingeben (optional mit Enter absenden)
  • browser_fill_form – mehrere Eingabefelder/Auswahllisten/Checkboxen/Radiobuttons in einem Aufruf ausfüllen
  • browser_select_option – eine oder mehrere Optionen in einem <select>-Element auswählen
  • browser_screenshot – einen Viewport- oder Vollbild-Screenshot über das DevTools-Protokoll erfassen
  • browser_get_console_logs – aktuelle Konsolenausgabe zurückgeben, einschließlich Fehlern mit Stack-Traces
  • browser_page_state – Formulare, Speicherschlüssel und Cookies für die verbundene Seite ausgeben
  • browser_connection_info – Bridge-WebSocket-Port, Verbindungsstatus und Erweiterungsversion melden
  • browser_evaluate – benutzerdefiniertes JavaScript innerhalb der Seite ausführen und JSON-serialisierbare Ergebnisse zurückgeben
  • browser_handle_dialogalert/confirm/prompt-Dialoge mit optionalem Eingabetext akzeptieren oder ablehnen

MCP-Browsererweiterungsinstallation

Chrome-Browser

Firefox-Browser (derzeit nicht verfügbar)

  • Aufgrund der eingeschränkten Fähigkeiten von Manifest v3 in der stabilen Firefox-Version ist die Firefox-Erweiterung zurückgestellt, bis die vollständige Unterstützung allgemein verfügbar ist (außerhalb von Nightly-Builds).

MCP-Server-Installation

Codex CLI

  • Bearbeiten Sie Ihre ~/.codex/config.toml und fügen Sie den MCP-Eintrag hinzu:
    [mcp_servers.yetibrowser-mcp]
    command = "npx"
    args = ["-y", "@yetidevworks/server"]
    
  • Starten Sie den codex CLI-Befehl neu; Sie sollten yetibrowser-mcp unter den /mcp-Werkzeugen aufgelistet sehen.
  • Wenn Sie einen bestimmten Port angeben möchten, verwenden Sie dieses Format für den args-Eintrag: args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]

Claude Code

  • Stellen Sie sicher, dass die Erweiterung installiert und mit einem Tab verbunden ist, und starten Sie dann den MCP-Server mit npx -y @yetidevworks/server (oder führen Sie die lokal gebaute CLI aus).
  • Fügen Sie den Servereintrag zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu (siehe das Beispiel in docs/publishing.md).
  • Starten Sie claude neu, damit es den neuen MCP-Server erkennt; Sie sollten yetibrowser-mcp im /mcp-Werkzeugmenü aufgelistet sehen, sobald die Erweiterung verbunden ist.

Andere MCP-fähige Clients

  • Jeder MCP-Client kann sich verbinden, indem er die CLI startet (npx -y @yetidevworks/server) oder optional einen bestimmten Port angibt, z. B. npx -y @yetidevworks/server --ws-port 9010.
  • Der Server stellt den standardmäßigen MCP-Transport über stdio bereit. Verwenden Sie daher den von Ihrem Client unterstützten Konfigurationsmechanismus, um den obigen Befehl auszuführen, wenn ein Tab verbunden ist.

MCP Inspector

  • Zum Testen und Debuggen außerhalb eines Coding-Agenten.
  • npx @modelcontextprotocol/inspector npx -y @yetidevworks/server -- --ws-port 9010 um den MCP-Server in Verbindung mit der YetiBrowser MCP-Browsererweiterung auszuführen und zu inspizieren.

Fehlerbehebung

  • Die CLI durchläuft die Ports 9010-9020, bis sie einen freien findet, und protokolliert switched to, wenn sie weitergeht. Übergeben Sie --ws-port <port>, wenn Sie stattdessen einen bestimmten Port festlegen möchten.
  • Das Popup der Browsererweiterung spiegelt dieses Verhalten wider: Belassen Sie es auf „Automatisch“, um den Port der CLI zu verfolgen, oder wählen Sie „Manuell“ und geben Sie den von browser_connection_info / dem CLI-Protokoll gemeldeten Port ein, um ihn zu überschreiben.
  • Fragen Sie einfach Ihr KI-Tool nach dem Verbindungsport. Zum Beispiel: what is the yetibrowser mcp connction info?, dann setzen Sie den manuellen Port auf den gemeldeten Port.

Dokumentation & Build-Skripte

  • Arbeitsbereichsbefehle befinden sich in docs/workspace-commands.md.
  • Veröffentlichungsschritte (npm + Erweiterungs-Stores) sind in docs/publishing.md beschrieben.
  • Das Screenshot-Verhalten ist in docs/screenshot.md dokumentiert.
  • Erstellen Sie verteilbare Chrome-/Firefox-ZIPs mit ./scripts/package-extensions.sh (Ausgabe in artifacts/).
  • Eine Datenschutzrichtlinie auf Repository-Ebene ist in PRIVACY.md verfügbar.