Clients & rendering
Which AI clients connect to Soil Cloud over Remote MCP, what Soil's responses look like, and where your connected clients are listed.
Soil Cloud connects over Remote MCP + OAuth. How smoothly a given client connects depends on how fully that client supports remote MCP servers and OAuth · something that's evolving fast across the ecosystem.
Looking for connect steps?
This page explains how connection and rendering work. For the exact, copyable setup for your client · ChatGPT, Claude, Claude Code, Codex, Cursor, Grok, Zed, Gemini CLI · go straight to the client guides.
Supported clients
ChatGPT, Claude (and Claude Code), Codex, Cursor, Grok, Zed, and Gemini all connect through the standard flow, and so does any other MCP client that supports remote servers with OAuth. The same account works everywhere: save in one client, load in another. For exact, per-client connect steps, see the client guides.
Connecting: auto-registration (DCR)
To complete the "paste URL → log in" flow without anyone manually registering an OAuth client, a client uses Dynamic Client Registration (DCR). Soil's OAuth bridge implements DCR (RFC 7591), so a supporting client registers itself automatically the first time it connects · you never supply a client id or secret.
Add the MCP URL · https://mcp.nativesoil.dev/mcp/soil · in your client's
connector settings, sign in (with Google or with email and password) when
prompted, and run soil info to confirm. Once connected, the connection
renews itself silently with refresh tokens; you won't be asked to sign in
again and again.
No client can connect? Use copy-paste.
There's never a dead end. The copy-paste backstop works in any tool · including non-MCP ones like Xcode: open the console dashboard, copy your handover's restore prompt, and paste it.
What Soil's responses look like
Every soil command answers with the same fenced ASCII card in every
client: a masthead, a left rail, a readiness gauge, and a clear next step. It
renders monospaced wherever code blocks do, so the card reads identically in
ChatGPT, Claude, Codex, Cursor, Grok, Zed, Gemini, and anything else. A saved
handover, for example, comes back like this:
┌─ SOIL · handover saved ──────────────────── #042 ─
│
│ Auth refactor: OAuth bridge
│ from Claude · Opus 4.8 · 17 sections
│
╞═ verification ══════════════════ Soil's own check
│
│ readiness █████████▒ 92% ◆ strong
│ passes extract → verify → drift check
│ drift check ✓ passed · forecast: a cold model continues
│ sections 17 / 17 captured
│
├─ what's inside ───────────────────────────────────
│
│ ▸ executive handover ▸ decisions (4)
│ ▸ current task ▸ blockers (1)
│ ▸ architecture map ▸ next steps (3)
│ ▸ implementation state ▸ restore prompt ✓
│
├─ safety omission · by design ─────────────────────
│
│ ▸ An API key is referenced (configured in .env)
│ · described, never copied. The next model
│ knows it exists and where, without ever
│ seeing the secret.
│
├─ safe ────────────────────────────────────────────
│
│ ✓ projections only · no prompts · payloads · secrets · paths
│
└─ load anywhere · any thread, model, or provider
❯ soil load #042When the extracting model flagged gaps during the save, the receipt also shows
a gaps section: it lists what the model itself flagged as not captured.
Soil still detects which client is calling (from the request's User-Agent and
client info), but today that detection feeds telemetry and support, not the
rendering: the card is the same everywhere.
Your connected clients
Every AI client that connects this account over OAuth is listed on the Connect page of the console dashboard, with the client's name and when it was last seen. Each client has its own Disconnect button, and disconnecting truly revokes that client's access: its tokens stop working, and it has to sign in again to come back.
Accounts are keyed to your sign-in (Google or email): the same login across different clients shares the same handovers. Save in one client, load in another.
The bigger picture
Remote MCP is the primary connectivity tier, but it's one of three. See connectivity for how Remote MCP, Soil Desktop's local MCP, and copy-paste fit together, and when to reach for each.