Skip to main content
Glama

browser-tools-mcp

Persistente, sichtbare Chromium-Browsersteuerung für OpenCode/Claude Code, im Stil des Browser-Tools von Claude Code. Gebaut am 2026-08-05, weil OpenCode kein natives Browser-Tool hatte und custom-scraper (reines HTTP) keine JS-lastigen oder login-geschützten Seiten lesen kann.

Architektur

Der MCP-Serverprozess ist der Singleton-Browser-Manager. Da OpenCode den Stdio-Server für die gesamte CLI-Sitzung am Leben hält, überlebt der Browser über Agentenwechsel hinweg. Wenn der Browser abstürzt oder das Fenster geschlossen wird, startet der nächste Tool-Aufruf ihn transparent neu (server/browser.js).

Startkonfiguration: headless: false, slowMo: 100, Viewport 1280x800, Desktop-Chrome-UA, --disable-blink-features=AutomationControlled.

Related MCP server: Controlium

Dateien

  • server/server.js — MCP-Einstiegspunkt, registriert die fünf Tools + Schemas.

  • server/browser.js — Singleton-Browser/Kontext/Seiten-Manager + Neustartlogik.

  • server/tools.js — die Operationen (interaktiver Baum, Targeting, Hervorhebung, Screenshots).

  • server/_self_verify.js — eigenständiges Szenario-Test: npm run verify.

  • shots/ — Screenshots von browser_inspect.

  • USAGE.md — agentenorientierte Regeln (in OpenCode instructions eingebunden).

Tools

Tool

Zweck

browser_navigate(url)

Lädt eine URL; gibt finale URL + Titel zurück.

browser_inspect()

Screenshot + interaktiver Elementbaum mit numerischen Zielen.

browser_click(target)

Klicken per Inspektionsnummer, CSS-Selektor oder sichtbarem Text.

browser_fill(target, value)

Eingabe in ein Feld per Nummer/Selektor/Text.

browser_request_human(message)

Pausiert den Ablauf und zeigt dem Menschen eine Frage an.

Das Element-Targeting entspricht der Claude-Code-Konvention: browser_inspect weist jedem interaktiven Element ein numerisches target zu, das im DOM als data-bt-target markiert wird, sodass spätere Aktionen dasselbe Element auflösen (sichtbar gefilterte Indizes würden gegenüber ungefiltertem .nth() auf Seiten mit versteckten Eingaben abweichen). Elemente werden vor dem Klicken kurz hervorgehoben, damit der Benutzer die Aktion sieht.

Verifizierung

npm run verify        # navigate -> inspect -> click -> fill -> crash-recovery

Verifiziert am 2026-08-05: example.com navigieren/inspizieren/klicken, Google-Ausfüllen per Ziel und Neustart-nach-Kill bestehen alle; alle fünf Tools wurden registriert und antworteten über das echte MCP-Stdio-Protokoll.

Betriebshinweise

  • Sichtbar bedeutet ein Desktop. Das Chromium-Fenster benötigt eine interaktive Sitzung zum Starten; auf einer headless/getrennten Maschine schlägt der Start fehl — melde das, anstatt es vorzutäuschen.

  • Isolierter Browser. Dies ist NICHT Luigis angemeldeter Chrome (das ist chrome-bridge). Keine angemeldeten Sitzungen, keine Erweiterungen, voller Schreibzugriff.

  • Menschengesteuert. Keine Logins/Bestellungen/Sendungen ohne ausdrückliche Anweisung; browser_request_human bedeutet STOPP, bis der Mensch antwortet.

  • Registriert in ~/.config/opencode/opencode.jsonc als MCP-Server browser-tools; Nutzungsregeln über USAGE.md in instructions eingebunden.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Chrome extension + MCP bridge that gives Claude control over your real browser via CDP, enabling navigation, clicking, typing, scrolling, screenshots, and JS execution with a visible cursor and tab-bring-to-front.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.
    25
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a headless Chromium browser through MCP, enabling AI agents to browse JavaScript-rendered pages, search the web, capture screenshots, extract tables and data, and run stateful multi-step interactions like clicking, typing, and form submission.
    1,619,036 npm
    1
    MIT