Skip to content
Cloud Security DeskSearch
Menu

Technical guideAI systems

Keep MCP tokens bound to the intended resource

Keep token audiences, user consent, and downstream tool authority separate when reviewing a protected HTTP MCP service.

Source-based analysis

The series date places this retrospective analysis in the January to August 2026 collection. It is not a claim that the article was publicly available on that date. The publication date records its first release.

Published
Series date
Reading time
5 minutes
Coverage
MCP

An implementation review of MCP HTTP authorization using the November 2025 specification and OAuth standards. It explains resource indicators, token audience validation, forbidden passthrough, and the authorization decisions needed before tool execution.

At a glance

Key findings

  • A token's audience and its scopes answer different questions. The MCP server must verify that the token was intended for its own resource.
  • Forwarding an incoming token to a downstream API is not an acceptable shortcut for a correctly designed MCP authorization relationship.
  • Transport authorization does not decide whether a particular user may perform every proposed tool action. That decision still needs an explicit policy.

Name the parties before choosing the credential

A cloud assistant can involve a person, an application, an MCP server, an authorization server, and a downstream service. The application may request a document search while the MCP server calls a separate storage API. Those relationships are easy to collapse into a single statement that the user is authenticated. That statement does not establish who issued each credential, which service may accept it, or which operation it permits.

The November 25, 2025 MCP specification defines an authorization flow for HTTP-based transports. Authorization is optional for MCP implementations overall, and the document directs stdio implementations toward credentials obtained from the environment instead of this HTTP flow. This article therefore reviews protected HTTP MCP services, not every program that exposes an MCP interface. [1]

Draw the identities separately in the design review. For each credential, record its issuer, intended recipient, permissions, lifetime, and storage location. Then identify which component validates those properties. This inventory is a proposed review technique, not evidence that any particular integration is secure. It often exposes an ambiguity before that ambiguity becomes a permissive fallback in code.

Bind the token to the intended resource

Audience and scope are different dimensions. A token might permit a read operation while still being intended for the wrong service. Conversely, a token intended for the correct service can lack the permission required for a write. Review both dimensions instead of treating the presence of any bearer token as sufficient evidence of authority.

RFC 8707 defines resource indicators so a client can identify the protected resource for which it seeks an access token. The MCP specification requires the resource parameter in authorization and token requests, and it requires the MCP server to validate that accepted tokens were issued for that server. The authorization server's support and the resource server's enforcement both matter. [1][3]

Make the intended identifier explicit in configuration and tests. A deployment with several environments or several MCP endpoints should not depend on a vague convention that any token from the same organization is acceptable everywhere. Decide whether identifiers represent a host or a more specific resource path, and verify that discovery metadata, token issuance, and server validation agree on that decision.

Figure 01

One resource boundary at a time

The MCP token ends at the MCP resource boundary. Downstream execution has its own authorization decision.

The client discovers the protected MCP resource and authorization server, obtains a resource-bound token, and presents it to the MCP server. A separate check governs the downstream tool action.

Source. MCP authorization and security guidance, RFC 8707, and RFC 9700 [1]-[4].

Method. Original simplified HTTP authorization sequence. Downstream policy is an explicit design step, not a claim that MCP prescribes one universal delegation mechanism. No integration test was executed.

Accessible table and figure data
Figure 1 accessible table
StepAuthority being checkedReview question
Resource discoveryIdentity of the protected MCP serviceDoes the metadata identify the intended service?
Authorization requestResource owner grantWhich resource and scopes are requested?
Token issuanceAuthorization server decisionIs the token bound to that resource?
MCP requestIncoming token validity and audienceDoes the server reject a token intended elsewhere?
Tool policyCaller authority for this actionAre the resource and destination permitted?
Downstream requestSeparate downstream authorizationWhose authority does the downstream service see?
Figure 1 accessible table
StepAuthority being checkedReview question
Resource discoveryIdentity of the protected MCP serviceDoes the metadata identify the intended service?
Authorization requestResource owner grantWhich resource and scopes are requested?
Token issuanceAuthorization server decisionIs the token bound to that resource?
MCP requestIncoming token validity and audienceDoes the server reject a token intended elsewhere?
Tool policyCaller authority for this actionAre the resource and destination permitted?
Downstream requestSeparate downstream authorizationWhose authority does the downstream service see?

Do not turn the MCP server into a token relay

Suppose an integration accepts a storage-service token and forwards it unchanged to storage. That may appear convenient because the caller already has a credential. It also makes the MCP service's own authorization boundary difficult to reason about: the service is accepting authority intended for another recipient rather than validating authority granted to itself.

MCP's security guidance explicitly forbids token passthrough and discusses the resulting accountability and trust-boundary problems. Its guidance is not satisfied by checking that a token-shaped string exists or that a downstream request happened to succeed. The incoming credential must be appropriate for the MCP resource that accepts it. [2]

