uabc
Supports Google Gemini models via an AI Studio key for the built-in assistant and Gemini CLI/Enterprise MCP access to browser automation.
Allows local Ollama models to be used as an OpenAI-compatible provider for the assistant, enabling browser control without a cloud model API.
Supports OpenAI API keys/models for the built-in assistant and lets OpenAI Codex or ChatGPT developer-mode MCP clients control shared browser tabs.
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., "@uabcOpen https://news.ycombinator.com and summarise the top 5 stories."
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.
UABC — Universal AI Browser Controller
Let AI use your real browser — your logins, your 2FA, your tabs — with your permission for every site.
UABC is a Chrome extension plus a small program (uabc). It gives AI three
ways into your own browser profile, all behind the same safety gate:
Use it from… | How | Needs |
The built-in assistant | A chat in Chrome's side panel (Alt+Shift+U) that works with your own API key: OpenAI, Anthropic (Claude), Google Gemini (AI Studio key), OpenRouter (hundreds of models), or a local model in Ollama, LM Studio or any OpenAI-compatible server. | Only the extension |
Your AI tools | A standard MCP server for Claude Code, OpenAI Codex, Antigravity, Cursor, Gemini CLI, VS Code, LM Studio, Goose … | The |
AI apps in the cloud | A secret connector URL for Claude custom connectors, ChatGPT developer mode, Gemini Enterprise and any app that accepts a remote MCP server. | A relay ( |
Status: alpha. Everything described here works and is covered by end-to-end tests. It is not yet on the Chrome Web Store; build it from source. See ROADMAP.md.
Why
Real sessions. Playwright and Selenium start empty profiles, and since Chrome 136 remote debugging is refused on your default profile. UABC works inside your normal browser, so Gmail, dashboards and intranet apps are already signed in.
Any AI, no lock-in. Bring your own key and pick any model, plug in any MCP client, or reach the browser from a cloud chat app.
Safe to hand your real profile to. AI only sees tabs you share, needs your approval for every new website, never touches password or payment fields, and stops instantly with one click or Alt+Shift+K. Read SECURITY.md.
Bangla and every other script. Text goes through Chrome's input pipeline (
Input.insertText), soআমার সোনার বাংলাtypes correctly, even in rich editors. The assistant answers in the language you write in.
Related MCP server: Browser Controller
How it works
side panel chat ──(your API key)──▶ OpenAI · Anthropic · Gemini · OpenRouter · Ollama …
│
│ port Claude Code, Codex … Claude.ai, ChatGPT …
│ │ MCP stdio │ MCP over HTTPS
│ ▼ ▼
│ uabc mcp ─IPC─▶ uabc host uabc relay (optional)
│ │ native ▲ WebSocket,
▼ ▼ messaging │ opened by the browser
┌──────────────────────────────────────────────────────────────────────┐
│ extension service worker — one gate for every AI client: │
│ UABC tab group · per-site approval · sensitive fields · Stop · log │
└──────────────────────────────────────────────────────────────────────┘
▼
your shared tabsThere is no listening port on your computer: the browser starts uabc, and
only processes of your own OS user can reach it. The relay is opt-in; the
browser connects out to it. Details: docs/architecture.md.
Quick start (from source)
Requirements: Node ≥ 20, Chrome/Chromium/Edge/Brave 116+, and Rust ≥ 1.88 for
the uabc program.
git clone https://github.com/EJOBS-IT/uabc && cd uabc
npm ci
npm run build:ext # → extension/dist
cargo build --release # → target/release/uabcLoad the extension: chrome://extensions → Developer mode → Load
unpacked → extension/dist. (Branded Chrome 137+ ignores --load-extension.)
A. Chat with the built-in assistant
In UABC's settings (opened on install) paste an API key under Built-in AI assistant. UABC checks it and loads the provider's models. For Ollama or LM Studio, add an OpenAI-compatible endpoint such as
http://localhost:11434/v1.Press Alt+Shift+U (or Open the assistant in the toolbar popup), pick a model and ask, for example: "bbc.com/bangla খুলে প্রধান খবরটা সংক্ষেপে বলো".
Approve the site when asked. Each step the assistant takes is listed in the chat; Stop ends it.
More: docs/assistant.md.
B. Connect your AI tools (MCP)
./target/release/uabc install --dev # register the bridge (--dev trusts the unpacked build)
./target/release/uabc config claude-code # or: codex, antigravity, cursor, gemini, vscode, generic
# claude mcp add --scope user uabc -- "/path/to/uabc" mcpThen ask your agent something like "Open https://news.ycombinator.com and
summarise the top 5 stories." uabc status shows registrations and running
browsers; uabc call tabs.list sends a raw command.
C. Use the browser from Claude.ai or ChatGPT
Run a relay behind HTTPS:
uabc relay --listen 127.0.0.1:8787plus Caddy, nginx or a tunnel (docs/relay.md).In UABC's settings, Use this browser from Claude, ChatGPT and other AI apps: turn it on, enter the relay address and copy the connector URL.
Claude: add a custom connector with that URL. ChatGPT: turn on developer mode and add a connector with that URL and no authentication (click and type need a plan with full MCP write actions; see the guide).
The URL works like a password; New URL revokes it. New sites still need your approval in the browser.
Tools
The same eleven tools for the assistant, MCP clients and cloud apps:
Tool | What it does |
| Connection, pause state, shared tabs, approved sites. |
| List, open, select or close tabs in the UABC tab group (the only tabs AI can see). |
| Load a URL, or go back, forward or reload. |
| The page as compact |
| JPEG/PNG of the tab. Numbered badges (Set-of-Marks) match the refs. |
| Click by ref, CSS selector or x/y with trusted mouse events. Refuses with |
| Type any Unicode into inputs, textareas and editable areas. Refuses password, OTP and card fields. |
| Keys and chords: |
| Scroll the page or a scrollable element. |
| Choose options in a native |
| Wait for text to appear or disappear (survives navigations). |
Errors come back as tool results with a code and a recovery hint, for example
STALE_REF: … Call browser_get_state to get fresh refs, so models can correct
themselves.
Safety model in one minute
Workspace. AI only sees tabs in the "UABC" tab group. Drag a tab in to share it, out to revoke.
Per-site approval. The first visit to a website opens a prompt naming the AI client (UABC assistant (model), claude-code, claude-ai (remote) …): Deny, Allow this time (only that client) or Always allow. AI cannot reach the prompt. Redirects and back/forward are gated on where they land.
No credentials. Password, one-time-code and card fields are hidden from AI and cannot be typed into.
Kill switch. The toolbar Stop button, Alt+Shift+K, or Cancel on Chrome's "started debugging" bar pauses every client, local or remote.
Your keys stay yours. API keys live in extension storage that web pages and content scripts cannot read, and go only to the provider they belong to.
Transparency. Badge, coloured tab group, connected clients, every step in the assistant's chat, and a local activity log. Everything taken from a page reaches the model fenced as untrusted content.
Locked-down browsers. Managed browsers that block the debugger can switch to Basic input mode.
How is this different?
As of October 2026 there are good alternatives: Claude in Chrome (Claude only),
Google's chrome-devtools-mcp (debugging-oriented), Microsoft's Playwright
extension, and community projects such as mcp-chrome. UABC's focus:
vendor-neutral: any model with your own key, any MCP client, cloud apps;
no listening port on your computer; the relay is optional and self-hostable;
per-site consent and credential rules enforced inside the extension, for every kind of client alike;
first-class non-Latin text input;
a degraded mode for managed browsers, and enterprise controls on the roadmap.
Repository layout
host/ Rust: the uabc binary (native host, MCP server, relay, installer)
extension/src/
background/ service worker: gate, commands, native + relay bridges
content/ page snapshots and actions
assistant/ built-in assistant: provider adapters, agent loop, settings
shared/ tool catalog, tool runner and formatter shared with the MCP server
ui/ popup, settings, side panel, approval prompt
e2e/ end-to-end tests: real Chromium, real binaries, MCP SDK, fake model APIs
docs/ architecture, protocol, ADRs, guidesDevelopment
npm run watch # rebuild the extension on change (reload it in chrome://extensions)
cargo build # debug binary; run `uabc install --dev` again if the path changed
npm run typecheck
npm run test:unit # TypeScript unit tests (vitest)
cargo test # Rust unit + integration tests
npm run test:e2e # needs: npm run build:ext && cargo buildHost logs are in ~/.uabc/logs/host.log (%LOCALAPPDATA%\uabc\logs on
Windows); set UABC_LOG=debug for more. See CONTRIBUTING.md.
Documentation
Guides: built-in assistant · running a relay
Decisions:
Security & threat model · Privacy · Roadmap · Chrome Web Store guide · Contributing
License
Apache-2.0. The name and logo are not covered by the license; see TRADEMARKS.md. Built by the R&D division of eJobs IT, Bangladesh.
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI agents observe and control Chrome tabs you explicitly share via Browse Bridge.
Connect AI agents to your own Chrome with scoped access, approvals, and verified task results.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Give AI agents a real cloud Chrome: open sessions, navigate, read pages, click, type and screenshot.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI agents to securely control Chrome tabs via a local bridge, with explicit per-tab sharing and human approval for consequential actions.MIT
- AlicenseNot gradedqualityAmaintenanceGives MCP-compatible AI agents direct control of your real browser with existing sessions, logins, and cookies. Supports multiple agents concurrently with tab targeting.9 npm7MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control your existing Chrome browser via MCP, using your logged-in sessions for automation on authenticated sites. Provides high-level browser tools plus raw CDP and Chrome API access.MIT
- 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.6 npmISC