Review times
← Check an MCP server

Report · 29 September 2026

Approved for Claude isn’t ready for ChatGPT

We checked every remote server in Claude’s connector directory, all 3,286 of them already approved by Anthropic, against the reasons ChatGPT has rejected submissions. Of the 3,185 that answered, 22% would hit at least one known blocker. Count ChatGPT’s support-page rule and it’s 76%.

Passing one store’s review tells you little about the next. The stores check different things, and most of what trips servers up is mechanical: DNS, annotations, error codes, a missing page.

What we found

ServersFinding
16%
505 of 3,185
advertise Encrypted ClientHello in DNS

TLS-inspecting review proxies reset these connections with nothing in the server’s logs. It cost Stacktree three ChatGPT rejections before we traced it. 490 of the 505 are community-tier listings.

Fix: Turn ECH off for the MCP host (on Cloudflare it’s a zone setting).

69%
2,261 of 3,283
give an email address, not a web page, for support

Claude accepts an email. ChatGPT’s form asks for a support URL.

Fix: Put a /support page up with your email on it.

18%
102 of 564
leave at least one tool without explicit safety hints

ChatGPT asks you to justify readOnlyHint, destructiveHint and openWorldHint on every tool and flags missing ones.

Fix: Set all three to true or false on every tool.

16%
92 of 562
crash or return a non-standard error for a method they don’t implement

ChatGPT’s tool scan probes server/discover. In our submissions, a crash there stopped the scan.

Fix: Answer unknown methods with JSON-RPC error -32601 at HTTP 200.

39%
221 of 562
stop working when the URL has a trailing slash

Reviewers paste URLs by hand. A 404 reads as “unable to connect”.

Fix: Serve /mcp/ as well as /mcp.

55%
313 of 564
declare no outputSchema on at least one tool

OpenAI recommends structured output on every tool during review.

Fix: Declare outputSchema and return matching structuredContent.

21%
118 of 564
tell the model what to do inside a tool description

Anthropic’s submission form asks you to confirm descriptions contain no instructions for the model. Naming a sibling tool isn’t counted here.

Fix: Describe what the tool does, as facts.

9%
52 of 564
have tools without a human-readable title

Clients fall back to the raw name, and reviewers ask for titles on new submissions.

Fix: Add title to each tool.

4%
145 of 3,283
link a privacy policy that doesn’t load

Every store requires one that works.

Fix: Fix the link in your listing.

3%
92 of 3,283
have a name longer than ChatGPT’s 30 characters

ChatGPT’s display name field stops at 30.

Fix: Pick a shorter name for that store.

Check yours

Paste your server’s URL into the server check. It runs the same checks, takes under a minute and stores nothing. From a terminal, npx mcplane preflight --url https://your-server/mcp adds the TLS 1.2 handshake, tools behind sign-in and your plugin repo.

How we checked

On 29 September we read Anthropic’s public directory feed, the one claude.ai/directory uses, and connected to each of the 3,286 remote servers it lists the way a store’s scanner does. That meant no sign-in, no client registration, about 20 requests per server, six servers at a time, with a user agent linking to the tool. 3,185 answered. 564 list their tools without sign-in, and we checked all 6,527 of those tools. Tools behind sign-in weren’t seen, so the tool rows cover those 564 servers only.

The checks are mcplane’s, which is open source. Two of them come from our own ChatGPT rejections rather than OpenAI’s documentation: the ECH check and the unknown-method probe. We left out checks the feed can’t answer fairly: icons (the feed doesn’t carry them), ChatGPT’s domain challenge (a Claude connector has no reason to serve it) and OAuth metadata (some servers use API keys instead).

We publish counts only. No server is named here, and the per-server results aren’t shared. The first pass also showed two of our own checks were too eager: they flagged descriptions that mention a sibling tool, and product prices as upsells. We fixed both and recounted before publishing.