Skip to main content
While the companion runs it serves MCP over Streamable HTTP at:
No token is needed. The endpoint binds to localhost and refuses requests that carry a web page’s Origin header, so pages in your browser cannot call it; native clients and extensions can. The dashboard’s Settings → Other clients card shows the URL with a copy button.
If you expose the endpoint through a tunnel, keep the tunnel private: anyone who can reach it controls your shared tabs.

Starting the companion for HTTP clients

An HTTP client cannot launch the companion the way a stdio client does. Either:
  • Keep a stdio client (Claude Code, OpenCode…) connected: its companion owns the port and serves HTTP at the same time.
  • Or run it standalone:
--http-only skips the stdio transport so the process does not exit when stdin closes. Stop it with Ctrl-C; it closes any developer browsers it launched. Connected extensions receive the full Tools catalog immediately, even before an HTTP client initializes. Graph can show the companion and browser profiles with zero agents; each agent appears after its MCP session initializes.

Connecting a client

Paste the URL from the dashboard’s Settings page into whichever option of your client asks for an MCP server URL. Start the companion with --http-only first, or have a stdio client running. Nothing else is needed: the client only makes HTTP requests to localhost. From code, use the MCP SDK’s Streamable HTTP transport:
Each HTTP session gets its own MCP server instance and its own agent identity, exactly like a stdio client. The session id travels in the mcp-session-id header; the first request must be a POST that initialises the session. End a session with a DELETE; a client that disappears without one is dropped about a minute after its event stream closes (BROWSPARK_HTTP_GRACE_MS tunes the delay), so it does not linger in the graph.

Sandboxed clients

Some IDEs and hosted agents run MCP servers with no access to your files. For those: