Skip to main content
Browspark can use Chrome, Brave, Firefox and Zen at the same time. All browsers share one companion and the same 43 MCP tools. Each tab has a unique tabId, so a command always goes to the selected browser and tab. Firefox and Zen have documented tool exceptions. Their extension shares everyday tabs; their developer sessions use WebDriver BiDi with separate profiles and broader automation support.

Connect existing browser profiles

  1. Register the companion once with your MCP client.
  2. Load the Browspark extension in Chrome at chrome://extensions and Brave at brave://extensions. You can use the same unpacked extension folder in both. For Firefox and Zen, build and load the separate Firefox package through about:debugging, then enable user scripts in its dashboard. See Firefox extension setup.
  3. Open each dashboard and share the tabs you want the agent to access. Every browser profile connects to 127.0.0.1:9223, or the port you configured.
  4. Ask the agent to call browser_status or browser_tabs. Connected extension instances have a browserId; their tabs have unique tabId values.
Connecting Brave keeps Chrome connected. Multiple profiles of the same browser can also connect independently. Sharing a tab in one profile grants no access to tabs in another, and its Stop controls affect that profile’s tabs. Open Graph in any connected dashboard to arrange the agents, companion, browser profiles and developer sessions on a dotted canvas with logos and animated lines. Extension nodes include shared-tab counts; developer nodes show open-tab counts. Settings → Connection graph controls this view for that profile. Recognized logos and engine fallback names identify connections; they do not guarantee support for every browser fork. Use companion 0.5.0 or later for Chromium extensions, or 0.6.0 or later for Firefox extensions. When testing extensions built from source, run the companion from the same checkout and restart any older companion already using the port. See connection troubleshooting. Profiles with copied extension storage remain independent: connections are identified by both installation and browser session, so a copied installation ID cannot disconnect another running browser session.

Choose where a new tab opens

For a connected extension browser, use its displayed browserId with browser_tabs:
Replace the placeholder with the value returned by the tool. Browser IDs identify connections, so copy the returned ID instead of guessing one from a browser name. When multiple browsers are connected, specify your choice; Browspark will not pick whichever connected last. For an existing tab, pass its tabId to browser_navigate, browser_snapshot or another tab tool. A tabId already identifies the browser; it does not need an extra browserId. The dashboard displays browser-native tab numbers, which differ from MCP tab IDs. Refresh browser_status after restarting the companion or browser instead of reusing old IDs. browser_fetch also accepts browserId when it opens temporary tabs in an extension browser. Pass the ID from browser_status to choose which browser performs the fetch; pass context to use a developer browser instead.

Run developer browsers side by side

Ask your agent to launch the browsers you need, each in a named context. Active context names must be unique across browsers. For example, launch Brave with:
Then launch Zen with:
These are browser_session calls. Use "chrome" or "firefox" for those browsers. The existing "chromium" choice remains supported and is the default for a new context. Use context to open a new tab in a developer browser:
Developer profiles persist separately by browser and context. Closing a context keeps its profile; browser_session with action: "delete" removes a stopped profile. See developer browser profiles and options.

Sharing and tool settings

Each extension profile owns its shared tabs, overlay setting and Stop controls. A tool call targeting an extension browser or tab uses that browser’s tool switches, including page tools that resolve to the agent’s own or only usable tab. Calls spanning browsers and calls in developer sessions use the combined disabled list from connected dashboards. Developer launches use the most restrictive connected dashboard setting: Never, then Only when needed, then Always. See Tool policy for details.

Select an executable

Set browserPath on browser_session launch when a browser is installed outside the usual locations. Keep browser set to the matching browser so the companion uses the correct protocol and profile. The environment variables BROWSPARK_CHROME, BROWSPARK_BRAVE, BROWSPARK_FIREFOX and BROWSPARK_ZEN select the corresponding executable. Existing chromePath and firefoxPath launch options remain supported. See CLI and environment.