HTTP-transport MCP server 의 authorization 은 OAuth 2.1 사용. Spec 이 MCP server 를 OAuth 2.1 Resource Server 로 모델: access token 받아 검증, token scope 으로 각 tool call authorize. MCP client 는 외부 Authorization Server 에서 token 받는 OAuth client. 핵심: MCP server 는 auth 발급 사업 안 함 — token 소비; 발행 X.
전형적 session flow: host (MCP client 돌림) 가 user 를 authorization server OAuth flow 로 안내 → access token (+ refresh token) 받음 → 저장 → 모든 MCP request 에 Bearer header 로 access token 포함. MCP server 가 token 검증 (introspection 또는 JWT 검증), scope 읽고 request authorize. Token refresh 는 host 책임; MCP server 는 이미 발행된 Bearer token 만 봄.
알아둘 MCP-specific 디테일 둘:
- Authorization Server discovery. MCP server 가 — token 없이 (또는 invalid 한 거로) 호출되면 — authorization metadata 가리키는
WWW-Authenticateheader publish. Client 가 metadata fetch, issuer · scope · PKCE 요구사항 학습 후 OAuth flow 돌림. MCP server 가 — OpenID Connect 가 일반 identity 에 그랬듯 — auth 에 self-describing. - Client ID Metadata Document (CIMD) — 2025-11-25 revision 추가. 모든 MCP server 가 per-server client 등록 요구하는 대신, client 가 well-known URL 에 metadata 문서 publish; server 가 필요할 때 fetch. MCP 가 scale 에서 — adoption 죽이는 — '모든 service 에 client 등록' friction 피하는 방법.