Skip to main content
Glama
nvk
by nvk

LLM Wiki for Chrome

Öffentliches, inhaltsfreies Ausführungssubstrat für gezielte llm-wiki-Adapter. Es bietet eine Chrome-Erweiterung, einen auf einer Whitelist stehenden Native Messaging Host, ein privates Unix-Socket-Relay und einen versionierten Typ-Job-Vertrag.

Der Quellcode der Erweiterung und des lokalen Connectors ist öffentlich. Browser-Gewährungen, Seitendaten, Anmeldeinformationen, private Ergebnis-Slots und Laufzeit-Sockets bleiben lokal und sind niemals Repository-Inhalt. Die öffentliche Verfügbarkeit des Quellcodes ist keine Chrome Web Store-Veröffentlichung oder Berechtigung zur Veröffentlichung von Benutzerdaten.

Dies ist kein autonomer Natural-Language-Browser-Agent. Es stellt eine kleine strukturierte Agent-Tool-Oberfläche bereit – freigegebene Tabs, Accessibility-Snapshot, Viewport-Screenshot, semantischer Klick, private Texteingabe, Tastenkombination und Scrollen – und kompiliert jeden Aufruf in dasselbe exakt-zielgerichtete, typisierte Protokoll. Es akzeptiert kein beliebiges JavaScript, keine rohen CDP-Methoden, keinen heruntergeladenen Code, keinen allgemeinen Browserzugriff und keine von Seiten erstellten Aktionen. Anbieterspezifische Adapter behalten weiterhin stärkere Weiterleitung, Authentifizierung, Journale, Wiederherstellung, Idempotenz und abschließende Rücklese-Überprüfung für folgenreiche Workflows.

LLM Wiki for Chrome verbunden mit einem explizit freigegebenen Tab

Installations-, Zusammenarbeits-, Sicherheits- und Fehlerbehebungsanleitung →

Klicken-zum-Zusammenarbeiten-Ablauf

Die Erweiterung benötigt keinen dauerhaften Seitenzugriff oder eine Chrome-Host-Registrierung pro Seite. Der Benutzer öffnet eine HTTPS-Seite und klickt auf die Erweiterungsaktion. Ihr Chrome-seitiger Name ist LLM Wiki for Chrome; die Browser-Executor-Terminologie wird nur für das interne Protokoll und die Implementierung verwendet. Diese Chrome-Benutzergeste erstellt eine neue, flüchtige Zusammenarbeitsgewährung, die an den genauen Tab, die URL und die Herkunft gebunden ist. Das Klicken auf weitere Tabs erstellt einen expliziten Arbeitsbereich von bis zu 16 Gewährungen; der Executor zählt niemals nicht zusammenhängende Tabs auf. Eine Navigation gleicher Herkunft rotiert die genaue Gewährungs-ID und URL, sodass veraltete Programme geschlossen fehlschlagen. Eine Gewährung wird widerrufen, wenn der Tab seine Herkunft verlässt, geschlossen wird oder der Benutzer diesen Tab oder den gesamten Arbeitsbereich im Seitenfeld beendet.

Eine aktive Gewährung ist auf der Seite sichtbar als grüne Umrandung und LLM WIKI • CONTROLLED-Pille sowie ein ON-Aktionsabzeichen. Die Markierung ist paketiert, nicht interaktiv, inhaltsblind und wird erst nach dem Erweiterungsklick eingefügt; sie wird entfernt, wenn die Gewährung widerrufen wird, und erhält niemals Seiten- oder Jobinhalt. Der Aktionslistener empfängt die activeTab-Gewährung von Chrome und öffnet synchron das Seitenfeld für genau diesen Tab. Das Laden des Seitenfelds bestätigt die durch die Aktion erstellte Gewährung; eine weitergeleitete Seitenfeld-Nachricht versucht niemals, das Seitenfeld zu öffnen oder eine Benutzergeste zu erzeugen. Der Verbindungsbutton ist ein Status-/Wiederholungssteuerelement, kein Ersatz für die Toolbar-Geste, die die activeTab-Autorität erzeugt. Der verbundene Zustand bedeutet, dass die Gewährung über den Live-Local-Connector veröffentlicht wurde, sodass der Agent die Bereitschaft mit browser_status erkennen kann, ohne dass der Benutzer Erweiterungsinterna überprüfen muss.

