2 Punkte von GN⁺ 2025-04-08 | 1 Kommentare | Auf WhatsApp teilen
  • Browser MCP verbindet AI-Apps mit dem Browser des Nutzers, sodass Formulareingaben, Tests und wiederkehrende Webaufgaben automatisiert werden können
  • Die Automatisierung läuft auf der lokalen Maschine, wodurch Netzwerklatenz reduziert wird und Browseraktivitäten nicht an entfernte Server übertragen werden
  • Bestehende Browserprofile werden unverändert genutzt, sodass Login-Sitzungen erhalten bleiben; mit dem echten Browser-Fingerprint lassen sich einfache Bot-Erkennung und CAPTCHAs umgehen
  • Der Einstieg besteht aus drei Schritten: Browser-Erweiterung installieren, MCP-Server zur AI-Anwendung hinzufügen und Automatisierungs-Workflow erstellen
  • Bietet Werkzeuge für Browserinteraktionen wie URL-Navigation, Klicks, Drag & Drop, Snapshots, Screenshots und das Abrufen von Konsolenlogs

Browseraufgaben automatisieren, die mit AI-Apps allein schwierig sind

  • Automatisierungen, die Browserinteraktionen erfordern – etwa das wiederholte Ausfüllen von Formularen auf Websites – lassen sich mit AI-Apps wie Cursor oder Claude allein nur schwer umsetzen
  • Browser MCP verbindet AI-Apps mit dem Browser des Nutzers, damit sie Webaufgaben stellvertretend ausführen können
  • Es gibt zwei Hauptanwendungsfälle
    • Automatisierte Tests: AI-Editoren testen Code Ende-zu-Ende, überprüfen Nutzerflüsse und UI-Elemente und kontrollieren das Verhalten der Anwendung in verschiedenen Szenarien
    • Aufgabenautomatisierung: Übernimmt wiederkehrende webbasierte Aufgaben wie Datenerfassung, Formularausfüllung und Workflow-Automatisierung

Installationsablauf und lokale Ausführung

  • Der Einstieg besteht aus drei Schritten
    • Die Browser MCP-Erweiterung im Browser installieren
    • Den Browser MCP-MCP-Server zur AI-Anwendung hinzufügen und mit der Browser-Erweiterung verbinden
    • Damit beginnen, Automatisierungs-Workflows zu erstellen, mit denen der AI-Assistent wiederkehrende Aufgaben im Browser erledigt
  • Die Automatisierung läuft auf der lokalen Maschine des Nutzers
    • Ziel sind bessere Performance und geringere Netzwerklatenz
    • Browseraktivitäten werden nicht an entfernte Server übertragen, sondern bleiben auf dem Gerät
    • Das bestehende Browserprofil wird genutzt, um Login-Sitzungen bei Diensten beizubehalten
    • Der echte Browser-Fingerprint wird verwendet, um einfache Bot-Erkennung und CAPTCHAs zu umgehen

Bereitgestellte Werkzeuge und unterstützte Ziele

  • Stellt Werkzeuge bereit, die für Browserinteraktionen nötig sind
    • Navigate, Go Back, Go Forward, Wait
    • Press Key, Click, Drag & Drop, Hover, Type Text
    • Snapshot, Screenshot, Get Console Logs
  • Unterstützt werden unter anderem Cursor, Claude, Windsurf und VSCode
  • Die Dokumentation ist unter Documentation verfügbar

