57% of public MCP servers break directory rules

2,000 hosts from the official MCP Registry, checked against ChatGPT's and Claude's published rules. What fails most, why, and the few lines that fix it.

Research4 min readBy The Transica team
57%of public MCP servers fail at least one directory rule
Research
On this page
  1. 01What the registry looks like
  2. 02Which rules fail most
  3. 03Servers that ask for sign-in
  4. 04How to fix the most common failures
  5. 05How this was measured
  6. 06What this doesn't show
  7. 07Check your own server
  8. 08Sources

Of 2,000 remote hosts sampled from the official MCP Registry, 1,113 let anyone read their tools. 635 of those, or 57%, fail at least one rule ChatGPT or Claude publishes for its directory. Most fail for the same small reason: their tools don't carry a few one-word labels.

1,113 public MCP servers, checked against ChatGPT's and Claude's rules
Fail at least one rule
57% 635 of 1,113
Pass everything checked
43% 478 of 1,113

The check is open source, so you can run it on your own server:

npx mcp-directory-check https://example.com/mcp

What the registry looks like

On 6 November 2026, the official MCP Registry listed 57,747 servers, covering 28,572 remote hosts over Streamable HTTP.

Of 2,000 hosts checked
  • Answered at all1,933 (97%)
  • Spoke MCP or asked for sign-in1,794 (90%)
  • Let anyone read their tools1,113 (56%)
  • Asked for sign-in first675 (34%)

So 10% of listed hosts in the sample didn't work as MCP servers at all: 67 didn't answer, and 139 answered with something else.

Which rules fail most

Among the 1,113 servers with readable tools:

Share of servers failing each rule
  • ChatGPT: read-only, destructive and open-world hints47%
  • Claude: read-only or destructive hint27%
  • Claude: human-readable title25%
  • Both: sign-in metadata7%
  • Both: descriptions that instruct the model2%
  • Both: one tool both reads and changes data1%
RuleDirectoryServers failingShare
Read-only, destructive and open-world hints set on every toolChatGPT51947%
Every tool says whether it's read-only or destructiveClaude29527%
Every tool has a human-readable titleClaude27525%
Sign-in metadata names this server correctlyBoth797%
Descriptions describe the tool and don't instruct the modelBoth212%
No single tool both reads and changes dataBoth91%
Servers failing at least one rule, by directory
  • ChatGPT585 (53%)
  • Claude461 (41%)

The other 478 (43%) pass everything this check can read.

Most of the failures are missing labels, not bad tools: 517 of the 635 failing servers fail only on titles and hints. The tool may work well, but the AI app and the reviewer can't tell whether it changes anything.

Servers that ask for sign-in

These tools can't be read without an account, so only the sign-in setup was checked. Among the 675:

ProblemServersShare
Protected-resource metadata missing or wrong11717%
401 without the right WWW-Authenticate header, or a 403 instead9013%
No way for AI apps to register as a client112%

Each of these can stop an AI app from starting sign-in at all. How MCP sign-in should work.

How to fix the most common failures

Most servers need only a few lines on each tool:

{
  "name": "search_products",
  "title": "Search products",
  "description": "Searches the catalog by keyword and returns matching products.",
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "openWorldHint": false
  }
}

Set openWorldHint to true when a tool reaches people or services outside your product, such as sending an email. Set all three explicitly: ChatGPT's rules ask for each one, and Claude's need a title and a read-only or destructive hint. More on tool design.

How this was measured

  • Sample. Hosts were taken in a fixed pseudo-random order from the registry's latest versions, with at most 25 under one registered domain, so a single platform can't dominate. Each host was checked once. The 2,000 hosts came from 1,719 domains.
  • Requests. Only initialize, tools/list and public metadata reads, three hosts at a time. No tool was called and nothing signed in.
  • Left out. OpenAI's domain verification file, because a server only needs it once it's submitted.
  • Rules. The check's rules were read from each directory's published documents in October 2026. Each result in the tool links to its source.
  • Sensitivity. Counting one server per domain gives a similar result: 528 of 957, or 55%.

What this doesn't show

Failing a rule isn't the same as being rejected, and passing isn't approval. Directories also review privacy, policy and sign-in with a real account, and test every tool live.

Many of these servers are side projects or internal tools that aren't trying to get listed, so this describes the registry, not submissions to ChatGPT or Claude. Hints and descriptions are checked by rules, not read by a person, so a few results will be wrong in either direction.

The script is public, and server names aren't published here.

Check your own server

  • In a terminal: npx mcp-directory-check https://example.com/mcp
  • In CI: the GitHub Action fails a build when a rule breaks.
  • In a browser: the MCP directory check, with no install or account.

Sources

Read on 6 and 7 November 2026.

See how AI agents use your site today.

Free for one page. No account required. Only you can open the report.