The state of MCP auth, November 2026: I scanned 25 public servers A scan of 25 public Model Context Protocol (MCP) servers on 2026-11-02 found that only 12 of the 25 enforce authentication, 8 of the 20 reachable servers accept unauthenticated access, and just 2 of the 20 advertise OAuth 2.1 discovery metadata, RFC 8707 resource indicators, or PKCE S256 support. The scan was run with `patchbay audit`, a free CLI built by the author that performs 13 checks across auth presence, OAuth metadata completeness, scopes, secrets and transport, and probe failures. Three servers produced findings the author rated critical and received responsible-disclosure emails with a 90-day embargo; Chainflip's broker-as-a-service MCP was removed from that list after it documented that its broker tools are intentionally no-auth because value transfer is signed on-chain by the user. MCP Model Context Protocol has an auth story on paper: OAuth 2.1 with PKCE, dynamic client registration, resource indicators per RFC 8707. In practice I kept running into servers that were missing most of it. So I spent a week building patchbay audit , a free CLI that pokes an MCP server and reports what it finds. Then I pointed it at 25 public endpoints I could find. Here's what I learned. The numbers 25 servers scanned on 2026-11-02. All are publicly listed in community directories or vendor docs. The URL list is in bench/mcp-sweep-targets.txt https://github.com/GodSmasher/patchbay/blob/main/bench/mcp-sweep-targets.txt . | Reachable | 20 / 25 | | Enforce authentication | 12 / 25 | | Reachable + public no auth | 8 / 20 | | Of those public: expose a mutating tool | 2 / 8 | | Advertise OAuth 2.1 discovery metadata | 2 / 20 | | Advertise resource indicators supported RFC 8707 | 2 / 20 | | Advertise PKCE S256 in code challenge methods supported | 2 / 20 | Three servers surfaced findings I thought were critical. All three got a responsible-disclosure email with a 90-day embargo before any public write-up names them. One of them Chainflip's broker-as-a-service MCP came back within hours with a link to their public AI documentation: the broker tools are intentionally no-auth because the actual value transfer is signed on-chain by the user, not initiated server-side. Public-by-design, documented, correctly scoped. So that one is off the critical list. Public-by-design servers like DeepWiki and Chainflip are now flagged as info, public read-only or user-signed pattern rather than critical. That distinction matters more than it sounds: the first version of my tool called DeepWiki "critical no auth required", which would have made the whole post indefensible on day one. The Chainflip response is the second lesson: when a server links a /.well-known/ai-catalog.json or an AI-documentation page explicitly saying "no auth required", the audit should read that first and downgrade. What the tool actually does patchbay audit