Manual
Install
- Choose your browser's store. Chrome, Brave and Chromium install from the Chrome Web Store package; Edge, Opera and Firefox each install from their own store package. Firefox support is partial.
- Pin the toolbar icon. Clicking it opens the side panel, which is the main surface.
- Nothing else is required. The free tier works immediately with no account.
Which browsers, and what differs
The extension is built for six browsers from one source. They are not equivalent, and the differences are in the browser rather than the extension β an API a browser does not implement is a feature that cannot exist there.
| Browser | Status | Install | Notes |
|---|---|---|---|
| Chrome | Supported | Install | Tested on Chrome for Testing 152. |
| Brave | Supported | Install | Tested on Brave 148. Installs from the Chrome Web Store listing. |
| Edge | Supported | Install | Tested on Edge 153. Its own package, because the Chrome one carries a Chrome Web Store signing key Edge rejects. |
| Chromium | Supported | Install | Tested on the current Chromium build. Installs from the Chrome Web Store listing. |
| Opera | Partly supported | Store listing (in review) | No side panel: Opera implements neither sidePanel nor sidebarAction. The popup and the tools work; the docked panel cannot open. |
| Firefox | Partly supported | Install | Manifest V3 with a sidebar. No debugger API, so network capture, console capture and PDF export are unavailable. |
| Safari | Partly supported | β | MV3 bundle built and packaged. No debugger API and no side panel, so network capture, console capture, PDF export and the docked panel are unavailable; the popup is the surface. Distributed through the Mac App Store after conversion with safari-web-extension-converter. |
Every supported browser is verified through the real docked side panel on normal web pages. Manual acceptance comes before automated regression coverage.
Permissions
Installing grants activeTab, alarms, debugger, downloads, nativeMessaging, scripting, sidePanel, storage and tabs. Website access is not granted at install.
On first install, a setup page opens that asks for website access with a single toggle. This is the one permission the extension cannot work without β without it, the MCP bridge can list your tabs but can't click, fill, or read anything on them. Granting it during setup means every tool works from the start. If you skip it, you can grant it later from Settings, or a notification will prompt you the first time a tool call needs it.
downloads and nativeMessaging are declared at install because neither can work as an optional grant. downloads needs the gesture that the capture requesting it has already spent, and nativeMessaging is opened by the service worker at startup, where there is no gesture to spend at all. nativeMessaging lets the extension talk to a local companion program you install yourself, and to nothing else; with no such program installed it does nothing.
debugger is declared at install because Chrome does not allow it to be optional. Nothing attaches a debugger session until you start network capture, console capture or PDF export, and Chrome shows its own banner on the tab whenever one is active.
Everything else is requested the first time you use the feature that needs it, with an explanation shown before the browser's own prompt:
| Permission | Requested when |
|---|---|
| Site access | During setup (recommended), or the first time a tool call needs it. Grant once and every tool works. |
history, bookmarks, tabGroups, webNavigation, offscreen, browsingData | When you enable the feature that needs it. The explanation appears before the browser prompt. |
Declining is safe. The tool returns a PERMISSION_REQUIRED error naming what it needed and why, and every other feature keeps working.
Connect an MCP client
Point your client at the MCP Session Bridge and the extension finds it on its own over a local WebSocket β no global install, no --install, no native host manifest. It works with Claude Code/Desktop, Cursor, VS Code, Windsurf, Antigravity, IntelliJ, Codex, Grok Build, Kimi Code/Desktop, JCode, Cline, OpenCode, Continue.dev, KiloCode, Roo Code, Aider, OpenClaw, Hermes, OpenFang or any other MCP client. For a Claude Desktop-style config:
{
"mcpServers": {
"t3rnel-session": {
"command": "npx",
"args": ["-y", "@t3ratech/mcp-session-bridge"]
}
}
}
With AI/MCP automation allowed β the default, and the choice the setup page offers β the first connection is approved automatically: no pairing prompt, no per-action prompts, ever. Arm the approval gate in Settings and a new bridge asks once in the side panel before it may connect. The pre-1.3.0 native-messaging path still works as a fallback for hosts registered by older installs; mcp-session-bridge --install only matters there.
The extension then exposes all 97 tools against the tabs you are already signed into.
The bridge is free and needs no licence of its own. Without the extension it falls back to a standalone automation browser. The full set of advanced tools and features is available through the T3rnel Browser extension's Pro tier.
The approval gate
The gate is off by default β installing the extension and allowing AI/MCP automation is the consent, so an MCP client's calls just run. Arm it in Settings and tools that change pages β clicking, filling, typing, evaluating JavaScript, uploading, and every vault operation β require your approval when the caller is an MCP client. The agent receives a refusal naming the exact action, for example:
APPROVAL_REQUIRED: 'browser_click' needs your OK before it runs.
Requested action: browser_click (selector=#place-order).
Approve it in the side panel and the action runs once. The next one asks again. You can add specific tools to a never-ask list, mark extra tools always-ask, or pin whole origins as protected so anything aimed at them is gated regardless of risk.
Activate Pro
- Open the side panel β Settings β Get Pro. A chooser opens with the two ways to pay:
- PayNow β Visa, Mastercard, ZimSwitch, EcoCash, OneMoney, Telecash, InnBucks and O'mari.
- Press Continue and complete the checkout in the tab that opens. Nothing is charged inside the extension.
- Return to the extension. The key collects itself; keep it β it activates your other machines.
- On another machine, paste the key into Settings β Enter licence key.
One licence covers three installations. Pro unlocks additional features directly inside the extension.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
PERMISSION_REQUIRED | The feature needs an optional permission you declined. Re-run it and accept, or grant it in the side panel. |
APPROVAL_REQUIRED | Working as designed. Approve the action in the side panel. |
| "could not read tab β¦ at β¦" | The page is not readable β site access not granted, a restricted chrome:// page, or the tab closed. The extension reports this rather than returning an empty page, because an empty page reads to an agent as a page with no content. |
| CSS output marked partial | A cross-origin stylesheet cannot be read by any script. The named sheets were skipped; the rest of the output is complete. |
| Debugger banner dismissed, CDP tools failed | Restart the tool. The extension notices a dropped session and re-attaches automatically. |
LICENSE_ACTIVATION_LIMIT_REACHED | All three installations are in use. Deactivate one, or contact support. |