Claude

Connect Scalebrowser to Claude Code and to the Claude desktop app: one over HTTP, the other over stdio.

Claude Code speaks the HTTP transport directly. The Claude desktop app validates only stdio servers in its configuration file, so it takes the daemon's own stdio mode instead.

Before you start

Everything below assumes a daemon that is already running and a token to reach it with.

Windows desktop app

The app starts the daemon for you. The token is the contents of %LOCALAPPDATA%\Scalebrowser\token, and the address it is listening on is the native_addr field of %LOCALAPPDATA%\Scalebrowser\runtime.json. That is usually 127.0.0.1:8787, but the app moves up a port when something else already holds it.

Self-hosted daemon

scalebrowser-daemon --generate-token prints a token and stores it under <data_dir>/token. The address is whatever bind_addr says, which is 127.0.0.1:8787 unless you changed it. See Install & run.

Claude Code

One command, and the server is registered:

bash
claude mcp add --transport http scalebrowser http://127.0.0.1:8787/v1/mcp \
  --header "Authorization: Bearer $SCALEBROWSER_TOKEN"

It writes to the current project unless you add --scope user. The same entry written by hand, in a project's .mcp.json or in ~/.claude.json, looks like this:

.mcp.jsonjson
{
  "mcpServers": {
    "scalebrowser": {
      "type": "http",
      "url": "http://127.0.0.1:8787/v1/mcp",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

Check it with claude mcp list; the server should report as connected.

Claude desktop app

Its claude_desktop_config.json validates stdio servers only, so point it at the daemon's own stdio mode. No token appears in this file, because the process resolves it from the data directory itself.

claude_desktop_config.jsonjson
{
  "mcpServers": {
    "scalebrowser": {
      "command": "scalebrowser-daemon",
      "args": ["--mcp-stdio"]
    }
  }
}

On Windows the binary sits beside the app; give the full path if it is not on PATH. The process becomes a relay to the daemon that already owns that data directory rather than a second daemon. See over stdio.

What the agent can do now

Ask it to open a page and it will lease a profile, bind a tab and start reading. The tool set, the page map and the failure shapes are on MCP server; what the agent is allowed to do is decided by the daemon, not by the client, so see tool profiles.