{"slug": "2967-mcp-servers-advertise-oauth-8-meet-the-july-spec", "title": "2,967 MCP servers advertise OAuth. 8% meet the July spec.", "summary": "A developer scanned the official MCP registry's 32,380 unique servers and found that of the 2,967 advertising OAuth, only 8% meet all of the July 2026 authorization spec requirements. While older OAuth mechanisms pass at rates above 92%, the two newly hardened additions — RFC 9207 `iss` and Client ID Metadata Documents — pass at just 19% and 23% respectively, a gap the developer attributes to an incomplete migration across roughly 2,610 operators rather than indifference to security.", "body_md": "I scanned every server in the official MCP registry and checked the ones that advertise OAuth against the `2026-07-28` authorization requirements.\n\nRead-only throughout: one `initialize` per host to see what it answers, then public metadata documents. No tool calls, no auth attempts, no probing.\n\n105,315 entries are **32,380 unique servers** — the registry keeps every version of every server, so entry counts overstate the ecosystem by about 3.2x. (Someone else [counted this three days before me](https://dev.to/leroy_jenkins_951c84b2838/i-counted-the-mcp-registry-101219-entries-are-31309-servers-and-23-have-no-source-repo-33a6) and got the same ratio, which is a good sign for both of us.)\n\nOf those, **19,789 advertise a remote endpoint**, across **13,088 unique hosts**.\n\nI asked each host to `initialize`:\n\n| answered something | 12,282 (94%) | \n| completed an anonymous handshake | 6,957 (53%) | \n| returned 401/403 | 4,020 | \n| didn't connect at all | 806 | \n\nMedian response 811 ms.\n\nOf the servers demanding auth, 2,967 pointed at protected-resource metadata. Those are the ones worth grading — they implemented OAuth on purpose.\n\n| check | pass | \n|---|---|\n| PRM document present | 97% | \n| `resource` matches the server (audience binding) | 96% | \n| authorization server metadata reachable | 96% | \n| PKCE S256 | 95% | \n| issuer is HTTPS and self-consistent | 94% | \n| dynamic client registration | 92% | \n| **RFC 9207 `iss`** | **19%** | \n| **Client ID Metadata Documents** | **23%** | \n| **all of the above** | **8%** | \n\nThe older OAuth machinery is in good shape. The two things the July spec newly hardened are not.\n\nThat shape matters more than the 8%. This isn't \"nobody cares about security\" — it's a migration that hasn't happened. Everything from before is above 92%; the two 2026-07-28 additions sit at 19% and 23%.\n\nI expected the failures to pile up on a handful of identity providers, which would make this someone else's bug to fix. They don't.\n\nSo there are roughly **2,610 operators**, each of whom would have to do this themselves.\n\nWhile looking into this I found a maintainer's issue titled:\n\n*\"OAuth AS proxy: support Client ID Metadata Documents (CIMD) and RFC 9207 iss **so ChatGPT/Claude can connect** without DCR\"*\n\nCIMD is the spec's preferred registration path now, with DCR as the fallback. If you skip it you're not just weaker — depending on the client, you may not be reachable at all.\n\nI read declarations, not behavior. Credential reuse across issuers, issuer-bound client credentials, and whether a server actually validates token audience don't appear in metadata. A server that doesn't declare RFC 9207 support is certainly not doing it; one that declares it might still get it wrong.\n\n**So 19% is a ceiling, not a floor.** The real conformance rate is at most this, probably lower.\n\nThe population is biased the same direction: these are servers whose operators implemented OAuth deliberately. Servers that skipped auth entirely aren't in this count at all.\n\nMethod is reproducible from the description above; happy to share the raw per-host results with anyone who wants to verify.", "url": "https://wpnews.pro/news/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec", "canonical_source": "https://dev.to/baramwork/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec-5d1m", "published_at": "2026-09-17 06:04:11+00:00", "updated_at": "2026-09-17 06:53:41.728388+00:00", "lang": "en", "topics": ["agent-protocols", "ai-agents", "ai-infrastructure", "developer-tools"], "entities": ["MCP", "OAuth", "ChatGPT", "Claude", "RFC 9207", "Client ID Metadata Documents"], "alternates": {"html": "https://wpnews.pro/news/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec", "markdown": "https://wpnews.pro/news/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec.md", "text": "https://wpnews.pro/news/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec.txt", "jsonld": "https://wpnews.pro/news/2967-mcp-servers-advertise-oauth-8-meet-the-july-spec.jsonld"}}