MCP OAuth in practice
TL;DR
MCP OAuth follows the standard OAuth 2.0 authorization flow. A client is registered, a user authorizes within granted scopes, and a token is issued. The client presents the token to a protected MCP endpoint; the resource server authorizes the request within the token's scope.
The flow
The client requests authorization from the authorization server, the user approves within the granted scopes, and the client receives an access token. It then calls the protected MCP server with that token. The server enforces the scopes.
Protecting resources
Only resources and tools explicitly protected by the resource-server flow require tokens. A server advertises which endpoints are protected and which capabilities require authorization. Unlisted public capabilities can be reached without a token, subject to the server's own policy.