Skip to main content
Glama

Chrome MCP

Chrome MCP macht echte Chrome-Tabs für Clients des Model Context Protocol zugänglich, ohne Browsersitzungen in eine andere Engine zu kopieren. Die Chrome-Erweiterung steuert Tabs im vorhandenen Profil des Benutzers über chrome.debugger, während ein persistenter lokaler Daemon ein oder mehrere Chrome-Profile und MCP-Prozesse koordiniert.

Architektur

MCP client ──stdio── MCP bridge ──authenticated HTTP── persistent daemon
                                                        │
                                                        ├── WebSocket ── Chrome extension/profile A ── tabs
                                                        └── WebSocket ── Chrome extension/profile B ── tabs
  • Tabs sind Browsersitzungen. Das Schließen einer Sitzung schließt ihren Chrome-Tab.

  • Jede Erweiterungsinstallation repräsentiert ein Chrome-Profil bzw. eine Chrome-Instanz.

  • Der Daemon weist über alle verbundenen Instanzen hinweg globale numerische session_id-Werte zu.

  • Der Daemon bleibt unabhängig von Neustarts der MCP-Clients bestehen und besitzt kein Tray-Symbol.

  • Aktionen verwenden das Chrome DevTools Protocol über chrome.debugger, sodass ausgeführtes JavaScript nicht durch die Seiten-CSP blockiert wird.

  • Authentifizierungsstatus, Cookies, IndexedDB, Service Worker, Zertifikate, Erweiterungen und Browser-Fingerprint verbleiben im ursprünglichen Chrome-Profil, da keine Sitzungsmigration erforderlich ist.

Related MCP server: monkeysee

Installation

Chrome 116 oder neuer ist erforderlich.

bun install

Laden Sie die Erweiterung in jedes Chrome-Profil, das verfügbar sein soll:

  1. Öffnen Sie chrome://extensions.

  2. Aktivieren Sie den Entwicklermodus.

  3. Wählen Sie Entpackte Erweiterung laden.

  4. Wählen Sie das extension-Verzeichnis dieses Repositorys.

  5. Öffnen Sie das Popup der Erweiterung, geben Sie der Instanz einen erkennbaren Namen und wählen Sie bei Bedarf Als Standard verwenden.

Chrome muss ws://127.0.0.1:55333 erreichen können. Der Daemon akzeptiert nur WebSockets von Erweiterungen mit chrome-extension://-Origin und bindet ausschließlich an localhost.

MCP-Client-Konfiguration

{
  "mcpServers": {
    "chrome": {
      "command": "bunx",
      "args": ["-y", "@cypherpotato/chrome-mcp", "--mcp"]
    }
  }
}

Richten Sie die MCP-Konfiguration bei einem lokalen Checkout nach bun link direkt auf die verlinkte ausführbare Datei aus, anstatt bunx zu verwenden:

{
  "command": "C:\\Users\\<user>\\.bun\\bin\\chrome-mcp-electron",
  "args": ["--mcp"]
}

CLI

chrome-mcp-electron --mcp
chrome-mcp-electron --daemon
chrome-mcp-electron --status
chrome-mcp-electron --stop-daemon
chrome-mcp-electron --help

--mcp startet den Daemon bei Bedarf im Hintergrund und stellt MCP anschließend über stdio bereit. Das Schließen des MCP-Prozesses stoppt den Daemon nicht und trennt die Chrome-Erweiterungen nicht.

Tools

Die öffentlichen Tool-Namen und Eingabeschemata entsprechen denen von Browser MCP:

  • browser_toggle_session

  • browser_import_session

  • browser_run_actions

  • browser_get_context

browser_toggle_session({ "action": "start" }) öffnet einen Tab in der Standard-Chrome-Instanz. Wenn mehrere Instanzen verbunden sind, wählen Sie die Standardinstanz im Popup der Erweiterung. Vorhandene Tabs, die von den Erweiterungen gemeldet werden, erhalten ebenfalls session_id-Werte und können direkt gesteuert werden.

browser_get_context listet alle verbundenen Instanzen und deren Tabs auf. URLs werden ohne Query-Strings zurückgegeben.

Mehrere Chrome-Instanzen und -Profile

Installieren Sie die entpackte Erweiterung in jedem Profil. Jede Installation erzeugt eine stabile zufällige Instanz-ID, die in diesem Profil gespeichert wird, und verbindet sich automatisch erneut mit dem Daemon. Instanznamen müssen nicht eindeutig sein, aber unterschiedliche Namen werden empfohlen.

Der Daemon gleicht Tabs nach Neustarts von Erweiterungen oder Service Workern ab. Eine Sitzung bleibt adressierbar, solange die zugehörige Erweiterung verbunden ist und der Tab noch existiert.

Funktionen

browser_run_actions unterstützt dieselbe Browser-Helper-Oberfläche wie Browser MCP:

  • Snapshots und JavaScript-Auswertung;

  • Klicken, Rechtsklick, Hover, Ziehen, Scrollen und Tippen;

  • Navigation;

  • Screenshots;

  • Konsolen- und Netzwerk-Logs;

  • Details zu Netzwerkanfragen und Antworttexte (Response Bodies), solange Chrome sie noch vorhält;

  • responsive Viewport-Emulation und Color-Scheme-Emulation;

  • Behandlung von JavaScript-Dialogen (alert, confirm und prompt).

Einschränkungen

  • Chrome erlaubt nur eine Debugger-Anbindung pro Tab. Schließen Sie DevTools, bevor Sie diesen Tab steuern. Das Öffnen von DevTools kann die Erweiterung abkoppeln.

  • Chrome-interne Seiten, Erweiterungsseiten, der Chrome Web Store und andere eingeschränkte Schemata können nicht gesteuert oder als Agent-Sitzungen bereitgestellt werden.

  • Die Erweiterung muss in jedem Profil installiert sein; ein Profil kann die Tabs eines anderen Profils nicht einsehen.

  • Die Debugger-Berechtigung zeigt eine Chrome-Warnung an, solange ein Tab angebunden ist.

  • Antworttexte (Response Bodies) können aus dem Netzwerkpuffer von Chrome ablaufen.

  • Native Touch-Eingaben und browserinterne Download-CDP-APIs werden nicht über chrome.debugger bereitgestellt.

Entwicklung

bun run check
bun run test

Die Testsuite verwendet Mock-WebSocket-Clients, die Erweiterungen simulieren, um den Lebenszyklus des persistenten Daemons, die Authentifizierung, den Abgleich von Tabs/Sitzungen, mehrere Instanzen, die Auswahl der Standardinstanz, das Action-Routing und das Wiederverbindungsverhalten zu validieren, ohne Chrome zu öffnen.

Das interne Protokoll ist in docs/protocol.md dokumentiert.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables local control of existing Chrome/Chromium browser tabs through MCP, including tab management, navigation, content reading, screenshots, and page interaction.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to directly operate your existing logged-in Chrome profiles, including cookies and extensions, without re-authentication or a headless browser. It provides tools for managing tabs, navigating, reading pages, clicking, typing, and launching profiles.
    7 npm
    MIT