OMCP OAuth Lab

RFC 9728 · REMOTE MCP

Protected resource metadata for MCP.

The protected resource document tells an MCP client what resource it is accessing and which authorization servers are trusted to issue access tokens for it.

Discovery is identity-sensitive. Treat paths, trailing slashes, ports, and origins deliberately. A metadata document that points at the wrong resource can create audience failures even when every endpoint returns 200.

Minimal shape

{
  "resource": "https://mcp.example.com/mcp",
  "authorization_servers": ["https://auth.example.com"],
  "scopes_supported": ["mcp:read", "mcp:write"],
  "bearer_methods_supported": ["header"]
}

Fields to review

Common MCP discovery failures

The server advertises an issuer different from the authorization server metadata; the resource value omits the MCP path; a reverse proxy changes scheme or host; the well-known route is placed under the wrong path; or the token is issued for a different audience.

What the browser validator checks

It compares the resource URL, protected resource metadata, and authorization server metadata without fetching or transmitting either document. Live response headers, redirects, CORS, status codes, and token validation remain separate tests.