Treat downstream access as a separate design decision. Depending on the service, that could involve a supported delegation flow, a separate user authorization relationship, or a narrowly scoped service identity. Document whose authority the downstream request represents and how the originating user is authorized. Do not invent a universal token-exchange mechanism where the downstream provider has not documented one.

Authorize the business action after the transport check

A valid MCP token does not establish that every model-proposed argument is acceptable. A tool may support sending a file, changing a policy, or opening an incident. The operation still needs rules about permitted resources, destinations, tenants, and consequences. Put those checks where execution occurs, with trusted inputs that cannot be replaced by a persuasive sentence in retrieved content.

For an illustrative document-sharing tool, require the application to establish the caller, identify the selected document, and check the intended recipient against the sharing policy. A model-generated recipient address is an input to that decision, not proof of consent. If the action requires confirmation, present the actual destination and the data involved, then bind the confirmation to that specific action.

Keep the audit record equally explicit. Record the requesting identity, authorized resource, policy decision, tool operation, and outcome using identifiers appropriate for the organization's privacy requirements. Avoid recording bearer tokens. This proposed record makes it possible to distinguish an authorized action that failed from an action that should never have been allowed to execute.

Test denial as part of the integration contract

An integration test that only proves a tool works with a valid token is incomplete. Add benign negative cases for a token intended for another resource, an expired token, insufficient permissions, a changed redirect, and a downstream operation outside the caller's authority. The expected outcome should identify the component that rejects the request and confirm that no tool side effect occurred.

Test the normal path alongside those failures. A secure boundary should still allow the intended task with the intended authority. If a client responds to denial by broadening permissions automatically, retrying forever, or switching to a shared administrative credential, the test has exposed a workflow problem rather than a harmless inconvenience. Define the acceptable recovery behavior before release.

Retain a compact receipt containing the specification version, sanitized configuration, test identities, expected decisions, actual outcomes, and remaining unsupported cases. No such integration test was performed for this article. The deliverable here is a review model: keep each credential attached to its intended resource, and keep every consequential action attached to an explicit authorization decision.

Method and provenance

Review of the cited protocol specification, security guidance, and IETF publications on August 28, 2026, with an original authorization sequence and proposed negative tests.

No MCP implementation, OAuth provider, token-validation path, or downstream tool was tested. The analysis targets the specified HTTP authorization model and does not claim every implementation conforms.

AI assistance. AI assistance was used to research sources, draft and structure the article, and prepare the visual specification. No human technical review is claimed.

Published under the Cloud Security Desk organizational byline. Read the series policy.

References

  1. MCP Authorization specification version 2025-11-25 Model Context Protocol. Accessed .
  2. MCP Security Best Practices versioned documentation Model Context Protocol. Accessed .

Questions answered

  1. What does “Keep MCP tokens bound to the intended resource” examine?

    Keep token audiences, user consent, and downstream tool authority separate when reviewing a protected HTTP MCP service.

    Supporting context

    An implementation review of MCP HTTP authorization using the November 2025 specification and OAuth standards. It explains resource indicators, token audience validation, forbidden passthrough, and the authorization decisions needed before tool execution.

  2. What is the central conclusion?

    A token's audience and its scopes answer different questions. The MCP server must verify that the token was intended for its own resource.

    Supporting context

    Forwarding an incoming token to a downstream API is not an acceptable shortcut for a correctly designed MCP authorization relationship. Transport authorization does not decide whether a particular user may perform every proposed tool action. That decision still needs an explicit policy.

  3. Which systems and decisions are in scope?

    The analysis covers AI systems across MCP. Its recommendations require validation in the reader's own environment.

  4. What evidence and method support the analysis?

    Review of the cited protocol specification, security guidance, and IETF publications on August 28, 2026, with an original authorization sequence and proposed negative tests.

    Supporting context

    The article cites 4 numbered references.

  5. What are the limitations?

    No MCP implementation, OAuth provider, token-validation path, or downstream tool was tested. The analysis targets the specified HTTP authorization model and does not claim every implementation conforms.

    Supporting context
  6. Can the figures be read without an interactive chart?

    Yes. The figure has responsive static images, descriptive alternative text, source and method notes, accessible tables, and CSV downloads.

  7. Why are the series date and publication date different?

    The series date is March 11, 2026; the article was first published on August 28, 2026. The series date places this retrospective analysis in the January to August 2026 collection. It is not a claim that the article was publicly available on that date. The publication date records its first release.

  8. Who is responsible for the article and how was AI used?

    The organizational byline is Cloud Security Desk. AI assistance was used to research sources, draft and structure the article, and prepare the visual specification. No human technical review is claimed.

    Supporting context