Remote MCP auth patterns compared
Pick between an open server, an API key and OAuth with or without client registration, and see what each looks like to an agent and in this directory. Of 817 reachable endpoints, 263 need no credentials and 533 publish OAuth metadata.
Steps
- Decide who the server is for: a public docs server can stay open, a product server acts for a signed-in user.
- Open: list tools to any client and keep anything sensitive out of reach.
- API key: answer 401 with a message a person can act on; an agent cannot register itself for a key.
- OAuth: publish protected resource metadata so a client finds the flow without a person wiring it.
- Test the 401 challenge, the metadata documents and PKCE with S256 before launch.
What the sources say
- Ora's catalog grades auth by fit: docs MCP servers should be public and product MCP servers should require OAuth. (ora.ai, read 5 November 2026)
- Ora checks OAuth metadata under RFC 8414 as a way for agents to discover the sign-in flow automatically. (ora.ai, read 5 November 2026)
- Ora checks that the OAuth flow supports PKCE with the S256 method. (ora.ai, read 5 November 2026)
- The 2026-07-28 MCP specification requires servers to implement OAuth 2.0 Protected Resource Metadata (RFC 9728). (modelcontextprotocol.io, read 4 November 2026)
- Clients obtain a client ID through Client ID Metadata Documents, pre-registration or Dynamic Client Registration; the specification marks CIMD as SHOULD and DCR as MAY and deprecated. (modelcontextprotocol.io, read 4 November 2026)
- Ora says that when an MCP server requires authentication, a scan returns MCP_AUTH_REQUIRED with no score or grade. (ora.ai, read 5 November 2026)
The four patterns in the directory
| Pattern | Endpoints | Tools listed | What a client sees |
|---|---|---|---|
| No authentication | 263 | 263 | The server listed its tools to a client that sent no credentials. |
| API key | 19 | 0 | The server answered 401 or 403 and asks for a key or bearer token with no OAuth metadata for an agent to follow. |
| OAuth with client registration | 517 | 0 | The server publishes OAuth metadata and a registration endpoint, so a client can register itself without a human filling in a form first. |
| OAuth without client registration | 16 | 0 | The server publishes OAuth metadata but no registration endpoint, so a client must be registered by hand or identified by a client ID metadata document. |
What a scanner expects
Ora's catalog grades the match between a server's auth and its job: docs servers should be public and product servers should require OAuth, and its check asks whether the auth matches what the server does. A server that requires sign-in cannot be scored from outside at all; Ora returns MCP_AUTH_REQUIRED with no score or grade. How Ora tests an MCP server and the OAuth checks.
The OAuth route itself, with client ID metadata documents and dynamic registration, is in the OAuth guide.