Local browser automation over MCP
Drive your real Chrome from agents or the shell.
BrowseFleetMCP runs a local stdio MCP server, pairs it with a Chrome extension, and keeps sessions isolated so multiple tools can work without fighting over the same browser state.
It was inspired by BrowserMCP, but built out of not wanting the browser side to silently die in the background and leave automation hanging.
The extension lives in this repo checkout. The server can come either from
the published npx -y browsefleetmcp package or from your local
built dist/index.js.
Transport
Standard stdio MCP
Sessions
Leased, isolated tabs
Browser
Your existing profile
Choose your route
Setup, configs, direct CLI, or desktop bundle.
Every page below is built for a different job. Start with install if you want the end-to-end path. Jump straight to clients or CLI if the browser side is already in place.
Install
Build the server, load the extension, connect the first tab.
The full local setup path, in order, with ports and auth token notes.
Setup
Copy the exact install block for Codex, Claude Code, or another host.
One-page recipes that combine extension setup, server choice, and client wiring.
Clients
Copy the right config for Codex, Cursor, Claude, or generic stdio.
Same server entrypoint, different launcher formats and config files.
CLI
Run BrowseFleetMCP directly with ports, broker overrides, and auth.
Use this when you want the runtime without an MCP host in the middle.
Claude Desktop
Package the repo as an MCP bundle and install the extension path.
Desktop-native install route for users who do not want to hand-edit JSON.
Skill
Drop in a Codex skill that teaches the agent how BrowseFleetMCP works.
Copy the folder into ~/.codex/skills and keep the workflow close to the tool.
Operational flow
The setup has four moves. Keeping the order clean avoids most confusion.
This is not a hosted browser service. The server runs locally, the extension connects your real browser, and the client just decides how that process gets launched.
01
Build the root package
Compile the MCP server and CLI from the repo root.
02
Load the extension
Build extension-v2/ and load it in Chrome.
03
Choose a launcher
Use MCP config, a CLI command, or a Claude Desktop bundle.
04
Connect the tab
Open the popup, confirm ports, add any auth token, and attach the current tab.
Quick launch pairs
Every client path resolves to the same command shape.
Use the published package if you want the npm release. Use the local
checkout if you are actively developing the repo and want the client to run
your built dist/index.js.
On Windows, some clients need cmd /c in front of
npx. That note lives on the Clients page so the main page
stays focused on the path selection.
{
"command": "npx",
"args": ["-y", "browsefleetmcp"]
}
{
"command": "node",
"args": ["/absolute/path/to/browsefleetmcp/dist/index.js"]
}
browsefleetmcp --port 9200 --fallback-ports 9202,9204
browsefleetmcp --auth-token your-shared-token
Ready to wire it up
Start with install if you want the cleanest path. Everything else is a launcher detail.
The docs site is published from docs/ through GitHub
Pages. The repo examples remain available if you prefer copying config
files directly instead of transcribing snippets.