# Connecting a client

> Copy-ready setup for Claude, Codex, Gemini CLI, GitHub Copilot and any other MCP client.

The **Connect a client** card walks you through each supported client with copy-ready
snippets that already carry your configured port (the examples below use the default,
18181). All of the local clients connect to the endpoint directly, tunnel-free.

## Claude {#claude}

Claude Chat (Desktop App) and Claude Code (CLI/Desktop App) have separate setups;
connecting one does not connect the other.

- **Claude Chat (Desktop App)** — the simplest path. The one-click **MCP bundle
  (`.mcpb`)** ships with the app: press **Install in Claude Desktop** (or **Save as…**
  to keep the file) and confirm the install dialog in Claude Desktop. The bundle carries
  a tiny local bridge from Claude's stdio transport to this station's HTTP endpoint; the
  Node runtime it needs comes with Claude Desktop. If you changed the port, set the
  endpoint in the install dialog to match.
- **Claude Code (CLI/Desktop App)** — one terminal command:

```
claude mcp add --transport http ganterlab http://127.0.0.1:18181/mcp
```

## Codex (CLI / IDE) {#codex-cli--ide}

Codex connects to the loopback endpoint directly as a Streamable HTTP server. Its
`codex mcp add` command only covers stdio servers, so the HTTP form goes in
`~/.codex/config.toml`:

```
[mcp_servers.ganterlab]
url = "http://127.0.0.1:18181/mcp"
```

## Gemini CLI {#gemini-cli}

The Gemini CLI connects over its `httpUrl` server type in `~/.gemini/settings.json`.
(The Gemini web chat has no tunnel-free local path, so only the CLI is offered.)

```
{
  "mcpServers": {
    "ganterlab": {
      "httpUrl": "http://127.0.0.1:18181/mcp"
    }
  }
}
```

## GitHub Copilot {#github-copilot}

Two routes, with two different top-level keys:

- **VS Code** — add the server to `.vscode/mcp.json` (or run "MCP: Open User
  Configuration" from the command palette), then enable it in the Copilot Chat tools
  picker:

```
{
  "servers": {
    "ganterlab": {
      "type": "http",
      "url": "http://127.0.0.1:18181/mcp"
    }
  }
}
```

- **CLI** — the same server shape under `mcpServers` in `~/.copilot/mcp-config.json`
  (or run `/mcp add` inside the CLI and choose the HTTP server type).

## Cloud-routed clients are not supported {#cloud-routed-clients-are-not-supported}

ChatGPT's connectors, the Gemini web chat and anything else that reaches the station from
the internet cannot use this endpoint, and the page offers no setup for them. The endpoint
refuses any request whose `Host` header is not local, before the session handshake, so a
tunnel does not help: a tunnel forwards its own public host, which is exactly what is
refused. The station is not published to the network for agents, and there is no switch
that makes it so.

## Any other MCP client {#any-other-mcp-client}

Any client that runs on this computer and takes an HTTP MCP server URL can use the
station: point it at the endpoint shown on the page.
