The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →For an HTTP-based remote MCP server that requires authorization, the client obtains an access token through an OAuth flow and sends it to the server in an Authorization: Bearer header. The server validates that the token is valid and intended for that server before allowing access. MCP does not issue the token, and authorization is optional across MCP implementations.
Although people often ask how to “authenticate an MCP server,” OAuth authorization primarily answers a different question: what is this client allowed to do with this protected resource? The token may also carry identity-related information, but authentication and authorization are not interchangeable.
As an Amazon Associate I earn from qualifying purchases.
What OAuth authorization does in MCP
MCP’s authorization specification applies to HTTP-based transports. It describes how a client can obtain and present a token to a protected remote server. It does not require every MCP implementation to use authorization, nor does it define the internal operation of an authorization server.
In the standard arrangement, the MCP server is an OAuth resource server: it protects the resource and checks presented tokens. The MCP client is the OAuth client, acting on behalf of a resource owner. An authorization server authenticates or otherwise interacts with the user as needed and issues access tokens. The authorization server can be operated by the same organization as the MCP server, or separately.
Authentication versus authorization
Authentication establishes an identity, such as which user or client is involved. Authorization determines whether that identity or client has permission to perform an operation. MCP calls this part of its specification “Authorization.” A successful OAuth exchange does not mean the server itself has been authenticated to the user; it establishes a token-based basis for the resource server to decide whether to allow the request.
STDIO is a different case
STDIO implementations should obtain credentials from the environment rather than apply the HTTP authorization specification. Do not assume that a client’s HTTP OAuth discovery and redirect flow is the required mechanism for a local STDIO connection.
How the remote MCP OAuth flow works
The flow is discovery first, then client registration or identification, authorization, token use, and server-side validation. The MCP specification dated July 28, 2026 requires the server and client to participate in specific discovery and validation steps.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- Discover the server’s authorization information. The client contacts the protected MCP server. The server implements OAuth 2.0 Protected Resource Metadata, which identifies the authorization server or servers associated with that resource. MCP clients are required to use this metadata for discovery.
- Discover the authorization server’s endpoints and capabilities. The authorization server must provide OAuth Authorization Server Metadata or OpenID Connect Discovery. MCP clients must support both discovery mechanisms.
- Obtain a client ID. The client can use a Client ID Metadata Document (CIMD), pre-registration, or Dynamic Client Registration (DCR). The current specification prefers CIMD. DCR remains available for compatibility but is deprecated.
- Request access for the intended MCP resource. The client includes the
resourceparameter in both its authorization request and its token request. Its value identifies the target server using that server’s canonical URI. - Complete authorization and receive a token. The authorization server may interact with the user, for example by presenting an approval step, and issues an authorization code and then tokens as appropriate to the flow. MCP does not prescribe the authorization server’s internal implementation.
- Call the MCP server with the access token. The client sends the token in the
Authorization: Bearer <access-token>header on every HTTP request to the server. - Validate the token at the server. The MCP server checks that the token is valid and intended for its own resource. It returns HTTP 401 for a missing, invalid, or expired token.
The client is not supposed to send a bearer token as a URI query parameter. Query strings can be exposed in logs, browser history, and other systems that handle URLs; the required mechanism is the authorization header.
How resource binding and scopes limit access
Bind the token to the server being called
The resource value identifies which MCP server the client is seeking access to. Including it in both authorization and token requests, and validating the resulting token’s intended audience at the server, helps prevent a token meant for one service from being reused at another. An MCP server must accept only valid tokens intended for its own resources; it must not accept or pass through unrelated tokens.
Request only the permissions needed
For least-privilege access, servers should include a scope parameter in a WWW-Authenticate challenge to guide the client. Clients should request scopes needed for the operation they intend to perform. The server’s challenge scopes are authoritative for that operation; a client should not infer that they will match the authorization server’s advertised scopes_supported list in any particular way.
Rank #3
Handle 401 and 403 differently
- HTTP 401: The token is missing, invalid, or expired. The client needs to obtain or present a valid token.
- HTTP 403: The token is valid but does not grant sufficient permission. The server should return a Bearer challenge describing the required scope. The client may then perform step-up authorization and should retain previously granted scopes that are still needed.
Do not assume a refresh token exists
An authorization server may not issue a refresh token. A client must not rely on receiving one; if it does request one, it must protect that credential both in transit and in storage.
Client registration: what changes in the current specification
MCP clients may connect to servers whose authorization servers have never registered those clients. The current specification therefore describes several ways to establish client identity. Registration information can include a client name and redirect URI, which helps the authorization server present the client in an approval flow.
| Approach | How client identity is established | Authorization-server registration endpoint | Status in the July 28, 2026 MCP specification |
|---|---|---|---|
| Client ID Metadata Documents (CIMD) | The client publishes metadata associated with its client ID. | Not required by the CIMD mechanism. | Preferred. |
| Pre-registration | The authorization server registers the client in advance. | Not stated as a dynamic registration requirement. | Still described as an option. |
| Dynamic Client Registration (DCR) | The client registers with the authorization server through its registration mechanism. | Yes, DCR requires a registration endpoint. | Deprecated, but retained for backward compatibility where CIMD is unsupported. |
The July 28, 2026 MCP release also says clients declare application_type during DCR. That is intended to address authorization servers that mistake desktop or command-line clients for web clients and consequently reject localhost redirect URIs. DCR’s continued presence is a compatibility path, not the preferred choice for new implementations.
Rank #4
Issuer checks protect the authorization response
The July 28, 2026 specification adds issuer-mix-up protections. A client records the issuer of the authorization server it selected from validated metadata. If the authorization response includes the RFC 9207 iss parameter, the client compares it with that recorded issuer before sending the authorization code to a token endpoint. If the metadata indicates support for iss but the response omits it, the client rejects the response.
The MCP project also says clients bind registered credentials to the issuer that minted them and register again if the resource moves to a different authorization server. These checks matter because an authorization code must reach the token endpoint belonging to the authorization server that initiated the flow, not an unintended issuer.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Standard OAuth authorization and Enterprise-Managed Authorization
Enterprise-Managed Authorization (EMA) is a separate MCP extension, announced as stable on June 18, 2026. It is intended for organizations that want centralized provisioning and policy decisions through a trusted identity provider rather than repeated per-server user-consent flows.
Best Value
| Consideration | Standard per-server OAuth authorization | Enterprise-Managed Authorization |
|---|---|---|
| Who controls access | Access is authorized through the server’s associated authorization flow, commonly involving individual user consent. | The organization’s identity provider and policies can govern access using groups, roles, and other policy decisions. |
| How access is obtained | The client discovers the authorization server, obtains authorization, and gets a token for the MCP resource. | The client obtains an identity assertion during single sign-on and exchanges it for an MCP-server access token, avoiding per-server user consent screens in the described flow. |
| Deployment support | The MCP HTTP authorization specification defines the baseline flow for implementations that support authorization. | Requires support for the extension across relevant identity providers, clients, and servers. |
The MCP project’s June 18, 2026 announcement identified Okta as the first supported identity provider. It named Anthropic and Visual Studio Code among client implementations and Asana, Atlassian, Canva, Figma, Granola, Linear, and Supabase among server adopters at that time. These are dated project-announcement claims; they do not guarantee support in every product version or deployment. EMA is an extension, not a replacement for understanding the standard resource-server OAuth flow.
Implementation checks for clients and servers
For an MCP client
- Use Protected Resource Metadata to discover authorization-server information for the target HTTP resource.
- Support both OAuth Authorization Server Metadata and OpenID Connect Discovery.
- Use CIMD where available, while retaining compatibility as needed with pre-registration or DCR.
- Send the canonical target resource in both the authorization request and token request.
- Validate the authorization response’s issuer as required by the discovered metadata before sending a code to a token endpoint.
- Send access tokens only in the bearer authorization header on every HTTP request; never place them in the URI query string.
- Handle a 401 as an invalid or absent token and a 403 as insufficient permission; request only the scopes needed for the operation.
- Do not assume that a refresh token will be issued, and protect one if received.
For an MCP server
- Decide whether the HTTP deployment requires authorization; MCP authorization is optional overall.
- Implement Protected Resource Metadata and identify the associated authorization server or servers.
- Validate the bearer token, including its intended resource or audience, on each protected request.
- Reject tokens that are invalid, expired, or intended for another resource; do not accept or forward unrelated tokens.
- Use 401 for a missing or invalid token and 403 when a valid token lacks permission.
- Include an appropriate Bearer challenge and operation-relevant scope when more authorization is required.
The MCP authorization specification defines client/server requirements around resource discovery, token requests, token presentation, and validation. It does not by itself guarantee interoperability among every client, server, identity provider, or enterprise extension deployment; check the current specification and implementation support for the products you plan to connect.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