Der lokale Agent und die gezielten Adapter rufen den privaten Arbeitsbereich über den nativen Socket ab. Ein direkter Agent muss zuerst die genauen angeklickten Gewährungen auflisten und bei jedem Tool-Aufruf eine Zusammenarbeits-ID nennen. Der Server kompiliert dann ein festes, typisiertes Programm und schlägt geschlossen fehl, wenn sich die Gewährung oder die Seite geändert hat. Der Klick autorisiert begrenzte Lesevorgänge und strukturierte Interaktion auf genau diesem Tab; er erteilt niemals allgemeinen Browserzugriff. Folgenreiche Anbieter-Workflows verwenden weiterhin einen gezielten Adapter für stärkere Vorbedingungen und unabhängige Überprüfung.

Adapter-Code muss dennoch einmal installiert und vertraut werden. Die Zusammenarbeitsgewährung ersetzt die Registrierung pro Ressource und die Anbieter-OAuth nur für Workflows, die die Benutzeroberfläche des Browsers inspizieren und verifizieren können. Ein gezielter Adapter kann eine Erstanbieter-API als optionalen, stärkeren Überprüfungspfad beibehalten.

Mutationsprogramme können einen anbietereigenen Revisions-Fingerprint mit assert_ax_private_sha256 binden. Der Executor berechnet die begrenzte Accessibility-Projektion auf dem genau exponierten Tab unmittelbar vor der gesteuerten Mutationsgrenze neu und schlägt bei Drift geschlossen fehl. Der erwartete Hash bleibt ein privater Wert; weder er noch der projizierte Seiteninhalt werden im Seitenfeld angezeigt.

Anbieter-Adapter verwenden den gebündelten Client direkt:

from browser_executor.client import BrowserExecutorClient

executor = BrowserExecutorClient()
collaboration = executor.collaboration_for_url(expected_url)
if collaboration is None:
    raise RuntimeError("click the extension on the target page")

# Bind collaboration_id, url, and origin into the signed typed program.
result = executor.run(program, private_values=private_values)

Codex und andere MCP-Clients verwenden die anbieterneutrale direkte Zusammenarbeitsoberfläche anstatt selbst Programme zu konstruieren:

.venv/bin/python adapter.py mcp-server

Der MCP-Server veröffentlicht ein festes, strukturiertes Tool-Inventar, das den expliziten Tab-Lebenszyklus, die genaue Navigation gleicher Herkunft, Wartezeiten, Accessibility-Snapshots, Viewport-/Region-/Ganzseiten-Screenshots, Elementgeometrie, Klick/Hover/Tippen/Auswählen/Ziehen/Taste/Scrollen, begrenzte Diagnostik, registrierte Wurzel-Dateiübertragung, Passwortmanager-UI-Aktivierung und In-Memory-Workflow-Entwurf abdeckt. Es gibt kein beliebiges Programm, keinen CSS-Selektor, kein Skript, kein Natural-Language-Ausführungswerkzeug und keine Abfrage nicht zusammenhängender Tabs. Seiteninhalt wird nur an den aufrufenden lokalen Agenten für die aktive Anfrage zurückgegeben und wird von diesem Repository nicht gespeichert oder im Seitenfeld angezeigt.

Related MCP server: browser-mcp

Entwicklungsstatus

