Local setup
Build the server, load the extension, connect the first tab.
BrowseFleetMCP only works when both sides are present: the local server and the Chrome extension. Client config is just the launcher. The browser side still needs a live tab connection, and the extension currently ships from this repo checkout.
Step 1
Build and load the Chrome extension from this checkout.
Every install path still depends on the unpacked extension in
extension-v2/, even if the server itself is launched later
from npx -y browsefleetmcp. After the build, open
chrome://extensions, enable Developer mode, click
Load unpacked, and select extension-v2/.
git clone https://github.com/JakubJDolezal/browsefleetmcp.git
cd browsefleetmcp/extension-v2
npm install
npm run build
Step 2
Pick the published package or the current checkout for the server.
Use the published package when you want the npm release. Use the local checkout when you are developing this repo or want clients to run your current source tree directly.
npx -y browsefleetmcp --help
cd /absolute/path/to/browsefleetmcp
npm install
npm run build
node /absolute/path/to/browsefleetmcp/dist/index.js --help
Default ports
9150, 9152, 9154
The browser side prefers port 9150 with two backup ports.
Broker override
Separate internal path
Browser and broker ports can be set independently from the CLI.
Auth token
Optional local lock
Use a shared token if you want the extension and broker to authenticate.
Critical state
Connected current tab
No browser action succeeds until the popup has attached the tab.
browsefleetmcp --port 9200 --fallback-ports 9202,9204
browsefleetmcp --broker-port 9300 --broker-fallback-ports 9302,9304
browsefleetmcp --auth-token your-shared-token
BROWSEFLEETMCP_AUTH_TOKEN=your-shared-token browsefleetmcp
Step 3
Point your actual client at the server.
Once the extension is loaded and the local server command is clear, the next step is just the launcher shape for your MCP host. The one-page setup guide has copy-ready commands by target, and the client page keeps the reference config snippets.
Codex
codex mcp add or config.toml
CLI install plus direct config examples.
Cursor
~/.cursor/mcp.json
Published-package and local-checkout JSON blocks.
Claude Code
CLI add or project .mcp.json
User-level and checked-in setup paths.
Claude Desktop
Bundle the repo as an .mcpb
Desktop-native install route for packaged local tools.
After setup
The popup state matters more than the client you launched from.
Focus-sensitive actions
browser_click, browser_drag,
browser_hover, browser_press_key, and
browser_type require focus. BrowseFleetMCP serializes them
behind a global focus lock.
Session inspection
If you connect multiple tabs, use browser_list_sessions
and browser_switch_session to control which one the current
MCP client owns.
Snapshot vs screenshot
browser_snapshot gives the simplified accessibility view.
browser_screenshot captures the rendered page itself.
Most likely failure
If the extension is loaded but the tab is not connected, browser calls
fail with No connected tab.