Skip to main content
Every stdio client runs the same command. It fetches the browspark-mcp package from npm on first run and caches it; @latest keeps it current. If the client cannot find bunx, use the full path to the executable (~/.bun/bin/bunx by default).
Add --port 9224 (or any port) if 9223 is taken by something that is not another companion, and set the same port in the dashboard’s Settings. The dashboard’s Overview page generates these snippets with the port you configured.
--scope user makes it available in every project. Start a new session and run /mcp to check the connection. Claude Code MCP docs.
Clients that take a URL instead of a command are covered in HTTP endpoint. Running several of these clients at once is fine: see Multiple agents.

Checking the connection

Ask the agent to call browser_status. A healthy answer looks like this:
If it says NOT CONNECTED, follow the pairing instructions it prints. The agent’s name as reported by the MCP client (for example claude-code or opencode) shows up in the dashboard’s activity log and next to the tabs that agent opened.

Naming and scope

The companion names each connected agent after what the MCP client calls itself during the MCP handshake. That name is used for tab ownership, recordings and the activity log. Two sessions of the same client share a name but still get separate tab ownership because each MCP connection is a distinct client.