Der aktuelle Entwicklungszweig erweitert die 0.0.1-Grundlage um die erste begrenzte Ausführungsscheibe:

  • strenge Programm-Hash- und Validierung;

  • sprachübergreifende Policy-Entscheidungstests für den Python-Client und MV3-Validator;

  • genaue HTTPS-Ziel- und begrenzte Aktionsdeklarationen;

  • durch Klick erstellte activeTab-Gewährungen ohne dauerhafte Host-Berechtigungen;

  • einen begrenzten Multi-Tab-Zusammenarbeitsarbeitsbereich mit privater genauer URL-Suche;

  • pro Chrome-Instanz native Sockets, die vom lokalen Client aggregiert werden, sodass mehrere Chrome-Profile oder -Prozesse sich nicht gegenseitig die freigegebenen Tabs überschreiben;

  • eine feste Seitenumrandung/-Pille und ein Toolbar-Abzeichen, das genau anzeigt, welche Tabs gesteuert werden;

  • eine grüne LLM Wiki-Tab-Gruppe, die nur explizite Gewährungen enthält;

  • gleicher-Ursprung-Öffnen/Navigieren/Verlauf/Neu laden, exakter Tab-Fokus/Schließen, semantische Wartezeiten, Hover, Optionsauswahl, Drag/Drop und Scrollen-zu-Element-Primitiven;

  • abgeflachte, begrenzte Accessibility-Sammlung über angehängte Child-Frame-Ziele hinweg, mit sitzungsgebundener Geometrie und Interaktionen; semantische AX-Erkennung deckt auch offene Shadow-Bäume ab, ohne beliebiges DOM-Traversal zu ermöglichen;

  • regionen- und dimensionsbegrenzte Ganzseiten-Screenshots, semantische Elementgeometrie und begrenzte Leistungsmetriken;

  • maschinenlokale Upload/Download-Wurzeln mit realpath-Prüfungen, abgeschlossener Download-Verifikation, Gefahrenzustandsdurchsetzung, Streaming-Hashes und keiner impliziten Dateisystem-Autorität;

  • manuelle, genehmigte-Plan- und automatische begrenzte Autorisierungsmodi mit geschützten Aktionen, die immer auf lokale Bestätigung und einen inhaltsfreien Sitzungsentscheidungszähler zurückfallen;

  • inhaltsfreie Abschluss-/Aufmerksamkeitsbenachrichtigungen;

  • abbrechbare In-Memory-Snapshot-Zeitpläne, deren private Ergebnisse einmal abgerufen werden und deren Autorität mit dem MCP-Prozess oder der Tab-Gewährung abläuft;

  • In-Memory-Aufzeichnung von bereits getippten Agentenaktionen in einen hash-gebundenen, überprüfungsbedürftigen, bewusst nicht wiederholbaren anbietertreibenden Entwurf;

  • Passwortmanager-UI-Aktivierung, die niemals einen Anmeldeinformationswert erhält; und

  • ein anbietertreibendes SDK, das gezielte Adapter an die genaue Gewährung, den genehmigten Plan-Hash, einen Mutations-Callback und die anbietereigene Nachbedingungsüberprüfung bindet;

  • Aktionslistener-Tab-Gewährung, Seitenfeld-Status-/Wiederholungssteuerung und inhaltsfreies Agent-Bereitschaftstool;

  • ein inhaltsfreies Seitenfeld-Arbeitsbereich, Fortschrittsanzeige, Widerruf pro Tab und Abbrechen;

  • separate Lese- und Mutationsfähigkeiten;

  • einen gesteuerten Mutations-Callback im Python-Client;

  • stabile Erweiterungsidentität und genaue Native-Host-Herkunft;

  • privater lokaler Zustand, kurze Socket-Pfade, Nachrichtengrenzen und ein aktiver Job;

  • genaue Tab-Aktivierung und überprüfte Navigation gleicher Herkunft;

  • eine direkte lokale MCP-Agent-Oberfläche, die einen Erweiterungsklick sofort für den Agenten auffindbar und steuerbar macht, ohne eine Anbieter-OAuth-Gewährung;

  • auf einer Whitelist stehende DOM- und Accessibility-Baum-Lesevorgänge, Wartezeiten und private Extraktion;

  • byte-begrenzter privater Viewport-JPEG-Capture ohne Executor-seitige Persistenz;

  • begrenztes Viewport-Scrollen, deduplizierendes Long-List-Collecting und private AX-Link-/Beschreibungsextraktion;

  • begrenzter genauer Tab-Browser-Log-Capture durch private Ergebnis-Slots;

  • begrenzter genauer Tab-Anforderungsmetadaten-Capture, der Query-Strings entfernt und Header, Bodies, Cookies, Initiatoren und Sicherheitsdetails ignoriert;

  • begrenzter genauer Tab-Konsolen-API-Capture, der nur skalare Argumente behält und niemals Remote-Objekte auswertet oder dereferenziert;

  • getippte Klick-, Fokus-, Tastenkombinations- und private Texteinfüge-Aktionen;

  • Abbrechen, Ziel-Fokus-Drifterkennung, Ergebnisgrößenbegrenzungen und bestmögliche Debugger-Bereinigung (Abbrechen stoppt an der nächsten begrenzten Aktion und kann eine bereits gestartete Mutation nicht rückgängig machen);

  • einmalige Pre-Mutation-Autorisierung vor einem Anbietereffekt; und

  • ein route-freies llm-wiki Selbsttest-Manifest; und

  • ein inhaltsfreies Erweiterungsstatus-Panel mit verbundenen, laufenden, Autorisierungs- und Fehlerzuständen.

