Moltline Studio Get a license

Blog

MCP Compatible Clients: Claude Code, Cursor, Codex CLI

Professional header image for comparison analysis: MCP Compatible Clients Compared: Claude Code, Cursor, Cod...

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 mcp add --transport http <name> <url>

Claude Code docs

Claude (claude.ai and the Claude apps)

Add a custom connector and paste the server URL

Claude Help Center

Cursor

A url entry under mcpServers in ~/.cursor/mcp.json or .cursor/mcp.json

Cursor docs

Codex

codex mcp add <name> --url <url>, or a [mcp_servers.<name>] table with a url in ~/.codex/config.toml

OpenAI Codex docs

VS Code

MCP: Add Server from the Command Palette, then HTTP and the server URL

VS Code docs

Gemini CLI

gemini mcp add --transport http <name> <url>

Gemini CLI docs

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 /mcp or the server root.

  • Content-Type headers: standard JSON responses require application/json; SSE streams require text/event-stream. Wrong headers break parsing silently.

  • Sessions, if the server uses them: under the 2025 revisions a server may return an Mcp-Session-Id header from initialize, and the client must send it on every later request. Moltline's servers work this way: a request without it gets HTTP 400 with Bad 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/list or tools/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 initialize fails 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"
    }
  }
}
Setting Up MCP in Each Compatible Client
Setting Up MCP in Each Compatible Client

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:

  1. Standardise on Streamable HTTP for hosted servers. Every client in the table adds a server by URL.

  2. 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.

  3. Check what the server speaks. Its server card, or its initialize result, 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.