Skip to main content
Glama
tkhq

secure-browser-mcp

Official
by tkhq

secure-browser-mcp

Un servidor MCP que rellena secretos en un navegador sin mostrárselos al agente.

El agente ve referencias de secretos, no valores de secretos. Los secretos residen en Turnkey Secrets. El servidor exporta un secreto, lo descifra en su propia memoria y lo teclea en la página a través de CDP. El valor nunca entra en la conversación, en la transcripción ni en el contexto del modelo.

Cubre los secretos que no se pueden canalizar a través de una API: contraseñas, números de tarjeta y números de la Seguridad Social introducidos en formularios web.

Estado: andamiaje. Las interfaces, la superficie de herramientas y los límites de seguridad están establecidos. La mayoría de los manejadores devuelven not_implemented. Consulta docs/DESIGN.md para el diseño completo y docs/THREAT-MODEL.md para saber contra qué defiende y contra qué no.

Cómo funciona

  1. El agente llama a list_secret_refs y obtiene identificadores, nombres y vinculaciones de destino. Sin valores.

  2. El agente maneja el navegador con navigate, snapshot, click y type_text.

  3. El agente llama a fill_secret(secret_id, element_uid).

  4. El servidor verifica la página contra la vinculación de destino del secreto. La vinculación se establece en el momento de la importación mediante las propiedades estáticas de Turnkey y no se puede cambiar.

  5. El servidor exporta el secreto desde Turnkey (clave P-256 efímera, HPKE), lo teclea en el campo a través de CDP y descarta el valor.

  6. Todo resultado de herramienta pasa por una capa de redacción antes de llegar al agente. Las instantáneas, los registros de red y las capturas de pantalla nunca reflejan un valor rellenado.

No existe una herramienta evaluate_script. Es una decisión de seguridad, no una carencia.

Related MCP server: PhantomAuth

Inicio rápido

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

Inspecciona la superficie de herramientas:

bunx @modelcontextprotocol/inspector bun src/index.ts

El servidor usa un backend simulado en memoria hasta que se configuren las credenciales de Turnkey. El backend real es un adaptador ligero sobre @turnkey/sdk-server (importSecret / exportSecret / getSecrets, fusionado en tkhq/sdk#1479).

Dependencias de código no publicado del SDK

Los métodos de la API de Secrets están en la rama main de tkhq/sdk, pero aún no en npm. El directorio vendor/ contiene tarballs empaquetados a partir de una copia local de ../sdk, fijados mediante overrides en package.json. Elimina los tarballs del directorio vendor y los overrides cuando se publique @turnkey/sdk-server@8.3.0.

Para regenerar los tarballs:

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

Estructura de directorios

Ruta

Contenido

src/broker/

Referencias de secretos, la interfaz SecretsClient, backends de Turnkey y simulados, política de vinculación de destino

src/browser/

Control del navegador e inyección de secretos mediante CDP

src/redaction/

La capa de redacción por la que pasa todo resultado de herramienta

src/tools/

Un archivo por herramienta MCP

docs/

Diseño y modelo de amenazas

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