Dieser Zweig ist keine Veröffentlichung oder kein installierter Anbieterersatz. Gezielte Adapter-Schattenläufe, anbietereigene Verifikation, Upgrade-/Rollback-Tests und explizite Freigabegenehmigung bleiben vor einer konsolidierten 0.1.0 erforderlich.

Repository-Grenze

Erlaubtes verfolgtes Material:

  • ausführbarer Code und Erweiterungs-Assets;

  • Protokollschemata und Sicherheitsdokumentation; und

  • synthetische Testdaten und deterministische Tests.

Niemals echte Ressourcen-URLs oder -Identifikatoren, Seitentext, Screenshots, Captures, Pläne, Quittungen, extrahierte Ergebnisse, Cookies, Anmeldeinformationen, Browserspeicher oder Anbieterkorpora committen. Laufzeiteingaben und -ausgaben bleiben in der separat kontrollierten Datenebene des gezielten Adapters und sollten wann immer möglich im Speicher bleiben.

Architektur

local agent through fixed MCP tools OR a targeted provider adapter
  -> select one exact user-created click grant from the private collaboration workspace
  -> deterministic typed program + exact approved plan hash
  -> BrowserExecutorClient over a private Unix socket
  -> allowlisted Native Messaging host
  -> shared MV3 extension on the exact user-exposed tab
  -> one-shot before-mutation challenge when required
  -> private result slots returned only to the targeted adapter

llm-wiki kann das route-freie self-test-Adapter-Manifest dieses Repositorys sehen, leitet jedoch niemals eine externe Bearbeitungs- oder Rechercheanfrage direkt an den Executor weiter.

Paketierung und Installation

Das installierbare Produkt ist an der Chrome-Sicherheitsgrenze aufgeteilt:

  • llm-wiki-chrome native Begleitsoftware: der Python-Client, feste MCP-Server, Native Messaging Host, Installer, Diagnostik und paketierte Erweiterungs-Assets;

  • LLM Wiki for Chrome: das öffentliche Quellcode-MV3-Erweiterungs-ZIP. Die Veröffentlichung im Chrome Web Store bleibt ein separater Veröffentlichungsschritt, der explizite Genehmigung erfordert; das Laden des entpackten Pfads bleibt der Entwicklungsworkflow.

Die nur für die Entwicklung gedachte Homebrew-Formel ist als HEAD-Build von nvk/tap verfügbar. Sie ist bewusst keine stabile Veröffentlichung:

brew install --HEAD nvk/tap/llm-wiki-chrome
llm-wiki-chrome install
llm-wiki-chrome doctor

install schreibt die genaue Herkunfts-Native-Messaging-Registrierung. Es installiert keinen Daemon: Chrome startet den Host bei Bedarf und kommuniziert über Standardeingabe/-ausgabe mit ihm. Jeder Chrome-Host erstellt einen privaten prozessspezifischen Socket unter dem deterministischen /tmp/llm-wiki-chrome-<uid>/-Laufzeitverzeichnis. Die CLI, der MCP-Server und die gezielten Adapter entdecken diese Sockets automatisch. Es gibt kein normales Socket-Argument, keinen Port, keinen Pairing-Code und keine Umgebungsvariable. Die bestehende Umgebungsüberschreibung bleibt nur für außergewöhnliche Sandbox- oder Entwicklungssetups bestehen.

Für eine entpackte Entwicklungsinstallation fragen Sie das Paket nach dem genauen Pfad:

llm-wiki-chrome extension-path

Laden Sie dieses Verzeichnis von chrome://extensions und führen Sie llm-wiki-chrome doctor aus. healthy: true bestätigt das Paket und die Native Messaging-Registrierung; connected: true erscheint, während Chrome den nativen Port der Erweiterung offen hat. Deinstallieren Sie nur die native Begleitregistrierung mit:

llm-wiki-chrome uninstall

