MCP Compatible Clients: Claude Code, Cursor, Codex CLI

Paste this into Claude Code and you have a working MCP connection in under a minute:
claude mcp add --transport http moltline-catalog https://mcp.moltlinestudio.com/catalog
No account. No API key. No signup. If the tools appear, your client speaks MCP to remote servers and your setup is confirmed.
An MCP-compatible client speaks JSON-RPC 2.0 over one of the spec's two standard transports: stdio, for a local process the client launches, or Streamable HTTP, for a remote URL. Servers built on the 2025 revisions of the spec, Moltline's included, also expect the initialize handshake before anything else.
Most current coding tools and AI assistants can connect to remote MCP servers. This post shows how each client below adds one, checked against each vendor's own documentation on 10 November 2026, and explains what makes a server pass the compatibility check at the protocol layer.
MCP Compatible Clients at a Glance
Client | How to add a remote server | Vendor docs |
|---|---|---|
Claude Code |
| |
Claude (claude.ai and the Claude apps) | Add a custom connector and paste the server URL | |
Cursor | A | |
Codex |
| |
VS Code | MCP: Add Server from the Command Palette, then HTTP and the server URL | |
Gemini CLI |
|
Every one of them adds a remote server by URL, so Streamable HTTP is the transport to standardise on for hosted servers.
What Makes a Server MCP Compatible
The table above shows how clients connect. Understanding why a server passes or fails that check requires looking at the protocol layer itself.
Every MCP-compatible server must speak JSON-RPC 2.0 over its chosen transport. On the 2025 revisions, the first thing a client sends after connecting is an initialize request. If the server does not respond with a conformant JSON-RPC 2.0 object containing the protocol version and capabilities, the client stops there. No tools load. The handshake is the gate.
For HTTP servers specifically, three things must be correct:
Endpoint reachability: the server must be accessible at a stable URL, conventionally at
/mcpor the server root.Content-Type headers: standard JSON responses require
application/json; SSE streams requiretext/event-stream. Wrong headers break parsing silently.Sessions, if the server uses them: under the 2025 revisions a server may return an
Mcp-Session-Idheader frominitialize, and the client must send it on every later request. Moltline's servers work this way: a request without it gets HTTP 400 withBad Request: Missing session ID. The 2026-07-28 revision retires sessions, so check which revisions a server accepts before you build a client around either model.
Auth handling is where many servers create friction without explaining it. Public tools should require no key at all. If a server gates tools behind authentication, it must document that scheme explicitly rather than returning an opaque error. A client that fails silently on a missing key looks broken to the developer, even if the server is technically correct.
To see what end-to-end compatibility actually looks like, paste this URL into Claude Code or Cursor:
https://mcp.moltlinestudio.com/catalog
No account, no API key, no signup. The tools appear as soon as the initialize handshake completes. To check the same server without a client, read its server card, which lists the transport, the protocol revisions it accepts and every tool with its tier:
curl -s https://mcp.moltlinestudio.com/catalog/.well-known/mcp/server-card.json
For context on how the underlying infrastructure is structured, see what an MCP server actually is.
Common Failure Modes
Partial MCP implementations are the most frequent cause of broken integrations:
Missing
tools/listortools/call: the client cannot discover or invoke tools; the connection appears to succeed but nothing works.Incorrect
Content-Type: response bodies are unparseable even when the JSON is valid.A dropped session header: on a server that uses sessions, every request after
initializefails with a 400.Missing CORS headers: browser-based MCP clients are blocked entirely. This is easy to overlook if you only test from a CLI client.
For production deployments, technical requirements for implementing licensed MCP servers covers these failure modes in detail alongside the MCP specification.
Setting Up MCP in Each Compatible Client
Once you know a server speaks valid MCP, the next step is connecting your client to it. Each client has a different config method.
Claude Code
claude mcp add --transport http moltline-catalog https://mcp.moltlinestudio.com/catalog
Claude Code's docs list HTTP (recommended for remote servers), SSE (deprecated), stdio and WebSocket. For a hosted server, HTTP is one command with no config file to maintain. Check the result with /mcp in a session or claude mcp list in your shell.
Cursor
Add the server to ~/.cursor/mcp.json for all projects, or to .cursor/mcp.json in a project for a version-controlled config you can commit and share across a team. You can also manage servers from Customize in Cursor's sidebar. For a concrete per-client example, see wiring Context7 into each client; the same url entry works in any client that reads mcpServers JSON:
{
"mcpServers": {
"moltline-catalog": {
"url": "https://mcp.moltlinestudio.com/catalog"
}
}
}

