Security
Authorization for remote servers
Remote servers use OAuth 2.1. The MCP server acts as a resource server: it validates tokens but never sees the user's password.
- Discovery uses Protected Resource Metadata (RFC 9728) plus authorization server metadata, so there's no hard-coded config.
- PKCE is required, so a stolen authorization code is useless on its own.
- Resource indicators (RFC 8707) bind each token to one server, so it can't be replayed elsewhere.
- stdio servers skip all of this and read credentials from their environment.
No token passthrough
A server must not forward the client's token to upstream APIs. If it calls GitHub, it needs its own GitHub credentials.
Authentication vs authorization, OAuth and OIDC each get a deck of their own in Security › Identity & Access.