---
title: "Which clients work"
description: "The MCP clients that can drive a Scalebrowser profile: the ones that run on your machine and reach the daemon directly, and the ones in somebody else's cloud that need a relay."
canonical: "https://scalebrowser.net/docs/agents/mcp-clients"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://scalebrowser.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Which clients work

> The MCP clients that can drive a Scalebrowser profile: the ones that run on your machine and reach the daemon directly, and the ones in somebody else's cloud that need a relay.

Everything on this page speaks the same MCP server. What differs is only where the client runs, and that decides which of two paths it takes.

## Two paths
| Where the client runs        | How it reaches the daemon                                                        |
| ---------------------------- | ---------------------------------------------------------------------------------- |
| On your machine              | Straight to `127.0.0.1`, over HTTP with your token, or over stdio.                 |
| In somebody else's cloud     | Through the relay, over OAuth. See [Remote access](/docs/agents/remote).            |

A client in a browser tab cannot reach your loopback address, and no setting inside it changes that. That is the whole distinction.

## Clients that run on your machine
Each has a page, because each spells its configuration differently and one of them fails silently if you get it wrong.

<CardGroup columns={2}>
  <Card title="Claude" href="/docs/agents/mcp-clients/claude">
    Claude Code speaks HTTP directly. The desktop app validates only stdio servers, so it takes the daemon's own stdio mode.
  </Card>
  <Card title="Cursor" href="/docs/agents/mcp-clients/cursor">
    One JSON file, per project or for everything you open.
  </Card>
  <Card title="Codex" href="/docs/agents/mcp-clients/codex">
    TOML rather than JSON, one table per server. Which transport it uses follows from which keys are present.
  </Card>
  <Card title="GitHub Copilot" href="/docs/agents/mcp-clients/copilot">
    VS Code's `mcp.json`. Note the top-level key: `servers`, not `mcpServers`.
  </Card>
  <Card title="Antigravity" href="/docs/agents/mcp-clients/antigravity">
    One configuration for the IDE and the CLI together, with `serverUrl` rather than `url`.
  </Card>
  <Card title="WSL & containers" href="/docs/agents/wsl-and-containers">
    An agent in WSL or a container cannot reach the Windows daemon on `127.0.0.1`. This is the way across.
  </Card>
</CardGroup>

<Warning>

**Two spellings fail without saying so.** Claude Code reads an entry that has a `url` but no `type` as a stdio server and skips it. And a stdio entry without `--data-dir` or `--config` looks in the daemon's default directory, which is not the one the desktop app uses.

Both are covered on the pages above, and both are held by a gate that reads the configuration blocks in this documentation.

</Warning>

## Clients in someone else's cloud
These need [Remote access](/docs/agents/remote), which is off until you switch it on.

| Service                             | Works                                | Verified                                       |
| ----------------------------------- | ------------------------------------ | ------------------------------------------------ |
| Claude on the web, desktop, mobile  | yes                                  | Driven end to end, tool call answered           |
| Grok                                | yes                                  | Driven end to end                                |
| ChatGPT                             | Business, Enterprise and Edu only    | Driven on Plus: the switch does not exist there  |
| Gemini Enterprise, Gemini CLI       | yes                                  | Vendor documentation                             |
| Gemini consumer app                 | no                                   | Takes only partnered connectors                  |
| Mistral, now "Vibe"                 | no                                   | Driven: the connect button has no effect         |

## Anything else
The daemon speaks the standard Streamable HTTP transport at `/v1/mcp` and negotiates the protocol revision, so a client not listed here works if it speaks MCP.

What it needs is the address, the bearer token in an `Authorization` header, and, if you reach the daemon under a public name, that name in `[mcp] allowed_hosts`.

## Next
- [MCP server](/docs/agents/mcp-server): the transports, the loop, and the page map.
- [Tool reference](/docs/agents/tools): what the agent gets once it is connected.
- [Remote access](/docs/agents/remote): the relay, and the six rules behind it.