1 Kommentare

 
GN⁺ 2025-04-08
Meinungen auf Hacker News
  • [!warning!] Die Chrome-Erweiterung dieses Projekts sendet detaillierte Telemetriedaten an PostHog und Amplitude: https://storage.googleapis.com/cobrowser-images/telemetry.pn..., https://storage.googleapis.com/cobrowser-images/pings.png
    Außerdem ist zwar der Quellcode des lokalen MCP-Servers enthalten, aber nicht der der Chrome-Erweiterung; zudem scheint https://github.com/ruifigueira/playwright-crx ohne Quellenangabe gebündelt worden zu sein, was sehr verdächtig wirkt

    • Ich bin der Macher von Browser MCP. Die Erweiterung verwendet eine anonyme Geräte-ID und sendet Analyse-Events, wenn Tool-Aufrufe genutzt werden
      Am Netzwerk-Traffic kann man sehen, dass keinerlei personalisierte oder identifizierbare Informationen gesendet werden. Ziel ist es, anonymisierte Nutzungsdaten zu sammeln, um zu verstehen, wie stark die Erweiterung genutzt wird – so wie Websites ihre Besucher zählen. Da ich meine Zeit auf mehrere Projekte aufteile, hilft mir die Zahl der aktiven Nutzer dabei zu entscheiden, worauf ich mich konzentrieren sollte
      Die Erweiterung habe ich vollständig selbst geschrieben; warum derzeit nur der MCP-Server im Repository liegt, habe ich in diesem GitHub-Issue erklärt: https://github.com/BrowserMCP/mcp/issues/1#issuecomment-2784...
      Kurz gesagt: Ich verwende ein Monorepo, das den von allen Erweiterungen gemeinsam genutzten Code enthält. Nur diese Erweiterung herauszulösen und mehrere Monorepos synchron zu pflegen, würde ziemlich viel Arbeit bedeuten. Man kann unzufrieden damit sein, wie das Projekt strukturiert ist, aber es steckt nichts Bösartiges dahinter
    • Wenn „detailliert“ hier eine anonyme deviceId und ein Zähler für Tool-Aufrufe bedeutet, dann problematisiert man schon, dass eine App grundlegende Nutzungseinblicke gewinnen will
    • Chrome-Erweiterungen, die man installieren sollte, sind nur solche, die man direkt aus dem Quellcode bauen kann
  • Die Website behauptet, sie nutze einen „echten Browser-Fingerprint, um Bot-Erkennung und CAPTCHAs zu umgehen“, aber in der Praxis war das nicht der Fall
    Vor ein paar Wochen habe ich mit einem ähnlichen selbst gebauten System eine AI den Browser in einer eingeloggten Session steuern lassen. Daraufhin erschienen selbst in einer von einem Menschen genutzten Session CAPTCHAs, und schließlich wurde ich auf mehreren Websites blockiert. Als ich aufhörte, die Browser-Session auf diese Weise zu nutzen, verschwanden die Sperren mit der Zeit wieder. Diese Methode ist also keine Universallösung, und man kann dabei auch den eigenen Zugriff verlieren

    • Die Voraussetzung für so etwas lautet normalerweise: „wenn man hochwertige Proxys verwendet“
      Außerdem wirkt diese Erweiterung ziemlich auffällig, daher dürfte es nicht lange dauern, bis Cloudflares Bot-Erkennung sie ähnlich wie Playwright erkennt
    • Diese Erweiterung aktiviert Debugging im Browser, und es wird ein Banner angezeigt, dass automatisiert wird. Das lässt sich per JavaScript erkennen
      Deshalb gibt es Projekte wie dieses: https://github.com/Kaliiiiiiiiii-Vinyzu/patchright. Es verbirgt den Debugging-Teil vor JavaScript
    • Es könnte auch von der Geschwindigkeit abhängen, mit der Website-Elemente angeklickt werden
    • Ich frage mich, woran man es schnell erkennen könnte. Man könnte zum Beispiel Mausbewegungen verfolgen und berechnen, ob sie zu sauber sind; mit menschenähnlicherem Rauschen in der Mausbewegung ließe sich das womöglich besser umgehen
      Zu viele Aktionen in zu kurzer Zeit sind ebenfalls ein Problem, aber auch das Timing zwischen Aktionen kommt infrage. Selbst wenn einzelne Klicks nicht schnell sind, wird eine zu gleichmäßige Verzögerung zu einem weiteren nichtmenschlichen Signal
    • Der Grund, warum es CAPTCHAs gibt, ist auch, dass man Menschen nicht zutrauen kann, Automatisierungstools angemessen zu verwenden
      „Bot-Erkennung und CAPTCHAs umgehen“ bedeutet letztlich, dass solche Mechanismen wegen Leuten wie dir existieren. Wenn du wirklich Zugriff brauchst, solltest du eine API anfragen; die kann kostenpflichtig sein oder auch nicht. Vielleicht bekommst du sie, vielleicht lehnt der Website-Betreiber ab – und in diesem Fall solltest du akzeptieren, dass dein Verhalten oder dein Use Case unerwünscht ist
  • Ich habe gefühlt einen Tag geschlafen, und jetzt sehe ich MCP überall. Ich weiß nicht, was MCP ist, und inzwischen habe ich Angst zu fragen

    • MCP ist eine Methode, um LLM-Modellen eine Methodenbibliothek/API bereitzustellen, die sie „aufrufen“ können
      Wenn man dem Modell Methodennamen, Parameter, Ausgabetypen und Zweck mitteilt, bittet das LLM den MCP-Server, eine Funktion aufzurufen, prüft das Ergebnis und ruft bei Bedarf die nächste Funktion auf. Heute ist es schwierig, ChatGPT zu sagen: „Öffne Google Maps mit meinem Konto, suche Fahrradläden in der Nähe von New York und hol mir die Telefonnummern.“ Mit einem Browser-MCP könnte ChatGPT dem Browser Anweisungen wie „Google Maps öffnen“, „Screenshot anzeigen“ oder „auf diese Stelle klicken“ schicken
    • Das Schlimmste daran ist, dass es eine Büchse der Pandora potenzieller Schwachstellen öffnet: https://elenacross7.medium.com/%EF%B8%8F-the-s-in-mcp-stands...
    • MCP ist ein Standard, mit dem man nützliche Tools an AI-Modelle anschließt, damit diese sie verwenden können
      Für normale Nutzer ist das Konzept merkwürdig umgedreht und nicht intuitiv, aber für Entwickler sieht es wie die Tools aus, die sie selbst verwenden, weshalb sie die Verwirrung oft nicht bemerken
    • MCP wird zwar breit übernommen, ist aber keine Graswurzelbewegung. Es wirkt eher so, als seien bestehende AI-Unternehmen schnell eingestiegen, um Bekanntheit bei Entwicklern und Marktanteile zu sichern, bevor sich ein Konsens bildet
    • Es ist Remote Procedure Call (RPC) speziell für LLMs. Und außerdem der heutige neue Hype, der um die Welt geht
  • Es wäre schön, wenn man auf einer Shopping-Website dem Browser sagen könnte: „Geh alle Sideboards in dieser Liste durch und filtere nur die heraus, die größer als 155 cm und kleiner als 100 cm sind. Priorisiere dunkles Holz und solche mit Platz für Schallplatten mit 31,43 cm Höhe.“
    Wenn sich Detailinformationen von der Seite extrahieren ließen, wäre das sehr nützlich; ich frage mich, ob es schon einen Browser gibt, der so etwas kann.

    • Ich baue etwas Ähnliches namens MatterRank, das derzeit bei der Websuche funktioniert.
      Zum Beispiel: „Priorisiere Ergebnisse, die X behandeln und eine Y-Ausrichtung haben, und stufe Ergebnisse herab, die etwas verkaufen wollen.“ Man kann es unter https://matterrank.ai ausprobieren.
      Ich würde auch gern mehr über die Use Cases hören, die du dir vorstellst. Ich frage mich, ob es eine Browser-Erweiterung sein soll, die auf der Website funktioniert, die man gerade ansieht, ein Shopping-Aggregator, der diese Funktion bietet, oder etwas ganz anderes.
    • Das geht mit browser-use: https://browser-use.com/
    • Bei der Einrichtung von Innenräumen habe ich definitiv Interesse daran, Dinge zu finden, die zu sehr spezifischen Prompts passen.
  • Gut gemacht. Ich habe es in Claude Desktop getestet; es funktionierte reibungslos und war deutlich weniger umständlich als Playwright. Das geht in die richtige Richtung.
    Falls ihr das nicht schon umgesetzt habt: Es wäre gut, wenn die Automatisierung pausiert und dem Nutzer meldet, dass ein Eingriff nötig ist, sobald auf einer Seite ein CAPTCHA erkannt wird. Playwright versucht, sich auch durch CAPTCHAs weiter durchzukämpfen.

  • Eine Aufgabe, bei der Informationen im Web gesucht und die Ergebnisse in eine Google Sheets-Tabelle eingetragen werden sollten, funktionierte beim ersten Mal fast perfekt, scheiterte danach aber bei 8–10 weiteren Versuchen vollständig.
    Ich frage mich, ob es ein Latenzproblem zwischen dem gibt, was im Browser passiert, und der MCP-App, hier Claude Desktop. Beim ersten Versuch habe ich die Berechtigung „Allow for this chat“ schnell genug angeklickt; bei den späteren hatte ich den Eindruck, dass das LLM, bis ich auf die Berechtigung klickte, bereits meldete: „Es scheint ein Problem mit dem Klick gegeben zu haben. Ich versuche es noch einmal mit einer anderen Referenz.“
    Aktionen wie das Anklicken des Titels einer Google-Tabelle und die Eingabe eines Namens, die beim ersten Mal perfekt funktionierten, schlugen in späteren Versuchen zu 100 % fehl. Dasselbe galt für das Erkennen von Zellen wie A1, B1 und das Eingeben von Zeilen. Die Erfahrung an sich ist sehr reibungslos, und Einrichtung sowie Ausführung sind hervorragend, aber wegen der Latenz und der nötigen Geschwindigkeit beim Klick auf den Allow-Button scheint es in Claude Desktop praktisch schwer nutzbar zu sein.

    • Eine reichhaltige UI wie Google Sheets wirkt wie ein schlechter Use Case für einen generischen Browser-Automatisierungs-MCP-Server.
      Es wäre gut, so einen MCP-Server zu haben, aber dem LLM zusätzlich ein spezielles Tool bereitzustellen, mit dem es Google-Sheets-Zellen lesen und schreiben kann. Mit einer spezifischeren Abstraktion statt allgemeiner Interaktion mit Webseiten würde es solche Aufgaben viel besser bewältigen.
    • Ich habe an einem Google Sheets MCP gearbeitet, und mit Claudes eingebauter Suchfunktion für Data Scraping funktionierte es ziemlich gut.
      Beispiel: https://x.com/xing101/status/1903391600040083488
      Einrichtung: https://github.com/xing5/mcp-google-sheets
    • Was du erlebt hast, nennt man gemeinhin Glück.
      Das ist derselbe Grund, warum Leute ständig glauben, eine neue ChatGPT-Version sei generft worden. In Wirklichkeit hattest du am Anfang Glück und hast auf Basis dieses positiven ersten Ergebnisses unrealistische Erwartungen entwickelt. Es ist kein Bug oder Defekt, sondern eher so, dass die statistische Wahrscheinlichkeit für das gewünschte Verhalten gering ist und du im ersten Zug einen guten Würfelwurf hattest.
    • Bei mir kann es in Google Sheets nirgendwo klicken. Es kommt folgender Fehler:
      --Error: Cannot access a chrome-extension:// URL of different extension
  • Auf so etwas freue ich mich wirklich für manuelle Aufgaben wie Spesenabrechnungen. Jeden Monat muss ich auf die Websites von Dienstleistern gehen, mich einloggen, Abrechnungen finden und herunterladen, ein Google-Dokument mit den Details ausfüllen, es herunterladen, eine neue E-Mail schreiben und alle Dateien hochladen.
    Um noch einmal zu prüfen, ob die Anhänge korrekt sind, muss ich sie manchmal erneut herunterladen, weil man sie in der E-Mail nicht direkt ansehen kann. Die Automatisierung selbst ist zwar schon möglich, und eine ordentliche App zur Ausgabenverfolgung könnte die Hälfte davon überflüssig machen, aber AI-Tools haben das Potenzial, den kleinteiligen Aufwand für das Ausfüllen solcher Angaben deutlich zu reduzieren. Solche Workflows sind besonders wichtig, weil sich an ihnen häufig kleine Dinge ändern.

  • Für die meisten hier mag es selbstverständlich sein, aber um den MCP-Server auszuführen, muss Node.js installiert sein. Dieses wichtige Detail fehlt in der Einrichtungsanleitung.

  • Ich habe etwas Ähnliches gebaut, das Hardware-Synthesizer steuert und Sounddesign ermöglicht, ohne echte Regler anzufassen: https://github.com/zerubeus/elektron-mcp

    • Gute Idee.
      Ich kann mir vorstellen, Plugins aus der Ferne zu steuern und ein LLM mit vorhandenen Tools Mastering und Klangabstimmung machen zu lassen. Die komplexen, übermäßig grafischen UIs von VSTs könnten zwar eine Performance-Hürde sein, aber man könnte es mit einem beschrifteten MIDI-Mapping-Interface verbinden, um Regler und Pegel zu steuern.
  • Es wäre schön, Seiten nicht anhand von Screenshots, sondern über den Accessibility Tree der Chrome-Entwicklertools navigieren zu können: https://developer.chrome.com/blog/full-accessibility-tree

    • Eigentlich ist es genau andersherum verstanden worden. Derzeit gibt es keine Screenshots, nur den Accessibility Tree.