Browser Agent MCP

Integrations

  • Supports browser automation in Firefox, allowing for navigation, DOM manipulation, form filling, and JavaScript execution through Playwright.

  • Demonstrated capability to navigate to Google, perform searches, and interact with search results through browser automation.

  • Enables execution of arbitrary JavaScript code in browser context, with the ability to capture console logs and return results.

MCP-Browser-Agent

Merkmale

  • Erweiterte Browserautomatisierung
    • Navigieren Sie mit anpassbaren Ladestrategien zu jeder URL
    • Erfassen Sie Screenshots der gesamten Seite oder bestimmter Elemente
    • Führen Sie präzise DOM-Interaktionen durch (Klicken, Füllen, Auswählen, Hovern)
    • Führen Sie beliebiges JavaScript im Browserkontext mit der Erfassung von Konsolenprotokollen aus
  • Leistungsstarker API-Client
    • HTTP-Anfragen ausführen (GET, POST, PUT, PATCH, DELETE)
    • Konfigurieren von Anforderungsheadern und Textinhalten
    • Antwortdaten mit JSON-Formatierung verarbeiten
    • Fehlerbehandlung mit detailliertem Feedback
  • MCP-Ressourcenmanagement
    • Greifen Sie auf Browserkonsolenprotokolle als Ressourcen zu
    • Abrufen von Screenshots über die MCP-Ressourcenschnittstelle
    • Dauerhafte Sitzung mit Headful-Browserinstanz
  • KI-Agentenfunktionen
    • Verketten Sie mehrere Browservorgänge für komplexe Aufgaben
    • Befolgen Sie mehrstufige Anweisungen mit intelligenter Fehlerbehebung
    • Automatisierung technischer Aufgaben durch Anweisungen in natürlicher Sprache

Demo

Klicken Sie auf einen beliebigen Zeitstempel, um zu diesem Abschnitt des Videos zu springen

00:00Google-Suche nach MCP
Navigieren Sie zur Google-Startseite und suchen Sie nach „Model Context Protocol“. Demonstration von Claude Desktop mithilfe der MCP-Integration, um eine einfache Websuche durchzuführen und die Ergebnisse zu verarbeiten.

00:33Screenshot-Aufnahme
Erstellen Sie einen Screenshot der Suchergebnisse mit einem benutzerdefinierten Dateinamen und präsentieren Sie ihn im Finder. Zeigt, wie Claude während der Browserautomatisierung visuelle Inhalte von Webseiten erfassen und speichern kann.

01:00Wikipedia-Suche
Navigieren Sie zu Wikipedia.org und suchen Sie nach „Model Context Protocol“. Dies veranschaulicht Claudes Fähigkeit, über die MCP-Integration mit verschiedenen Websites und deren Suchfunktionen zu interagieren.

01:38Dropdown-Menü-Interaktion I
Navigation zu einer Testwebsite (the-internet.herokuapp.com/dropdown) und Auswahl von „Option 1“ aus einem Dropdown-Menü. Demonstriert Claudes Fähigkeit, mit Formularelementen zu interagieren und Auswahlen zu treffen.

01:56Dropdown-Menü-Interaktion II
Ändern der Auswahl im selben Dropdown-Menü auf „Option 2“. Zeigt Claudes Fähigkeit, dasselbe Formularelement mehrfach zu bearbeiten und unterschiedliche Auswahlen zu treffen.

02:09Ausfüllen des Anmeldeformulars
Navigieren Sie zu einer Anmeldeseite (the-internet.herokuapp.com/login) und füllen Sie das Feld für den Benutzernamen mit „tomsmith“ und das Feld für das Passwort mit „SuperSecretPassword!“ aus. Demonstriert die Automatisierung des Formularausfüllens.

02:28 - Login-Übermittlung
Übermittlung der Anmeldeinformationen und Abschluss des Authentifizierungsprozesses. Zeigt Claudes Fähigkeit, Formulareinreichungen auszulösen und durch mehrstufige Prozesse zu navigieren.

02:36Ausführung der API-Anforderung
Ausführen einer GET-Anfrage an den JSONPlaceholder-API-Endpunkt. Demonstriert Claudes Fähigkeit, direkte API-Aufrufe zu tätigen und die zurückgegebenen Daten über die MCP-Integration zu verarbeiten.

