Browser-verwenden Sie MCP-Server und CLI
Projekthinweis : Diese MCP-Serverimplementierung basiert auf der Browser-/Web-UI- Grundlage. Die grundlegende Browser-Automatisierungslogik und die Konfigurationsmuster wurden aus dem ursprünglichen Projekt übernommen.
KI-gesteuerter Browser-Automatisierungsserver, der das Model Context Protocol (MCP) für die Browsersteuerung in natürlicher Sprache und Web-Recherche implementiert. Bietet außerdem CLI-Zugriff auf seine Kernfunktionen.
Merkmale
- 🧠 MCP-Integration – Vollständige Protokollimplementierung für die KI-Agentenkommunikation.
- 🌐 Browser-Automatisierung – Seitennavigation, Ausfüllen von Formularen, Elementinteraktion über natürliche Sprache (Tool „
run_browser_agent
“). - 👁️ Visuelles Verständnis – Optionale Screenshot-Analyse für sehfähige LLMs.
- 🔄 Statuspersistenz – Option zum Verwalten einer Server-Browsersitzung über mehrere MCP-Aufrufe hinweg oder zum Herstellen einer Verbindung mit dem Browser des Benutzers.
- 🔌 Multi-LLM-Unterstützung – Integriert mit OpenAI, Anthropic, Azure, DeepSeek, Google, Mistral, Ollama, OpenRouter, Alibaba, Moonshot, Unbound AI.
- 🔍 Deep Research Tool – Spezielles Tool für mehrstufige Webrecherche und Berichterstellung (
run_deep_research
-Tool). - ⚙️ Konfiguration von Umgebungsvariablen – Vollständig konfigurierbar über Umgebungsvariablen mithilfe eines strukturierten Pydantic-Modells.
- 🔗 CDP-Verbindung – Möglichkeit, über das Chrome DevTools-Protokoll eine Verbindung zu einer vom Benutzer gestarteten Chrome/Chromium-Instanz herzustellen und diese zu steuern.
- ⌨️ CLI-Schnittstelle – Greifen Sie zum Testen und für die Skripterstellung direkt von der Befehlszeile auf die Kernfunktionen des Agenten (
run_browser_agent
,run_deep_research
) zu.
Schnellstart
Das Wesentliche
- Installieren Sie UV – das raketengetriebene Python-Installationsprogramm:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Holen Sie sich Playwright-Browser (erforderlich für die Automatisierung):
uvx --from mcp-server-browser-use@latest python -m playwright install
Integrationsmuster
Fügen Sie für MCP-Clients wie Claude Desktop eine Serverkonfiguration hinzu, die so einfach ist wie:
Wichtigste Erkenntnis: Die besten Konfigurationen ergeben sich, wenn man einfach anfängt (Beispiel 1). Die Datei .env.example enthält alle möglichen Dials.
MCP-Tools
Dieser Server stellt die folgenden Tools über das Model Context Protocol bereit:
Synchrone Tools (Warten auf Abschluss)
run_browser_agent
- Beschreibung: Führt eine Browser-Automatisierungsaufgabe basierend auf natürlichen Sprachanweisungen aus und wartet auf deren Abschluss. Verwendet Einstellungen der Umgebungsvariablen
MCP_AGENT_TOOL_*
,MCP_LLM_*
undMCP_BROWSER_*
. - Argumente:
task
(Zeichenfolge, erforderlich): Die primäre Aufgabe oder das primäre Ziel.
- Rückgabe: (Zeichenfolge) Das vom Agenten extrahierte Endergebnis oder eine Fehlermeldung. Agentenverlauf (JSON, optional GIF) wird gespeichert, wenn
MCP_AGENT_TOOL_HISTORY_PATH
festgelegt ist.
- Beschreibung: Führt eine Browser-Automatisierungsaufgabe basierend auf natürlichen Sprachanweisungen aus und wartet auf deren Abschluss. Verwendet Einstellungen der Umgebungsvariablen
run_deep_research
- Beschreibung: Führt eine eingehende Webrecherche zu einem Thema durch, erstellt einen Bericht und wartet auf dessen Abschluss. Verwendet die Einstellungen der Umgebungsvariablen
MCP_RESEARCH_TOOL_*
,MCP_LLM_*
undMCP_BROWSER_*
. WennMCP_RESEARCH_TOOL_SAVE_DIR
gesetzt ist, werden die Ergebnisse in einem Unterverzeichnis gespeichert; andernfalls arbeitet der Server im Nur-Speicher-Modus. - Argumente:
research_task
(Zeichenfolge, erforderlich): Das Thema oder die Frage für die Recherche.max_parallel_browsers
(Ganzzahl, optional): ÜberschreibtMCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS
aus der Umgebung.
- Gibt zurück: (Zeichenfolge) Der generierte Forschungsbericht im Markdown-Format, einschließlich des Dateipfads (falls gespeichert) oder einer Fehlermeldung.
- Beschreibung: Führt eine eingehende Webrecherche zu einem Thema durch, erstellt einen Bericht und wartet auf dessen Abschluss. Verwendet die Einstellungen der Umgebungsvariablen
CLI-Nutzung
Dieses Paket bietet auch eine Befehlszeilenschnittstelle mcp-browser-cli
für direkte Tests und Skripting.
Globale Optionen:
--env-file PATH, -e PATH
: Pfad zu einer.env
Datei, aus der Konfigurationen geladen werden sollen.--log-level LEVEL, -l LEVEL
: Überschreibt die Protokollierungsebene (z. B.DEBUG
,INFO
).
Befehle:
mcp-browser-cli run-browser-agent [OPTIONS] TASK
- Beschreibung: Führt eine Browser-Agent-Aufgabe aus.
- Argumente:
TASK
(Zeichenfolge, erforderlich): Die primäre Aufgabe für den Agenten.
- Beispiel:
mcp-browser-cli run-deep-research [OPTIONS] RESEARCH_TASK
- Beschreibung: Führt Deep-Web-Recherchen durch.
- Argumente:
RESEARCH_TASK
(Zeichenfolge, erforderlich): Das Thema oder die Frage für die Recherche.
- Optionen:
--max-parallel-browsers INTEGER, -p INTEGER
: ÜberschreibtMCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS
.
- Beispiel:
Alle anderen Konfigurationen (LLM-Schlüssel, Pfade, Browsereinstellungen) werden aus Umgebungsvariablen (oder der angegebenen .env
Datei) übernommen, wie im Abschnitt „Konfiguration“ beschrieben.
Konfiguration (Umgebungsvariablen)
Konfigurieren Sie Server und CLI mithilfe von Umgebungsvariablen. Sie können diese in Ihrem System festlegen oder in einer .env
Datei im Projektstamm speichern (verwenden Sie --env-file
für die CLI). Variablen werden mit Präfixen strukturiert.
Variable Gruppe (Präfix) | Beispielvariable | Beschreibung | Standardwert |
---|---|---|---|
Haupt-LLM (MCP_LLM_) | Einstellungen für das von Agenten verwendete primäre LLM. | ||
MCP_LLM_PROVIDER | LLM-Anbieter. Optionen: openai , azure_openai , anthropic , google , mistral , ollama usw. | openai | |
MCP_LLM_MODEL_NAME | Spezifischer Modellname für den Anbieter. | gpt-4.1 | |
MCP_LLM_TEMPERATURE | LLM-Temperatur (0,0–2,0). | 0.0 | |
MCP_LLM_BASE_URL | Optional: Allgemeine Überschreibung für die Basis-URL des LLM-Anbieters. | Anbieterspezifisch | |
MCP_LLM_API_KEY | Optional: Generischer LLM-API-Schlüssel (hat Vorrang). | - | |
MCP_LLM_OPENAI_API_KEY | API-Schlüssel für OpenAI (wenn der Anbieter openai ist). | - | |
MCP_LLM_ANTHROPIC_API_KEY | API-Schlüssel für Anthropic. | - | |
MCP_LLM_GOOGLE_API_KEY | API-Schlüssel für Google AI (Gemini). | - | |
MCP_LLM_AZURE_OPENAI_API_KEY | API-Schlüssel für Azure OpenAI. | - | |
MCP_LLM_AZURE_OPENAI_ENDPOINT | Erforderlich bei Verwendung von Azure. Ihr Azure-Ressourcenendpunkt. | - | |
MCP_LLM_OLLAMA_ENDPOINT | URL des Ollama-API-Endpunkts. | http://localhost:11434 | |
MCP_LLM_OLLAMA_NUM_CTX | Kontextfenstergröße für Ollama-Modelle. | 32000 | |
Planer LLM (MCP_LLM_PLANNER_) | Optional: Einstellungen für ein separates LLM zur Agentenplanung. Wird standardmäßig das Haupt-LLM verwendet, wenn nicht festgelegt. | ||
MCP_LLM_PLANNER_PROVIDER | Anbieter von Planner LLM. | Haupt-LLM-Anbieter | |
MCP_LLM_PLANNER_MODEL_NAME | Name des Planner-LLM-Modells. | Haupt-LLM-Modell | |
Browser (MCP_BROWSER_) | Allgemeine Browsereinstellungen. | ||
MCP_BROWSER_HEADLESS | Browser ohne Benutzeroberfläche ausführen (allgemeine Einstellung). | false | |
MCP_BROWSER_DISABLE_SECURITY | Deaktivieren Sie die Sicherheitsfunktionen des Browsers (allgemeine Einstellung, vorsichtig verwenden). | false | |
MCP_BROWSER_BINARY_PATH | Pfad zur ausführbaren Datei von Chrome/Chromium. | - | |
MCP_BROWSER_USER_DATA_DIR | Pfad zum Chrome-Benutzerdatenverzeichnis. | - | |
MCP_BROWSER_WINDOW_WIDTH | Breite des Browserfensters (Pixel). | 1280 | |
MCP_BROWSER_WINDOW_HEIGHT | Höhe des Browserfensters (Pixel). | 1080 | |
MCP_BROWSER_USE_OWN_BROWSER | Stellen Sie über die CDP-URL eine Verbindung zum Browser des Benutzers her. | false | |
MCP_BROWSER_CDP_URL | CDP-URL (z. http://localhost:9222 ). Erforderlich, wenn MCP_BROWSER_USE_OWN_BROWSER=true . | - | |
MCP_BROWSER_KEEP_OPEN | Halten Sie den serververwalteten Browser zwischen MCP-Aufrufen geöffnet (wenn MCP_BROWSER_USE_OWN_BROWSER=false ). | false | |
MCP_BROWSER_TRACE_PATH | Optional: Verzeichnis zum Speichern der Playwright-Trace-Dateien. Wenn nicht angegeben, ist die Trace-Funktion in einer Datei deaktiviert. | (leer, Ablaufverfolgung deaktiviert) | |
Agententool (MCP_AGENT_TOOL_) | Einstellungen für das Tool run_browser_agent . | ||
MCP_AGENT_TOOL_MAX_STEPS | Maximale Schritte pro Agentenlauf. | 100 | |
MCP_AGENT_TOOL_MAX_ACTIONS_PER_STEP | Maximale Aktionen pro Agentenschritt. | 5 | |
MCP_AGENT_TOOL_TOOL_CALLING_METHOD | Methode zum Toolaufruf ('auto', 'json_schema', 'function_calling'). | auto | |
MCP_AGENT_TOOL_MAX_INPUT_TOKENS | Maximale Eingabetoken für LLM-Kontext. | 128000 | |
MCP_AGENT_TOOL_USE_VISION | Aktivieren Sie die Sichtfunktionen (Screenshot-Analyse). | true | |
MCP_AGENT_TOOL_HEADLESS | Überschreiben Sie MCP_BROWSER_HEADLESS für dieses Tool (true/false/leer). | (verwendet allgemein) | |
MCP_AGENT_TOOL_DISABLE_SECURITY | Überschreiben Sie MCP_BROWSER_DISABLE_SECURITY für dieses Tool (true/false/leer). | (verwendet allgemein) | |
MCP_AGENT_TOOL_ENABLE_RECORDING | Aktivieren Sie die Playwright-Videoaufzeichnung. | false | |
MCP_AGENT_TOOL_SAVE_RECORDING_PATH | Optional: Pfad zum Speichern von Aufzeichnungen. Wenn nicht angegeben, ist die Aufzeichnung in einer Datei deaktiviert, auch wenn ENABLE_RECORDING=true . | (leer, Aufnahme deaktiviert) | |
MCP_AGENT_TOOL_HISTORY_PATH | Optional: Verzeichnis zum Speichern der JSON-Dateien des Agentenverlaufs. Wenn nicht angegeben, ist die Speicherung des Verlaufs deaktiviert. | (leer, Speichern des Verlaufs deaktiviert) | |
Forschungstool (MCP_RESEARCH_TOOL_) | Einstellungen für das Tool run_deep_research . | ||
MCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS | Maximale Anzahl paralleler Browserinstanzen für umfassende Recherche. | 3 | |
MCP_RESEARCH_TOOL_SAVE_DIR | Optional: Basisverzeichnis zum Speichern von Forschungsartefakten. Die Aufgaben-ID wird angehängt. Falls nicht angegeben, wird im Nur-Speicher-Modus gearbeitet. | None | |
Pfade (MCP_PATHS_) | Allgemeine Pfadeinstellungen. | ||
MCP_PATHS_DOWNLOADS | Optional: Verzeichnis für heruntergeladene Dateien. Wenn nicht angegeben, werden dauerhafte Downloads in einen bestimmten Pfad deaktiviert. | (leer, Downloads deaktiviert) | |
Server (MCP_SERVER_) | Serverspezifische Einstellungen. | ||
MCP_SERVER_LOG_FILE | Pfad für die Serverprotokolldatei. Leer für stdout. | (leer, Protokolle in stdout) | |
MCP_SERVER_LOGGING_LEVEL | Protokollierungsebene ( DEBUG , INFO , WARNING , ERROR , CRITICAL ). | ERROR | |
MCP_SERVER_ANONYMIZED_TELEMETRY | Anonymisierte Telemetrie aktivieren/deaktivieren ( true / false ). | true | |
MCP_SERVER_MCP_CONFIG | Optional: JSON-Zeichenfolge für die vom internen Controller verwendete MCP-Clientkonfiguration. | null |
Unterstützte LLM-Anbieter ( MCP_LLM_PROVIDER
): openai
, azure_openai
, anthropic
, google
, mistral
, ollama
, deepseek
, openrouter
, alibaba
, moonshot
, unbound
(Eine umfassende Liste aller unterstützten Umgebungsvariablen und ihrer spezifischen Anbieterschlüssel/Endpunkte finden Sie unter .env.example
.)
Verbindung zu Ihrem eigenen Browser herstellen (CDP)
Anstatt den Server seine eigene Browserinstanz starten und verwalten zu lassen, können Sie ihn mit einem Chrome/Chromium-Browser verbinden, den Sie selbst starten und verwalten.
Schritte:
- Starten Sie Chrome/Chromium mit aktiviertem Remote-Debugging: (Befehle für macOS, Linux, Windows wie zuvor aufgeführt, z. B.
google-chrome --remote-debugging-port=9222
) - Umgebungsvariablen konfigurieren: Legen Sie die folgenden Umgebungsvariablen fest:
- Führen Sie den MCP-Server oder die CLI aus: Starten Sie den Server (
uv run mcp-server-browser-use
) oder die CLI (mcp-browser-cli ...
) wie gewohnt.
Wichtige Hinweise:
- Der mit
--remote-debugging-port
gestartete Browser muss geöffnet bleiben. - Einstellungen wie
MCP_BROWSER_HEADLESS
undMCP_BROWSER_KEEP_OPEN
werden ignoriert, wennMCP_BROWSER_USE_OWN_BROWSER=true
.
Entwicklung
Fehlerbehebung
- Konfigurationsfehler beim Start : Wenn der Start der Anwendung fehlschlägt und eine Fehlermeldung über eine fehlende Einstellung angezeigt wird, stellen Sie sicher, dass alle obligatorischen Umgebungsvariablen (wie
MCP_RESEARCH_TOOL_SAVE_DIR
) in Ihrer Umgebung oder.env
Datei richtig eingestellt sind. - Browserkonflikte : Wenn Sie CDP nicht verwenden (
MCP_BROWSER_USE_OWN_BROWSER=false
), stellen Sie sicher, dass keine in Konflikt stehenden Chrome-Instanzen mit demselben Benutzerdatenverzeichnis ausgeführt werden, wennMCP_BROWSER_USER_DATA_DIR
angegeben ist. - CDP-Verbindungsprobleme : Bei Verwendung von
MCP_BROWSER_USE_OWN_BROWSER=true
:- Überprüfen Sie, ob Chrome mit
--remote-debugging-port
gestartet wurde. - Stellen Sie sicher, dass der Port in
MCP_BROWSER_CDP_URL
übereinstimmt. - Überprüfen Sie Firewalls und stellen Sie sicher, dass der Browser ausgeführt wird.
- Überprüfen Sie, ob Chrome mit
- API-Fehler : Überprüfen Sie die API-Schlüssel (
MCP_LLM_<PROVIDER>_API_KEY
oderMCP_LLM_API_KEY
) und Endpunkte (z. B.MCP_LLM_AZURE_OPENAI_ENDPOINT
für Azure). - Sehprobleme : Stellen Sie sicher,
MCP_AGENT_TOOL_USE_VISION=true
und Ihr LLM die Sehfunktion unterstützt. - Abhängigkeitsprobleme : Führen Sie
uv sync
unduv run playwright install
aus. - Datei-/Pfadprobleme :
- Wenn optionale Funktionen wie das Speichern des Verlaufs, die Ablaufverfolgung oder Downloads nicht funktionieren, stellen Sie sicher, dass die entsprechenden Pfadvariablen (
MCP_AGENT_TOOL_HISTORY_PATH
,MCP_BROWSER_TRACE_PATH
,MCP_PATHS_DOWNLOADS
) festgelegt sind und die Anwendung über Schreibberechtigungen für diese Speicherorte verfügt. - Stellen Sie für eine gründliche Recherche sicher, dass
MCP_RESEARCH_TOOL_SAVE_DIR
auf ein gültiges, beschreibbares Verzeichnis eingestellt ist.
- Wenn optionale Funktionen wie das Speichern des Verlaufs, die Ablaufverfolgung oder Downloads nicht funktionieren, stellen Sie sicher, dass die entsprechenden Pfadvariablen (
- Protokollierung : Überprüfen Sie die Protokolldatei (
MCP_SERVER_LOG_FILE
, falls aktiviert) oder die Konsolenausgabe. Erhöhen SieMCP_SERVER_LOGGING_LEVEL
aufDEBUG
, um weitere Details zu erhalten. Verwenden Sie für die Befehlszeilenschnittstelle--log-level DEBUG
.
Lizenz
MIT – Einzelheiten finden Sie in der LIZENZ .
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Erleichtert die Browserautomatisierung mit benutzerdefinierten Funktionen und agentenbasierten Interaktionen, die über die Browsernutzungsbibliothek integriert sind.
- Merkmale
- Schnellstart
- MCP-Tools
- CLI-Nutzung
- Konfiguration (Umgebungsvariablen)
- Verbindung zu Ihrem eigenen Browser herstellen (CDP)
- Entwicklung
- Fehlerbehebung
- Lizenz
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityEnables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.Last updated -141Python
- AsecurityFlicenseAqualityEnables browser automation using Python scripts, offering operations like taking webpage screenshots, retrieving HTML content, and executing JavaScript.Last updated -418Python
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- -securityAlicense-qualityA browser automation agent that enables Claude to interact with web browsers through the Model Context Protocol, allowing for actions like navigating websites, manipulating elements, and managing browser state.Last updated -2PythonMIT License