Skip to main content
Every guide here assumes you already have a URL from heymcp share. If you don’t, start with the quickstart.

Start with Claude Code

It is the most permissive of the clients, it’s the only one where adding a connector is a single command, and — crucially — it tells you when something goes wrong. Get your server working there first, then move to the clients that fail quietly.

The matrix

Neither Claude.ai nor ChatGPT can send a static bearer token. Their dialogs offer OAuth credentials or nothing — there is no header field. Share without --bearer for either of them.With Claude.ai this matters more than it sounds: it will fail silently, with nothing in the UI to tell you why.

Protocol revisions

If your server negotiates a revision one of these can’t speak, the probe warns you by name before that client ever tries.

The silent-failure problem

This is the reason HeyMCP exists, so it’s worth stating plainly. When Claude.ai can’t use your MCP server, it does not say so. The connector just doesn’t appear, or appears and never calls anything. There is no error in the UI, nothing in the browser console, and frequently nothing in your own server logs either — because the request that failed never reached your code. The two most common causes are both invisible from your side: The handshake probe catches both before you ever open a client. If a connector isn’t behaving, read the handshake report first — it is faster than any amount of clicking.

Pick your client

Claude Code

One command. Start here.

Claude.ai

Custom connectors in the web app.

ChatGPT

Needs Developer mode switched on.

Grok

grok.com/connectors → Custom.

Cursor

A mcp.json entry.

VS Code

Copilot’s MCP configuration.

Gemini

Gemini CLI’s settings.json.