Anforderungen

  • Node.js 16 oder höher
  • Claude Desktop
  • Dramatikerabhängigkeiten

Browserunterstützung

npm init playwright@latest

Dieses Paket enthält Playwright und die notwendigen Abhängigkeiten für die Browserautomatisierung. Wenn Sie npm install ausführen, werden die erforderlichen Playwright-Abhängigkeiten installiert. Das Paket unterstützt die folgenden Browser:

  • Chrome (Standard)
  • Feuerfuchs
  • Microsoft Edge
  • WebKit (Safari-Engine)

Wenn Sie einen Browsertyp zum ersten Mal verwenden, installiert Playwright automatisch die entsprechenden Browsertreiber. Sie können sie auch manuell mit den folgenden Befehlen installieren:

npx playwright install chrome npx playwright install firefox npx playwright install webkit npx playwright install msedge

Hinweis zu Safari : Playwright bietet keine direkte Unterstützung für den Safari-Browser. Stattdessen verwendet es WebKit, die Browser-Engine von Safari.

Hinweis zu Edge : Wenn Sie Edge als Browsertyp auswählen, startet der Agent tatsächlich Microsoft Edge (nicht Chromium). Technisch gesehen wird Edge in Playwright mit der Chromium-Browserinstanz und dem Kanalparameter „msedge“ gestartet, da Microsoft Edge auf Chromium basiert.

Installation

Manuelle Installation

  1. Klonen oder laden Sie dieses Repository herunter:
git clone https://github.com/imprvhub/mcp-browser-agent cd mcp-browser-agent
  1. Installieren Sie Abhängigkeiten:
npm install
  1. Erstellen Sie das Projekt:
npm run build

Ausführen des MCP-Servers

Es gibt zwei Möglichkeiten, den MCP-Server auszuführen:

Option 1: Manuell ausführen

  1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung
  2. Navigieren Sie zum Projektverzeichnis
  3. Führen Sie den Server direkt aus:
node dist/index.js

Lassen Sie dieses Terminalfenster geöffnet, während Sie Claude Desktop verwenden. Der Server läuft, bis Sie das Terminal schließen.

Option 2: Autostart mit Claude Desktop (empfohlen für den regelmäßigen Gebrauch)

Der Claude Desktop kann den MCP-Server bei Bedarf automatisch starten. So richten Sie dies ein:

Konfiguration

Die Konfigurationsdatei von Claude Desktop befindet sich unter:

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%\Claude\claude_desktop_config.json
  • Linux : ~/.config/Claude/claude_desktop_config.json

Bearbeiten Sie diese Datei, um die MCP-Konfiguration des Browser-Agenten hinzuzufügen. Falls die Datei nicht vorhanden ist, erstellen Sie sie:

{ "mcpServers": { "browserAgent": { "command": "node", "args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-browser-agent/dist/index.js", "--browser", "chrome" ] } } }

Wichtig : Ersetzen Sie ABSOLUTE_PATH_TO_DIRECTORY durch den vollständigen absoluten Pfad , in dem Sie MCP installiert haben

  • macOS/Linux-Beispiel: /Users/username/mcp-browser-agent
  • Windows-Beispiel: C:\\Users\\username\\mcp-browser-agent

Wenn Sie bereits andere MCPs konfiguriert haben, fügen Sie einfach den Abschnitt „browserAgent“ innerhalb des Objekts „mcpServers“ hinzu. Hier ist ein Beispiel für eine Konfiguration mit mehreren MCPs:

{ "mcpServers": { "otherMcp1": { "command": "...", "args": ["..."] }, "otherMcp2": { "command": "...", "args": ["..."] }, "browserAgent": { "command": "node", "args": [ "ABSOLUTE_PATH_TO_DIRECTORY/mcp-browser-agent/dist/index.js", "--browser", "chrome" ] } } }

Browserauswahl

Der MCP Browser Agent unterstützt mehrere Browsertypen. Standardmäßig wird Chrome verwendet. Sie können jedoch auf verschiedene Weise einen anderen Browser angeben:

Option 1: Konfigurationsdatei

