trackmcp
All posts
SecuritySep 4, 2026·8 min read

MCP Token Passthrough: Why It Is Dangerous and What to Do Instead

Why an MCP server should not forward client tokens to downstream APIs, and how to preserve resource boundaries, authorization, and accountability.

Krishna GoyalKrishna GoyalFounder, TrackMCP
Key takeaways
  • Client tokens must be validated for the MCP resource before a tool runs.
  • Downstream APIs need a separate credential or explicit delegated exchange.
  • Audit authorization decisions without logging bearer tokens or downstream secrets.

MCP token passthrough is the anti-pattern of accepting an access token from an MCP client without validating that it was issued for the MCP server, then forwarding that token to a downstream API. It breaks resource boundaries, weakens auditability, and can turn the MCP server into a confused deputy.

Why token passthrough creates risk

  • Security controls can be bypassed when a token intended for another service is accepted here.
  • The downstream API may trust the wrong audience or assume the token was already validated.
  • Operators cannot reliably distinguish the MCP client from the upstream token’s identity.
  • A stolen token can be replayed through the MCP server as a data-exfiltration proxy.
  • The server becomes responsible for a credential whose audience and privileges it did not control.

The safe trust-boundary pattern

Separate MCP and downstream trust boundaries prevent a server from becoming a confused deputy.

The MCP server acts as its own protected resource. It validates the inbound token’s issuer, audience, expiry, signature, scopes, and subject or tenant policy before processing the tool call. When it calls a downstream API, it authenticates to that API as a separately authorized client or performs a documented token exchange.

What to validate before a tool runs

  • The token is presented in the Authorization header, not the query string.
  • The token was issued by an accepted authorization server.
  • The token is intended for this MCP server as its audience.
  • The token is not expired, revoked, or malformed.
  • The subject has the required tenant, role, and tool scope.
  • The requested operation is allowed for this identity and environment.

What to do when calling a downstream API

  • Use a server credential with the minimum downstream scope.
  • Use a user-bound delegated credential only when the downstream authorization model explicitly supports it.
  • Store downstream tokens server-side with encryption and access controls.
  • Bind stored credentials to the authenticated user or tenant.
  • Never return downstream credentials to the MCP client or include them in tool results.
  • Record the authorization decision and downstream correlation ID without logging secrets.

How to detect passthrough in a review

  • Search for code that copies the inbound Authorization header to an upstream request.
  • Check whether the server validates audience before dispatching a tool.
  • Inspect whether downstream requests use the same bearer token as the MCP request.
  • Test a token issued for another service and verify that the MCP server rejects it.
  • Check whether logs can distinguish the MCP subject from the downstream service identity.

Frequently asked questions

What is MCP token passthrough?

It is forwarding a client-provided access token to a downstream service without validating that the token was issued for the MCP server and without establishing a separate downstream trust relationship.

What should an MCP server do instead?

Validate the inbound token for the MCP resource, enforce local scopes and policy, and use a separately issued downstream credential or explicit delegated exchange for any upstream API call.

Why is token passthrough related to the confused deputy problem?

A downstream service may trust the MCP server while the MCP server forwards a token issued for another audience. The server can then be tricked into using someone else’s authority outside the intended trust boundary.

See this on your own server

TrackMCP turns your MCP server's calls into adoption, workflows, and outcomes. One line to install.

Keep reading