User consent and control
Users must explicitly consent to and understand all data access and operations, and retain control over what data is shared and what actions are taken.
The MCP spec establishes these key principles:
User consent and control
Users must explicitly consent to and understand all data access and operations, and retain control over what data is shared and what actions are taken.
Data privacy
Hosts must obtain explicit consent before exposing user data to servers; resource data must not be transmitted elsewhere without user consent.
Tool safety
Tools represent arbitrary code execution; hosts must obtain explicit user consent before invoking any tool. Tool descriptions are untrusted unless they come from a trusted server.
LLM sampling controls
Users must explicitly approve sampling requests and control what the server can see. (Listed in spec revisions up to 2025-11-25; removed from the 2026-07-28 principles list alongside the deprecation of the Sampling feature.)
Authorization is optional in MCP. HTTP-based transports SHOULD use the authorization spec; stdio servers SHOULD NOT — they get credentials from the environment instead.
resource parameter identifying the server)sequenceDiagram participant C as MCP Client participant AS as Authorization Server participant S as MCP Server (resource server) C->>S: Request without token S-->>C: 401 + WWW-Authenticate (resource_metadata URL) C->>AS: Authorization + token request (resource = server URI, PKCE) AS-->>C: Access token (audience = MCP server) C->>S: Request with Authorization: Bearer token S->>S: Validate token audience S-->>C: Result
📝 Check your knowledge