We recently shipped a remote MCP server so people can verify email addresses from inside Claude, ChatGPT and Cursor. (Disclosure: I work on ClearBounce, the service behind it.) The protocol itself is pleasant to implement. What cost us time was everything around it — the parts that are not in the spec, or are in the spec but that clients and directories disagree about.
Here are four of them, with what we actually observed.
1. Echo the client's protocol version. Do not force your own.
Our initialize handler proudly returned the newest protocol version we supported. Claude Code refused to connect:
Server's protocol version is not supported: 2026-07-28






