Skip to main content
You need a local MCP server running somewhere — a port, a .test hostname, a Herd or Valet site. If you don’t have one yet, any of the official MCP SDK examples will do.
1

Install the CLI

macOS and Linux, Intel and ARM. One static binary, checksum-verified. See Installation for what it does and how to control where it lands.
2

Sign in

Opens your browser once and signs the CLI in. Sign-in is GitHub only. If you don’t have an account yet, this creates one.
3

Share your server

Point it at wherever your MCP server lives:
myapp.test, :8000, 8000 and full URLs all work too — see heymcp share.
That first URL is yours to hand to an agent. The handshake ok line means HeyMCP already connected to your server as an MCP client and checked it over — if something is wrong, you’ll see it here rather than finding out from a client that says nothing at all.
4

Hand the URL to an agent

The quickest client to prove it with is Claude Code, because it’s the only one where the whole thing is a single command:
For everything else — Claude.ai, ChatGPT, Grok, Cursor, VS Code, Gemini — see Connect a client.
5

Watch it happen

Open the inspector URL the CLI printed. Every frame the agent exchanges with your server appears there live, folded into a readable timeline of attempts rather than raw JSON-RPC.Ask the agent to use one of your tools and watch the row appear.

What to do next

Read the handshake report

The handshake ok line is a summary. The full report lists everything about your schemas that will bite with some client.

Keep the URL stable

Your account’s slug doesn’t change between runs, so a connector you add today still works tomorrow.

Lock the tunnel down

A public URL is public. --bearer puts a token in front of it.

Nothing showed up?

Most MCP client failures are silent. This page is the playbook.