browse
Enables AI agents to drive the user's real Arc browser, opening and controlling tabs with Playwright, taking screenshots, capturing network traffic, recording the screen, and handing tabs back for manual login, 2FA, or payment steps.
Enables AI agents to drive the user's real Brave browser, opening and controlling tabs with Playwright, taking screenshots, capturing network traffic, recording the screen, and handing tabs back for manual login, 2FA, or payment steps.
Enables AI agents to drive the user's real Helium browser, opening and controlling tabs with Playwright, taking screenshots, capturing network traffic, recording the screen, and handing tabs back for manual login, 2FA, or payment steps.
Enables AI agents to drive the user's real Opera browser, opening and controlling tabs with Playwright, taking screenshots, capturing network traffic, recording the screen, and handing tabs back for manual login, 2FA, or payment steps.
Enables AI agents to drive the user's real Vivaldi browser, opening and controlling tabs with Playwright, taking screenshots, capturing network traffic, recording the screen, and handing tabs back for manual login, 2FA, or payment steps.
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., "@browseopen news.ycombinator.com and tell me the top story"
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.
Let your AI agents use your real browser: your tabs, your logins, your extensions. An MCP server and a Chromium extension, for opencode and any other MCP client.
Agents get a browse MCP server. They open and drive tabs with Playwright, take screenshots, capture network
traffic and record the screen. When it's your turn (a login, a 2FA prompt, a payment), they hand the tab back to you
and continue once you click Continue.
It works in Chrome, Edge, Brave, Arc, Helium, Vivaldi, Opera and Chromium.
Install
You need Bun, Node.js 22+, and opencode.
1. Build it and add the browse tools to opencode
git clone https://github.com/R44VC0RP/browse.git
cd browse
bun run setup2. Load the extension
Open chrome://extensions (or your browser's extensions page), turn on Developer mode, click Load unpacked
and choose the browse/dist folder.
3. Restart opencode
That's it. Ask an agent to "open news.ycombinator.com and tell me the top story".
There's nothing to pair or sign in to: the extension only talks to a relay on 127.0.0.1, which only accepts this
extension. bun run setup is safe to re-run after git pull; it updates the tools and reloads the extension for you.
Coming soon: a Chrome Web Store listing and
npx opencode-browser-cli install, so you can skip the clone.
Other MCP clients
setup writes the server into opencode's config. For other clients, add an stdio server that runs the built CLI:
{
"browse": { "command": "node", "args": ["/path/to/browse/cli/dist/cli.mjs", "mcp"] }
}Related MCP server: byob
Using it
Agents open their own tabs. They're grouped at the top of your tab strip under the agent's session name and stay collapsed unless you're looking at one. Tabs nobody touches for 10 minutes close by themselves.
Hand an agent one of your tabs by clicking the toolbar button on it. The badge shows ON; click again to take it back. While an agent works the badge reads RUN, and WAIT when it needs you.
Handoffs: the page shows a banner. Do the human part, then click Continue.
Status: the extension's options page shows whether the relay is connected and can copy diagnostics.
Tools
Tool | What it does |
| Run Playwright code against the session's page ( |
| Named sessions, each with its own tabs; they survive restarts |
| Take over a tab you handed over with the toolbar button |
| Capture traffic to a redacted HAR |
| Record a tab to MP4 or WebM |
| Keep the last minute of video, save it when something breaks |
| Reuse an authenticated session's credentials without exposing them |
| Close the agent's idle tabs |
| Connection status, and the full agent guide |
The agent guide is cli/skills/browse/SKILL.md. Everything is also a CLI:
node cli/dist/cli.mjs --help.
How it works
The agent talks to the browse MCP server over stdio. The server hands each command to the relay on
127.0.0.1:19988, and the extension, connected to the relay over a WebSocket, runs it in your browser through
chrome.debugger.
The relay (
cli/) is a local Chrome DevTools endpoint backed by the extension. It keeps named sessions, handoffs, recordings, network capture and a journal, and starts on demand.The extension (
src/) connects to the relay and runs its commands throughchrome.debugger. It groups agent tabs, closes idle ones, shows the toolbar badge and the in-page handoff banner.Hard to tell from a person.
executeuses Patchright, so pages can't see the debugger, and input moves like a person: curved mouse paths, paced typing, gliding scroll. SetOPENCODE_BROWSER_HUMAN_INPUT=0for full speed.
Permissions: debugger, tabs, tabGroups, storage, alarms, offscreen and tabCapture (recordings), and
access to all sites so agents can work wherever you ask. Nothing leaves your computer except what your agent sends
to its model provider; see the privacy policy.
Troubleshooting
node cli/dist/cli.mjs statusshows the relay, the extension and every tab agents can use.node cli/dist/cli.mjs doctorchecks the install.Logs:
~/.local/share/opencode-browser/logs/relay.log.Extension says another browser is connected: only one browser profile can be connected at a time. Close the other one, then click Reconnect on the status page.
Development
bun install && bun run dev # rebuilds dist/ on change; reload the extension to pick it up
bun run typecheck
cd cli && bun src/main.ts status # the CLI from source
bun run package # release/opencode-browser-<version>.zip for the Chrome Web Storecli/ is the npm package opencode-browser-cli with its own lockfile. To release: bump cli/package.json, run
npm publish --access public in cli/, then upload the zip from bun run package.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent operate any website through a real, logged-in browser session.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to drive a Chromium-based browser for web research, testing, and automation with Playwright-compatible tools, persistent profiles, proxy matching, extension loading, and humanized input across local or containerized deployments.784 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to drive the user's real, already-logged-in Chrome browser locally, so they can read and navigate pages, click, type, fill forms, take screenshots, and inspect cookies, tabs, console, and network traffic without headless browsers or remote-debugging ports.1 npmISC
- AlicenseNot gradedqualityAmaintenanceLets AI coding tools drive the user's already-signed-in Chrome browser — reading and snapshotting pages, clicking, typing, uploading files, screenshotting, and inspecting tabs, cookies, console, and network traffic. It works through a local Chrome extension bridge, so no remote debugging port is opened and the real, authenticated browser session is used.1 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform Playwright-compatible browser automation through unchanged upstream tools, using a Chromium runtime with persistent profiles, proxy matching, humanized interactions, and Docker or stdio/Streamable HTTP deployment options.784 npmMIT