Tether
Provides integration with HashiCorp Vault, allowing the server to incorporate Vault secrets into browser-automation workflows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TetherGo to my inbox and summarize my top 3 unread emails"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tether

Private, local-first browser control for AI assistants.
One connector. Every AI. Your browser, your rules.
Connect any AI assistant — Claude, ChatGPT, Codex, Cursor — to your real, logged-in browser, with per-site permissions, per-action approvals, and a tamper-evident audit log. No cloud relay required.
Tether is a connector, not an agent: the AI client brings the reasoning, Tether enforces your governance. Policy is evaluated in exactly one place — the extension's policy engine — so a compromised client or relay gains zero capabilities (TRD §2.3).
⚠️ Beta. Tether is under active development. See Beta limitations before relying on it.
Quick start
git clone https://github.com/tether-ai/tether.git
cd tether
pnpm install
pnpm build
# Start the local daemon
node apps/daemon/dist/index.js serve
# Load the unpacked extension
# chrome://extensions → Developer mode → Load unpacked
# → apps/extension/.output/chrome-mv3Then point your MCP client at http://127.0.0.1:18796/mcp (streamable HTTP) or
run node apps/daemon/dist/index.js connect claude-code to configure a harness
automatically.

Related MCP server: Umbra MCP Server
How it works
┌──────────────┐ MCP (stdio / HTTP) ┌─────────────────┐
│ AI client │ ◄────────────────────► │ Local daemon │
│ (your model) │ │ 127.0.0.1 only │
└──────────────┘ └────────┬────────┘
│ loopback WS + token auth
┌────────▼────────┐
│ MV3 extension │
│ policy engine │ ← the single point
│ redaction │ where capability
│ audit chain │ is granted
└─────────────────┘40 tools across read (
browser_snapshot,browser_find,browser_get_text, …) and act (browser_click,browser_type,browser_submit, …), plus the kill switch and vault integration.Zero plaintext on the wire for hosted mode — X25519 + AES-256-GCM sealed envelopes end-to-end; the relay carries no readable content (PRV-03).
Local OCR screenshot redaction —
browser_screenshotredacts rendered secrets (PAN, email, bearer tokens, API keys, private keys) on this machine before the image is returned. Image bytes never leave the device.Kill switch — one click aborts in-flight actions, closes sockets and revokes tokens in < 200 ms, from three entry points, and stays killed across reconnects (HR-10) until you explicitly reset it.
Tamper-evident audit chain — every state-changing action is recorded write-ahead; hashes chain entries so tampering is detectable.
Three modes (PRD §7.2)
Mode | Path | Best for | Status |
A — Local | AI client ⇄ | CLI & IDE harnesses (Claude Code, Codex, Cursor) | ✅ shipped |
B — Hosted | Extension ⇄ outbound WSS ⇄ relay ⇄ public | ChatGPT Business+, claude.ai, mobile | 🚧 in progress |
C — In-page | WebMCP proxy + optional chat-UI bridge | Gemini in Chrome, web chatbots | 🔬 experimental |
Mode A requires no network access and no cloud account. Everything runs on your machine.
Why it's safe by construction
Risk | Control |
Secret leakage into model context | Outbound redaction (PAN w/ Luhn, email, phone, IBAN, bearer/JWT, API keys, private-key blocks) + on-device OCR redaction of screenshots |
Unapproved destructive actions | Three-tier policy (T0 read / T1 write / T2 submit), T2 requires a per-action diff + single-use confirmation token |
Prompt injection from web pages | Page content is untrusted data (HR-6); injection fixtures in the 50-task eval suite |
Runaway agents | Rate limits, action budgets (< 30 s or resumable task handles), kill switch |
Silent surveillance | No telemetry, no crash reporting, no update pings without explicit opt-in (HR-13) |
Over-broad permissions |
|
Full analysis: THREAT_MODEL.md.
Beta limitations
We'd rather tell you than oversell:
Demo Mode is not shipped — there is no simulated browser; Tether drives your real Chrome.
Egress monitoring is detect-only in v1 — main-world fetch/XHR instrumentation alerts but does not block; CDP-based blocking arrives with Power Mode (v1.1).
Chrome only — no Firefox/Safari port yet (Firefox lacks a
chrome.debuggerequivalent); no mobile.WebMCP in-page bridge requires Chrome 149+ and is experimental, opt-in, and clearly labelled.
Screenshot OCR redaction is best-effort — it runs locally and is pattern-driven; heavily stylised fonts or text baked into images-of-images may evade it. Screenshots are always annotated
openWorldHint:trueand the side panel shows an amber badge when OCR is unavailable.Hosted relay (Mode B) is in development — the self-host path exists (
apps/relay,RELAY_MODE=selfhost) but the managed relay is not generally available.
Documentation
Doc | Contents |
Product requirements, hard rules (§4), non-goals (§3.2) | |
Technical design, module boundaries, dependency table | |
SEC-01…SEC-14 threat→control matrix | |
One row per manifest permission + justification | |
Reporting vulnerabilities, disclosure policy, bounty | |
Dev setup, code style, PR process | |
Release gates | |
Submission prep, traceability, protocol reference |
Contributing
Issues and pull requests are welcome! Start with
CONTRIBUTING.md — it covers dev setup, the (strict!) code
style, and the testing bar. Security bugs: please follow
SECURITY.md rather than opening a public issue.
License
MIT © Tether Authors
This server cannot be deployed
Maintenance
Related MCP Connectors
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
- openhelmOAuthai.openhelm
Autonomous cloud agent tasks: real browser + your tools, structured evidence-backed results.
Supervised API-write gateway for AI agents with policy, human approval and execution receipts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLets AI assistants control your real Chrome browser to perform web tasks like reading pages, taking screenshots, clicking, and typing, using your existing logged-in sessions.133MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to securely control a user's existing signed-in Chrome browser through isolated tab groups, with strict per-session ownership and no cookie or token exposure.1 npmISC
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to securely control a user's existing Chrome profile locally, providing typed browser actions, form and editor support, WordPress workflows, terminal automation, and Figma inspection with policy-based authorization and redacted auditing.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to drive a real, already logged-in browser from the CLI or over MCP, with enforceable approval gates for actions and safeguards against prompt injection.1,795,674 npm1Mozilla Public 2.0