Dateiübertragung ist standardmäßig deaktiviert. Aktivieren Sie nur explizite maschinenlokale Wurzeln in ~/.config/llm-wiki/browser-executor.json:

{
  "upload_roots": ["/absolute/private/staging/uploads"],
  "download_roots": ["/absolute/private/staging/downloads"]
}

Jeder Pfad lehnt einen abschließenden Symlink ab, löst seine übergeordnete Kette auf und muss innerhalb einer registrierten Wurzel bleiben. Upload-Werte reisen nur in privaten Slots. Downloads müssen vollständig, von Chrome als sicher akzeptiert, innerhalb einer registrierten Wurzel sein und werden vom lokalen Begleiter gehasht, bevor sie an den Aufrufer zurückgegeben werden.

Das Seitenpanel bietet Manual, Approved plan und Automatic bounded jobs. Die Voreinstellung ist Approved plan. Datei-Upload, Dialogverarbeitung und Credential-Broker-Aktivierung bleiben geschützte Aktionen und erfordern stets eine lokale manuelle Bestätigung. Der Autorisierungsverlauf ist ein inhaltsfreier Sitzungszähler und kein Seiteninhaltsprotokoll.

Die Workflow-Aufzeichnung erfasst nur getippte Operationen, die bereits über die feste MCP-Oberfläche angefordert wurden. browser_record_stop gibt einen speicherresidenten, hash-gebundenen Entwurf zurück, der eine Überprüfung erfordert. Der generische Executor führt ihn nie aus; ein gezielter Adapter muss einen versionierten Provider-Workflow überprüfen, kompilieren, autorisieren, protokollieren und unabhängig verifizieren. Die direkte Oberfläche erlaubt nur die speicherresidente Planung einer schreibgeschützten Momentaufnahme, solange die exakte Berechtigung und der MCP-Prozess aktiv sind. Dauerhafte oder wiederkehrende Planung, Mutationen, Wiederherstellung und Protokolle verbleiben im gezielten Adapter oder externen Planer, niemals in der Absichtsebene der Erweiterung.

Gezielte Adapter können die Ausführungsgrenze mit browser_executor.driver.ProviderDriverSession zentralisieren, das Plan-Hash- oder Exact-Grant-Abweichungen ablehnt und eine adaptereigene status: verified-Nachbedingung erfordert.

Erstellen Sie ein deterministisches, inhaltsfreies Chrome Web Store ZIP ohne es zu veröffentlichen:

python3 scripts/package_extension.py

Keine Veröffentlichung, kein Tag, kein Store-Upload und kein installiertes Upgrade wird durch diese Build-Befehle durchgeführt.

Entwicklung

python3 -m venv .venv
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q adapter.py browser_executor tests
node --check extension/service-worker.js
node --check extension/protocol.mjs
node --check extension/executor.mjs
node --check extension/sidepanel.js

Die deterministische Suite wird durch einen isolierten Smoke-Test mit echtem Browser ergänzt. Er erfordert ein passendes Chrome for Testing- und ChromeDriver-Paar sowie ein exaktes genehmigtes Leseziel, das zur Laufzeit bereitgestellt wird; er berührt nicht das normale Chrome-Profil und druckt, speichert oder gibt den erfassten Viewport nicht zurück:

LLM_WIKI_BROWSER_E2E_TARGET_URL='<exact approved HTTPS target>' \
  .venv/bin/python tests/chrome/run_extension_e2e.py \
    --chrome '/path/to/Google Chrome for Testing' \
    --chromedriver '/path/to/chromedriver'

Die Testumgebung kopiert die entpackte Erweiterung in ein temporäres Verzeichnis, fügt eine test-only-Erweiterungsseite hinzu, führt das signierte Leseprogramm in headless Chrome aus und gibt nur inhaltsfreie Zähler zurück. Chrome-Binärdateien werden nicht vom Repository heruntergeladen oder installiert.

Der Selbsttest ist inhaltsfrei:

.venv/bin/python adapter.py describe
.venv/bin/python adapter.py execute --request /private/request.json \
  --response /private/response.json

Installieren Sie den nativen Host des Source-Checkouts einmal und registrieren Sie seinen MCP-Befehl:

.venv/bin/python adapter.py install

codex mcp add llm-wiki-browser \
  -- .venv/bin/python adapter.py mcp-server