If you are wiring an image MCP server into Cursor, the same mcp.json pattern applies.
Codex
Codex adds a remote server with one command:
codex mcp add moltline-catalog --url https://mcp.moltlinestudio.com/catalog
It can also read the server from ~/.codex/config.toml:
[mcp_servers.moltline-catalog]
url = "https://mcp.moltlinestudio.com/catalog"
Codex supports stdio and Streamable HTTP servers, and its CLI and IDE extension share that config file. Type /mcp in the composer to see connected servers. OpenAI's Codex docs do not list a --mcp-server flag, so use codex mcp add or the config file.
Claude (claude.ai and the Claude apps)
Remote servers are added as custom connectors: paste the server URL. Custom connectors work on the Free, Pro, Max, Team and Enterprise plans, and a Free account can add one. On Team and Enterprise, an owner adds connectors under Organization settings > Connectors (Claude Help Center).
VS Code
Run MCP: Add Server from the Command Palette, choose HTTP and enter the server URL (VS Code docs).
Gemini CLI
Run gemini mcp add --transport http moltline-catalog https://mcp.moltlinestudio.com/catalog. Servers are saved in .gemini/settings.json, or in ~/.gemini/settings.json with --scope user (Gemini CLI docs).
ChatGPT
ChatGPT connects custom MCP servers on ChatGPT web for Business and Enterprise/Edu workspaces. Admins and owners, and on Enterprise/Edu the members they authorise, add a server under Plugins and publish it for the workspace (OpenAI Help Center, checked 10 November 2026). The sections above cover clients where one person can add a server in a minute.
Hosted MCP Servers That Are Compatible Today
If you need a concrete set of servers to test against right now, moltlinestudio.com/servers.html lists 22 hosted MCP servers covering 160 tools, each at a direct Streamable HTTP endpoint under mcp.moltlinestudio.com/<server>.
110 tools are free. No account, no API key, no signup. Paste the endpoint; the tools appear.
The remaining 50 tools are behind a $19/month All-Access licence. Payment is in cryptocurrency. moltlinestudio.com/api also answers with a live HTTP 402 challenge (x402 standard), so an agent can discover the price and settle on-chain with no human in the loop.
Audit results are public. MCPize audited the catalog endpoint and scored it A, 94/100, and the result page is open. Read an audit like that before wiring any server into a production agent. It is a more reliable signal than a self-reported "MCP compatible" claim.
Choosing the Right MCP Client for Your Stack
Three rules that cut through the noise:
Standardise on Streamable HTTP for hosted servers. Every client in the table adds a server by URL.
Verify with a live endpoint before committing. Paste
https://mcp.moltlinestudio.com/catalog. If the tools appear, your stack is confirmed. Takes under a minute.Check what the server speaks. Its server card, or its
initializeresult, tells you the protocol revision and so whether it expects a session.
If you are publishing an MCP server, get an MCPize audit before you ship. Results are public, so downstream developers can check your result URL themselves rather than taking your word for it.
Conclusion
Every client above adds a remote server by URL. The gap between agents that connect and agents that stall is almost always a misconfigured transport, a mistyped URL or a dropped session header.
Verify now: claude mcp add --transport http moltline-catalog https://mcp.moltlinestudio.com/catalog. If the tools load, your foundation is solid.