Erstellen oder bearbeiten Sie die Datei .mcp_browser_agent_config.json in Ihrem Home-Verzeichnis:

{ "browserType": "chrome" }

Unterstützte Werte für browserType sind:

  • chrome – Verwendet installiertes Chrome (Standard)
  • firefox – Verwendet den Firefox-Browser „Nightly“
  • webkit – Verwendet die WebKit-Engine (Hinweis: Dies ist nicht Safari selbst, sondern die WebKit-Rendering-Engine, auf der Safari basiert)
  • edge – Verwendet Microsoft Edge

Hinweis zu Safari : Playwright bietet keine direkte Unterstützung für den Safari-Browser. Stattdessen verwendet es WebKit, die Browser-Engine von Safari. Die WebKit-Implementierung in Playwright bietet ähnliche Funktionen, ist aber nicht identisch mit der Safari-Browser-Erfahrung.

Option 2: Befehlszeilenargument

Beim manuellen Starten des MCP-Servers können Sie den Browsertyp angeben:

node dist/index.js --browser firefox

Option 3: Umgebungsvariable

Legen Sie die Umgebungsvariable MCP_BROWSER_TYPE fest:

MCP_BROWSER_TYPE=firefox node dist/index.js

Option 4: Claude Desktop-Konfiguration

Beim Konfigurieren des MCP in claude_desktop_config.json von Claude Desktop können Sie den Browsertyp angeben:

{ "mcpServers": { "browserAgent": { "command": "node", "args": [ "ABSOLUTE_PATH_TO_DIRECTORY/mcp-browser-agent/dist/index.js", "--browser", "chrome" ] } } }

Technische Umsetzung

Der MCP Browser Agent basiert auf dem Model Context Protocol und ermöglicht Claude die Interaktion mit einem Headful-Browser über Playwright. Die Implementierung besteht aus vier Hauptkomponenten:

  1. Server (index.ts)
    • Initialisiert den MCP-Server mit dem Standardprotokoll Model Context Protocol
    • Konfiguriert Serverfunktionen für Tools und Ressourcen
    • Stellt die Kommunikation mit Claude über den stdio-Transport her
  2. Tools-Registrierung (tools.ts)
    • Definiert Browser- und API-Tool-Schemas
    • Gibt Parameter, Validierungsregeln und Beschreibungen an
    • Registriert Tools beim MCP-Server für Claudes Entdeckung
  3. Anforderungshandler (handlers.ts)
    • Verwaltet MCP-Protokollanforderungen für Tools und Ressourcen
    • Stellt Browserprotokolle und Screenshots als abfragbare Ressourcen bereit
    • Leitet Anfragen zur Tool-Ausführung an die entsprechenden Handler weiter
  4. Executor (executor.ts)
    • Verwaltet den Lebenszyklus von Browsern und API-Clients
    • Implementiert Browser-Automatisierungsfunktionen mit Playwright
    • Verarbeitet API-Anfragen mit ordnungsgemäßer Fehlerbehandlung und Antwortanalyse
    • Behält die statusbehaftete Browsersitzung zwischen Befehlen bei

Agentenfunktionen

Im Gegensatz zu grundlegenden Integrationen fungiert der MCP Browser Agent als echter KI-Agent durch:

  • Beibehalten des persistenten Browserstatus über mehrere Befehle hinweg
  • Erfassen detaillierter Konsolenprotokolle zum Debuggen
  • Speichern von Screenshots zur Referenz und Überprüfung
  • Komplexe Interaktionsabläufe managen
  • Bereitstellung detaillierter Fehlerinformationen zur Wiederherstellung
  • Unterstützung verketteter Vorgänge für komplexe Arbeitsabläufe

Verfügbare Tools

Browser-Tools

WerkzeugnameBeschreibungParameter
browser_navigateNavigieren Sie zu einer URLurl (erforderlich), timeout , waitUntil
browser_screenshotScreenshot aufnehmenname (erforderlich), selector , fullPage , mask , savePath
browser_clickKlickelementselector (erforderlich)
browser_fillFormulareingaben ausfüllenselector (erforderlich), value (erforderlich)
browser_selectDropdown-Option auswählenselector (erforderlich), value (erforderlich)
browser_hoverBewegen Sie den Mauszeiger über das Elementselector (erforderlich)
browser_evaluateJavaScript ausführenscript (erforderlich)

