Skip to main content
Glama
tkhq

secure-browser-mcp

Official
by tkhq

secure-browser-mcp

Ein MCP-Server, der Geheimnisse in einen Browser einträgt, ohne sie dem Agenten zu zeigen.

Der Agent sieht Geheimnisreferenzen, keine Geheimniswerte. Geheimnisse liegen in Turnkey Secrets. Der Server exportiert ein Geheimnis, entschlüsselt es in seinem eigenen Speicher und tippt es über CDP in die Seite. Der Wert gelangt nie in das Gespräch, das Transkript oder den Modellkontext.

Es umfasst die Geheimnisse, die sich nicht über einen API-Proxy abwickeln lassen: Passwörter, Kartennummern und SSNs, die in Webformulare eingegeben werden.

Status: Gerüst. Die Schnittstellen, die Tool-Oberfläche und die Sicherheitsgrenzen sind vorhanden. Die meisten Handler geben not_implemented zurück. Siehe docs/DESIGN.md für das vollständige Design und docs/THREAT-MODEL.md dafür, wogegen dieses Projekt schützt und wogegen nicht.

So funktioniert es

  1. Der Agent ruft list_secret_refs auf und erhält IDs, Namen und Zielbindungen. Keine Werte.

  2. Der Agent steuert den Browser mit navigate, snapshot, click und type_text.

  3. Der Agent ruft fill_secret(secret_id, element_uid) auf.

  4. Der Server prüft die Seite gegen die Zielbindung des Geheimnisses. Die Bindung wird beim Import über statische Eigenschaften von Turnkey festgelegt und kann nicht geändert werden.

  5. Der Server exportiert das Geheimnis aus Turnkey (ephemerer P-256-Schlüssel, HPKE), tippt es über CDP in das Feld und verwirft den Wert.

  6. Jedes Tool-Ergebnis durchläuft eine Schwärzungsschicht, bevor es den Agenten erreicht. Snapshots, Netzwerk-Logs und Screenshots geben niemals einen eingetragenen Wert wieder.

Es gibt kein evaluate_script-Tool. Das ist eine Sicherheitsentscheidung, keine Lücke.

Related MCP server: PhantomAuth

Schnellstart

bun install
bun run typecheck
bun run dev          # starts the MCP server on stdio (mock secrets backend)

Tool-Oberfläche untersuchen:

bunx @modelcontextprotocol/inspector bun src/index.ts

Der Server verwendet ein In-Memory-Mock-Backend, bis Turnkey-Zugangsdaten konfiguriert sind. Das echte Backend ist ein dünner Adapter auf Basis von @turnkey/sdk-server (importSecret / exportSecret / getSecrets, zusammengeführt in tkhq/sdk#1479).

Abhängigkeiten von unveröffentlichtem SDK-Code

Die Secrets-API-Methoden befinden sich im Hauptzweig von tkhq/sdk, sind aber noch nicht auf npm. Das Verzeichnis vendor/ enthält Tarballs, die aus einem lokalen Checkout von ../sdk erstellt und über overrides in package.json fixiert wurden. Entfernen Sie die Tarballs und die Overrides, sobald @turnkey/sdk-server@8.3.0 veröffentlicht wird.

So generieren Sie die Tarballs neu:

cd ../sdk && pnpm install && pnpm turbo build --filter=@turnkey/sdk-server --filter=@turnkey/crypto
cd packages/<pkg> && pnpm pack --out ../../../secure-browser-mcp/vendor/turnkey-<pkg>.tgz

Aufbau

Pfad

Inhalt

src/broker/

Geheimnisreferenzen, das SecretsClient-Interface, Turnkey- und Mock-Backends, Zielbindungsrichtlinie

src/browser/

Browser-Verwaltung und CDP-Injektion von Geheimnissen

src/redaction/

Die Schwärzungsschicht, durch die jedes Tool-Ergebnis läuft

src/tools/

Eine Datei pro MCP-Tool

docs/

Design und Bedrohungsmodell

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to securely fill web forms with credentials from SecureVault, keeping raw secrets hidden from the agent.
    8 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Gives agents an autonomous browser that takes a single goal-level call and drives a real Chrome step by step, returning a verified result or a concrete question instead of guessing. It keeps passwords out of prompts, requires approval before buy/pay/delete actions, and detects login walls and bot challenges.
    9
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to look up stored logins by URL, name, or alias and use them without seeing the secrets, injecting authentication into HTTP requests, running commands with credentials in the environment and scrubbed output, and fetching 2FA codes, subject to per-credential policies and user approval.
    23
    MIT