Skip to main content
Glama
tkhq

secure-browser-mcp

Official
by tkhq

secure-browser-mcp

MCP-сервер, который заполняет секреты в браузере, не показывая их агенту.

Агент видит ссылки на секреты, а не сами значения. Секреты хранятся в Turnkey Secrets. Сервер экспортирует секрет, расшифровывает его в собственной памяти и вводит его на страницу через CDP. Значение никогда не попадает в диалог, транскрипт или контекст модели.

Он охватывает секреты, которые нельзя передать через API: пароли, номера карт и SSN, вводимые в веб-формах.

Статус: каркас. Интерфейсы, набор инструментов и границы безопасности на месте. Большинство обработчиков возвращают not_implemented. Полный дизайн описан в docs/DESIGN.md, а docs/THREAT-MODEL.md описывает, от чего эта система защищает и от чего не защищает.

Как это работает

  1. Агент вызывает list_secret_refs и получает идентификаторы, имена и привязки к месту назначения. Никаких значений.

  2. Агент управляет браузером с помощью navigate, snapshot, click и type_text.

  3. Агент вызывает fill_secret(secret_id, element_uid).

  4. Сервер сверяет страницу с привязкой секрета к месту назначения. Привязка задаётся во время импорта через статические свойства Turnkey и не может быть изменена.

  5. Сервер экспортирует секрет из Turnkey (эфемерный ключ P-256, HPKE), вводит его в поле через CDP и удаляет значение.

  6. Каждый результат инструмента проходит через слой очистки, прежде чем попасть к агенту. Снимки, сетевые журналы и скриншоты никогда не повторяют введённое значение.

Инструмента evaluate_script не существует. Это решение по безопасности, а не недоработка.

Related MCP server: PhantomAuth

Быстрый старт

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

Изучите набор инструментов:

bunx @modelcontextprotocol/inspector bun src/index.ts

Сервер использует mock-бэкенд в памяти, пока не настроены учётные данные Turnkey. Реальный бэкенд — это тонкий адаптер поверх @turnkey/sdk-server (importSecret / exportSecret / getSecrets, включённые в tkhq/sdk#1479).

Зависимости от неопубликованного кода SDK

Методы Secrets API находятся в ветке main репозитория tkhq/sdk, но пока не опубликованы в npm. Каталог vendor/ содержит tarball-архивы, упакованные из локальной копии ../sdk и закреплённые через overrides в package.json. Удалите tarball-архивы из каталога vendor и overrides, как только выйдет @turnkey/sdk-server@8.3.0.

Чтобы пересобрать tarball-архивы:

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

Структура

Путь

Содержимое

src/broker/

Ссылки на секреты, интерфейс SecretsClient, бэкенды Turnkey и mock, политика привязки к месту назначения

src/browser/

Владение браузером и внедрение секретов через CDP

src/redaction/

Слой очистки, через который проходит каждый результат инструмента

src/tools/

По одному файлу на каждый MCP-инструмент

docs/

Дизайн и модель угроз

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