API-Tools

WerkzeugnameBeschreibungParameter
api_getGET-Anfrageurl (erforderlich), headers
api_postPOST-Anforderungurl (erforderlich), data (erforderlich), headers
api_putPUT-Anforderungurl (erforderlich), data (erforderlich), headers
api_patchPATCH-Anforderungurl (erforderlich), data (erforderlich), headers
api_deleteDELETE-Anforderungurl (erforderlich), headers

Ressourcenzugriff

Der MCP-Browser-Agent stellt die folgenden Ressourcen bereit:

  • browser://logs - Zugriff auf Browser-Konsolenprotokolle
  • screenshot://[name] - Zugriff auf Screenshots nach Namen

Beispielverwendung

Hier sind einige realistische Beispiele für die Verwendung des MCP-Browser-Agenten mit Claude:

Grundlegende Browsernavigation

Navigate to the Google homepage at https://www.google.com
Take a screenshot of the current page and name it "google-homepage"
Type "weather forecast" in the search box

Einfache Interaktionen

Navigate to https://www.wikipedia.org and search for "Model Context Protocol"
Go to https://the-internet.herokuapp.com/dropdown and select the option "Option 1" from the dropdown

Grundlegendes Ausfüllen von Formularen

Navigate to https://the-internet.herokuapp.com/login and fill in the username field with "tomsmith" and the password field with "SuperSecretPassword!"
Go to https://the-internet.herokuapp.com/login, fill in the username and password fields, then click the login button

Einfache JavaScript-Ausführung

Go to https://example.com and execute a JavaScript script to return the page title
Navigate to https://www.google.com and execute a JavaScript script to count the number of links on the page

Grundlegende API-Anfragen

Perform a GET request to https://jsonplaceholder.typicode.com/todos/1
Make a POST request to https://jsonplaceholder.typicode.com/posts with appropriate JSON data

Diese Beispiele stellen die tatsächlichen Fähigkeiten des MCP-Browser-Agenten dar und geben ein realistischeres Bild davon, was er in seinem aktuellen Zustand leisten kann.

Fehlerbehebung

Fehler „Server getrennt“

Wenn in Claude Desktop der Fehler „MCP Browser Agent: Server getrennt“ angezeigt wird:

  1. Überprüfen Sie, ob der Server läuft :
    • Öffnen Sie ein Terminal und führen Sie node dist/index.js manuell aus dem Projektverzeichnis aus
    • Wenn der Server erfolgreich startet, verwenden Sie Claude, während Sie dieses Terminal geöffnet halten
  2. Überprüfen Sie Ihre Konfiguration :
    • Stellen Sie sicher, dass der absolute Pfad in claude_desktop_config.json für Ihr System korrekt ist
    • Überprüfen Sie noch einmal, ob Sie doppelte Backslashes ( \\ ) für Windows-Pfade verwendet haben
    • Stellen Sie sicher, dass Sie den vollständigen Pfad vom Stammverzeichnis Ihres Dateisystems verwenden.

Browser wird nicht angezeigt

Wenn der Browser nicht startet oder Sie ihn nicht sehen:

  1. Überprüfen Sie, ob der angegebene Browser installiert ist
    • Stellen Sie sicher, dass der Browser (Chrome, Firefox, Edge oder Safari/WebKit) auf Ihrem System installiert ist
    • Die Browsertreiber werden automatisch von Playwright verwaltet
  2. Starten Sie den Server und Claude Desktop neu
    • Beenden Sie alle vorhandenen Knotenprozesse, die möglicherweise den Server ausführen.
    • Starten Sie Claude Desktop neu, um eine neue Verbindung herzustellen

Browserprozess wird nicht ordnungsgemäß geschlossen

