Executive summary — The Model Context Protocol lets AI applications connect to external tools and data through MCP servers — and every one of those connections is a new access path that must be authenticated. Get it wrong and an AI assistant becomes an unguarded doorway into enterprise systems. This article explains how MCP servers authenticate under the OAuth 2.1-based specification, what scoped tokens and resource indicators protect, and where the supply-chain risks lie. The Model Context Protocol has rapidly become a common way for AI applications to reach the tools and data they need, exposing capabilities through MCP servers that a client can call on a user's behalf. The convenience is obvious; so is the danger. Each MCP server an assistant connects to is a bridge into some system — a database, a SaaS API, an internal service. If those bridges are not properly authenticated and scoped, an AI client becomes a highly capable, poorly supervised path into everything it can reach. Authentication is therefore not a detail of MCP deployment; it is the control that keeps the whole model safe. Why MCP Authentication Matters An MCP server that acts on a user's behalf inherits the sensitivity of whatever it fronts. Connecting an assistant to a server that can read customer records or trigger transactions means the identity and authorisation around that connection carry the same weight as any privileged access. This is fundamentally an identity problem, and it belongs within the same identity and access management discipline the enterprise already applies to human and service access, rather than being treated as a novel exception. How MCP Servers Authenticate The MCP specification builds its authorization on OAuth 2.1 and related standards. In this model the MCP client acts as an OAuth 2.1 client making requests on behalf of a resource owner, while the MCP server acts strictly as a resource server that validates tokens issued by a separate, dedicated authorization server. Keeping the server in the resource-server role — validating rather than issuing tokens — is a deliberate separation of concerns that limits what a single compromised component can do. OAuth 2.1 with mandatory PKCE. For any MCP server reachable over the internet, the specification requires OAuth 2.1 with PKCE using the S256 method, and it explicitly forbids the weaker options that earlier OAuth versions tolerated — the implicit grant and plain PKCE are both banned. PKCE binds an authorization request to the client that initiated it, defeating a class of interception attacks. Requiring the S256 method rather than a plaintext alternative closes the loophole that made PKCE bypassable in the first place. Protected resource metadata and challenge flow. MCP servers are required to publish OAuth 2.0 Protected Resource Metadata under RFC 9728, so a client can discover where and how to obtain a valid token. When authorization is needed, the server returns an HTTP 401 with a properly formed WWW-Authenticate header pointing to that metadata. This discovery-and-challenge flow means a client does not need to be pre-configured with each server's authorization details; it can learn them securely at connection time. Need OAuth-based access governance for MCP servers and AI agents? eMudhra SecurePass governs OAuth-based access for MCP servers and AI agents. Scoped Tokens and Resource Indicators The most important protection is that tokens are narrowly scoped and cannot be reused where they do not belong. Recent revisions of the specification require resource parameters, following RFC 8707, in all token requests, so a token minted for one MCP server cannot be replayed against another. Combined with least-privilege scopes that grant only the specific capabilities a task needs, this confines the damage a stolen or misused token can do — the same principle that governs workload identity in Kubernetes, applied to AI tool access. Managing the Supply-Chain Risk Authentication protects the connection, but it does not by itself vouch for the server on the other end. MCP's extensibility means an organisation may connect to third-party or community servers whose code it did not write and does not fully control. A malicious or compromised server could attempt to exfiltrate the data a client sends it, or manipulate the responses it returns. Managing this requires treating MCP servers as part of the software supply chain: vetting their provenance, restricting which servers clients may connect to, monitoring their behaviour, and applying the same scrutiny to an MCP integration that one would to any third-party dependency with access to sensitive data. A Hardening Checklist Teams deploying or consuming MCP servers should confirm a short set of essentials: OAuth 2.1 with PKCE S256 enforced, and legacy grants and plain PKCE disabled entirely. Tokens scoped to least privilege, with resource indicators binding each token to its intended server. Protected resource metadata published and the 401 challenge flow implemented correctly. An allowlist of approved servers, with third-party servers vetted for provenance and behaviour. Monitoring and revocation, so a misbehaving server or leaked token can be cut off quickly. As enterprises govern a growing population of AI clients, agents and the servers they call, consolidating that control onto one platform becomes worthwhile. SECURE EVERY AI CONNECTION LIKE THE PRIVILEGED PATH IT IS eMudhra SecurePass brings OAuth-based authentication, least-privilege scoping and revocation to MCP servers, AI agents and every non-human identity. Explore SecurePass machine identity or talk to an eMudhra expert. Tags: Identity and Access Management Machine & Agentic Identity About the Author eMudhra Limited eMudhra Editorial represents the collective voice of eMudhra, providing expert insights on the latest trends in digital security, cryptographic identities, and digital transformation. Our team of industry specialists curates and delivers thought-provoking content aimed at helping businesses navigate the evolving landscape of cybersecurity and trust services with confidence.