byob MCP
A plugin and MCP server letting an agent drive your open, already logged-in Chrome through an extension with no debugging port.
- 145 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent acts in your real Chrome with open sessions and can read private data, submit forms and obtain cookies.
- Installation runs a script from the network and `browser_evaluate` executes arbitrary code on a page.
Install
- Works in
Manual install
curl -fsSL https://raw.githubusercontent.com/wxtsky/byob/main/install.sh | bashThe README quick install: the script builds the project and registers the chosen clients. The Claude Code plugin installs with `claude plugin marketplace add wxtsky/byob` and `claude plugin install byob@byob --scope user`.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent acts in your real Chrome with open sessions and can read private data, submit forms and obtain cookies.
- Installation runs a script from the network and `browser_evaluate` executes arbitrary code on a page.
This is third-party code. Review the repository files before installing.
What it does
byob (Bring Your Own Browser) is a local MCP server plus a Chrome MV3 extension. The agent drives a real browser with your sessions: it reads pages, clicks, fills forms, takes screenshots and waits for loads. There are 25 tools, including `browser_snapshot`, `browser_find`, `browser_click`, `browser_type`, `browser_batch` and `browser_read`. Elements are chosen by refs from an accessibility snapshot, by selector or by coordinates, and nested iframes appear in the snapshot. Claude Code gets a plugin with the `/byob:control-chrome` skill, and other clients connect through an MCP config. The link runs over Native Messaging, so no remote debugging port is opened.
Who it is for. Developers who hand an agent work inside personal accounts and closed services where plain requests or a headless browser fail.
Good fit when
- An agent reads a page that opens only after login.
- A long browser form must be filled from data in the chat.
- You need a screenshot or page text without launching a separate Chrome.
- A site blocks headless browsers while ordinary Chrome works.
Not a fit when
- The browser holds bank or work sessions the agent must not reach.
- The agent runs on a remote machine without your Chrome.
- The scenario must run in CI without a graphical browser.
Example request
Open my tasks tab, read the list and summarise the top five items. Do not click or submit anything.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
BYOB_ALLOW_EVAL- Set to 1 to enable the browser_evaluate tool
Limitations
The agent acts with your rights across all open sessions: it can read mail, submit forms and take cookies. Installation starts with `curl ... | bash`, so read `install.sh` first. The `browser_evaluate` tool is enabled only by `BYOB_ALLOW_EVAL=1`. Chrome must be fully restarted after setup. The last commit is from September 2026. The extension works in Chrome, Edge and Brave, but behaviour should be tested on your own browser profile. The server side needs Node.js 20 or newer and bun.
How to disable. Disable the extension at `chrome://extensions`, run `claude plugin uninstall byob@byob` or remove the `byob` MCP entry, then delete the `~/byob` folder and the Native Messaging config.
FAQ
How is byob different from a debugging-port connection?
It is an extension: no remote debugging port is opened, there is no prompt on each connection, and other programs cannot hijack your browser through it.
How do I install the Claude Code plugin?
With `claude plugin marketplace add wxtsky/byob` and `claude plugin install byob@byob --scope user`, then `/reload-plugins`.
How do I enable `browser_evaluate`?
Set `BYOB_ALLOW_EVAL=1` in the MCP server environment. The tool is off by default.
What are the requirements?
Node.js 20 or newer, bun, and Chrome, Edge or Brave. The installer checks them and offers to install bun.
What if the connection fails?
Run `bun run doctor`: under every failed item it prints a fix, such as a full Chrome restart or an extension ID mismatch.
Discussion
No questions or reviews yet.
Related
MCP serversA Chrome extension with an MCP server: the agent drives your everyday browser with its sessions, tabs, bookmarks and history
An agent drives your real logged-in Chrome: a CLI, MCP and an extension with a separate tab group per session
An MCP server and Chrome extension that let the agent drive your already open browser with your logged-in sessions, all locally
A CLI and MCP server that lets an agent drive your real Chrome with its logged-in sessions: 103 commands across 36 platforms plus browser automation
A CLI, Chrome extension, SDKs and MCP server that let an agent drive your real Chrome, whatever the agent runtime
An MCP wrapper over the browser-use engine: a single tool drives a browser from a natural-language task.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| byob (this card) | no | not required | 145 | |
| Playwright MCP | yes | not required | 39,570 | launches a separate browser without your logins; byob drives your own Chrome with sessions already logged in |
| Chrome DevTools MCP | yes | not required | 55,199 | connects through a debugging port; byob works as an extension with no open port |
README in short
After `bun run setup` manual steps remain: load the unpacked extension and restart Chrome. `bun run doctor` shows what to fix.