Es gibt bekannte Probleme mit den Browsern Chromium und Chrome, bei denen der Prozess nach der Verwendung manchmal nicht ordnungsgemäß beendet wird. Wenn dieses Problem auftritt:

  1. Schließen Sie den Browserprozess manuell :
    • Windows : Drücken Sie Strg+Umschalt+Esc, um den Task-Manager zu öffnen, suchen Sie den Chrome/Chromium-Prozess und beenden Sie ihn
    • macOS : Öffnen Sie den Aktivitätsmonitor (Programme > Dienstprogramme > Aktivitätsmonitor), suchen Sie den Chrome/Chromium-Prozess und klicken Sie auf das X, um ihn zu beenden
    • Linux : Führen Sie ps aux | grep chrome oder ps aux | grep chromium aus, um den Prozess zu finden, und beenden Sie ihn anschließend kill <PID> .
  2. Hinweis zur Browserkompatibilität :
    • Dieses Problem wurde vor allem bei Chromium und Chrome beobachtet.
    • Bei den integrierten Browsern von Firefox und Playwright tritt dieses Problem normalerweise nicht auf.

[!VORSICHT] Diese MCP-Integration basiert auf Playwright. Dieses System weist bekannte Probleme und Fehler auf, die den Betrieb beeinträchtigen können. Bitte melden Sie alle Probleme, die bei der Browserautomatisierung auftreten, an Playwrights GitHub-Probleme . Das Playwright-Team arbeitet kontinuierlich an der Behebung dieser Probleme. Dieser Agent bietet trotz dieser Einschränkungen die Grundlage für die Browserautomatisierung mit Claude Desktop.

Entwicklung

Projektstruktur

  • src/index.ts : Haupteinstiegspunkt und Initialisierung des MCP-Servers
  • src/tools.ts : Toolschemata und Registrierung
  • src/handlers.ts : MCP-Anforderungshandler für Tools und Ressourcen
  • src/executor.ts : Tool-Implementierungslogik mit Playwright

Gebäude

npm run build

Auf Änderungen achten

npm run watch

Testen

Das Projekt umfasst Tests zur Überprüfung der Kernfunktionalität und der Browserhandhabung.

npm test # Run tests npm run test:watch # Watch mode npm run test:coverage # Coverage report

Die Tests überprüfen die Konfigurationsintegrität, die Browser-Automatisierungsfunktionen, die Fehlerbehandlung und die Prozessbereinigung. Der Schwerpunkt der Testsuite liegt insbesondere auf der Sicherstellung der ordnungsgemäßen Verarbeitung von Browserprozessen aufgrund bekannter Probleme bei der Beendigung von Chrome/Chromium.

Sicherheitsüberlegungen

[!VORSICHT] Diese MCP-Integration bietet Claude die Möglichkeit zur autonomen Browsersteuerung. Bitte lesen Sie unsere Sicherheitsrichtlinie, um wichtige Informationen zu verbotenen Verwendungen, Sicherheitsauswirkungen und bewährten Methoden zu erhalten.

Der MCP Browser Agent ist für legitime Automatisierungsaufgaben konzipiert, könnte aber potenziell missbraucht werden. Benutzer sind dafür verantwortlich, dass die Nutzung alle geltenden Gesetze, Nutzungsbedingungen und ethischen Richtlinien einhält. Weitere Informationen finden Sie in unserer detaillierten Sicherheitsrichtlinie .

Beitragen

Beiträge zum MCP Browser Agent sind willkommen! Hier sind einige Bereiche, in denen Sie helfen können:

  • Hinzufügen neuer Browser-Automatisierungsfunktionen
  • Verbesserung der Fehlerbehandlung und -behebung
  • Verbesserung der Screenshot- und Ressourcenverwaltung
  • Erstellen nützlicher Arbeitsabläufe und Beispiele
  • Leistungsoptimierung für komplexe Vorgänge

Lizenz

Dieses Projekt ist unter der Mozilla Public License 2.0 lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A headless browser MCP server that allows AI agents to fetch web content and perform Google searches without API keys, supporting various output formats like Markdown, JSON, HTML, and text.
    Last updated -
    2
    4
    TypeScript
    MIT License
  • -
    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
    A MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.
    Last updated -
    5
    TypeScript
  • -
    security
    -
    license
    -
    quality
    Self-hosted Browser Using Agent with built-in MCP, A2A support.
    Last updated -
    1
    JavaScript
    Apache 2.0

View all related MCP servers

ID: 868tcekrlk