Ein Neustart einer Agentensitzung nach der Registrierung macht das feste Tool-Inventar verfügbar. Chrome gibt weiterhin nichts preis, bis der Benutzer die Erweiterung auf einem bestimmten HTTPS-Tab anklickt, und das Beenden der Zusammenarbeit widerruft die Berechtigung. Eine außergewöhnliche Laufzeitumgebung, die nicht auf das private Standardverzeichnis /tmp zugreifen kann, kann LLM_WIKI_BROWSER_EXECUTOR_NATIVE_SOCKET für beide Befehle konsistent setzen, dies ist jedoch nicht Teil des verpackten Benutzerablaufs.

browser-install schreibt ein Native-Messaging-Manifest und einen Launcher mit exakter Herkunft. Verwenden Sie es nur während einer expliziten Installations- oder Migrationsaufgabe. Das Laden der entpackten Erweiterung, das Ändern eines normalen Chrome-Profils und das Upgraden einer installierten Kopie sind nicht Teil der Testsuite und erfordern explizite Benutzeranweisungen.

Sicherheitsmodell

Der Executor validiert einen kanonischen Programm-Hash, Plan-Hash, aktive Kollaborations-ID, feste Treiberidentität/-version, exaktes Ziel, Fähigkeit, Grenzen, Aktionsvokabular, private Slots und Ergebnis-Allowlist unabhängig in Python und der Erweiterung. Es gibt keine persistenten Host-Berechtigungen, <all_urls>-Zugriff oder Content-Scripts; die activeTab-Berechtigung von Chrome wird nur durch den Klick des Benutzers auf die Erweiterung erstellt. Der Interpreter hat eine feste CDP-Methoden-Allowlist und akzeptiert kein Runtime.evaluate, rohe Methoden, Skripte oder seiten-generierte Aktionen.

Die feste CDP-Allowlist enthält auch gepaarte Log.enable/Log.disable- und Network.enable/Network.disable-Fenster. Letzteres behält nur begrenzte private Anfragemethode, Ursprung/Pfad, Ressourcentyp, Status, MIME, Cache und Fehlerskalare bei; es entfernt Query-Strings und behält niemals Header, Bodies, Cookies, Initiatoren, Sicherheitsdetails oder Anfrage-IDs. Keine der Fähigkeiten legt rohe Diagnosemethoden oder Anfrageabfang offen. Ein separates gepaartes Runtime.enable/Runtime.disable-Fenster behält nur begrenzte private Runtime.consoleAPICalled-Typen, Zeitstempel und skalare Argumente bei. Es ignoriert Kontexte, Stacks, Beschreibungen, Vorschauen und Objekt-IDs und erlaubt niemals Auswertung, Kompilierung, Funktionsaufrufe, Skriptausführung oder Eigenschaftszugriff. Jeder Chrome-Native-Host-Prozess bindet einen eindeutigen privaten Socket unterhalb des einen konfigurierten Basispfads. Der Client entdeckt nur diese streng benannten Sockets, aggregiert ihre expliziten Kollaborations-Arbeitsbereiche und leitet einen Auftrag an den einzigen Host weiter, der die exakte Berechtigung besitzt. Dies verhindert, dass mehrere Chrome-Profile gegenseitig ihr Relay ersetzen, während ein exakter Tab pro Auftrag erhalten bleibt.

Der Executor ist vertrauenswürdiger lokaler Code, keine Betriebssystem-Sandbox. Gezielte Adapter bleiben dafür verantwortlich, jede folgenreiche Provider-Wirkung zu autorisieren und den endgültigen Zustand des Providers unabhängig nachzuweisen. Direkte Mutationswerkzeuge überschreiten eine interne One-Shot-Grenze, beanspruchen aber bewusst keine Provider-Transaktionsgarantien. Siehe SECURITY.md.

Install Server
F
license - not found
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    MCP server for controlling a local camofox-browser instance, enabling LLM agents to perform web automation tasks such as navigation, interaction, snapshotting, and content extraction.
    53
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Agent-native browser control MCP server that enables AI agents to browse and interact with web pages via accessibility tree snapshots and ref ID-based commands.
    15
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nvk/llm-wiki-chrome'

If you have feedback or need assistance with the MCP directory API, please join our Discord server