Direct token passing breaks the boundary between untrusted client code and trusted authorization logic. If the client stores or forwards secrets, a compromise can expose bearer tokens, widen scope misuse, and make audit and revocation harder. The risk is highest when the client runs on user devices and the server depends on third-party APIs.
Why direct token passing breaks the security boundary
Direct token passing turns the MCP client into part of the trusted authorization path instead of a narrow transport component. That is a problem in production because the client now sees bearer material that can be copied, logged, replayed, or forwarded into places you did not intend. The boundary becomes especially fragile when the client is not tightly controlled or runs in an environment the user can modify.
At that point, the security outcome depends less on the MCP server and more on how safely the client handles the token. If the client stores the token locally, keeps it longer than necessary, or passes it between tools and extensions, the token inherits the weakest trust zone in the chain. That shifts risk from a bounded protocol exchange to broad exposure of the user session or device.
For production systems, the key issue is that bearer tokens are authorization artifacts, not just plumbing. Once a client can forward them, any compromise of that client can become a compromise of the downstream API access path. The MCP authorization specification is explicit about avoiding token passthrough and using audience-bound authorization instead.
What can go wrong when the client handles the secret
The main failure modes are secret exposure, scope misuse, and poor revocation hygiene. A stolen bearer token usually does not need the original client again, so compromise can persist until the token expires or is revoked. If the token also carries broad scope, the attacker gains more than the original user action needed.
This is why direct token passing is a larger concern than ordinary message forwarding. The token may cross logging systems, crash reports, debugging channels, browser storage, or extension boundaries. In practice, those are common places where secrets leak, especially on endpoints that are less controlled than production servers. API key lifecycle guidance and the secret sprawl analysis both reinforce the same lesson for bearer material: once it is copied into client-side surfaces, containment gets much harder.
The risk also grows when the MCP client talks to third-party APIs on the user’s behalf. That creates a chain where one compromised endpoint can expose access to multiple services. NHIMG’s MCP Security Guide covers this token-passthrough problem directly, including the confusion it creates around authorization, delegation, and gateway enforcement.
Safer patterns for production MCP deployments
Production MCP designs are safer when the client never becomes the bearer-token vault. The preferred pattern is for the server or gateway to obtain and validate audience-restricted tokens, then enforce the exact downstream resource and action the request is meant to reach. That keeps trust decisions in the authorization layer rather than in client code that may be uncontrolled or distributed.
Use short-lived, scoped credentials where possible, and treat direct bearer reuse as a last resort rather than a default integration style. If you need the client to initiate access, prefer authorization flows that constrain the token to a specific audience or sender, instead of handing the client a reusable token that can travel elsewhere. RFC 8707 and RFC 9449 are useful reference points for audience restriction and proof-of-possession, respectively.
Where the client is user-facing, the safest operational assumption is that compromise is plausible. That means revocation must be fast, scopes should be narrow, and tokens should not be embedded in logs, config files, or plugin state. For MCP specifically, the cleanest pattern is to keep the client as an initiation point, not a credential carrier.
Risk and Threat Considerations
Direct token passing increases the blast radius of any client compromise because the attacker gets a reusable authorization artifact instead of a single action. It also weakens auditability, since it becomes harder to distinguish legitimate client forwarding from unauthorized reuse or exfiltration.
Failure mechanism: the client stores, forwards, or exposes a bearer token, and an attacker, extension, crash dump, or local compromise reuses that token against the downstream API.
Impact: unauthorized API access, broader scope abuse, delayed revocation, and harder incident scoping across the client, MCP server, and third-party services.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST SP 800-53 Rev 5 and OWASP ASVS set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | IA-9 — Service Identification and Authentication | MCP clients forwarding tokens concerns service-to-service authentication boundaries. |
| IA-5 — Authenticator Management | Direct token passing creates credential lifecycle and revocation risk. | |
| AC-6 — Least Privilege | Token passthrough can widen scope beyond the immediate action. | |
| Recommendation — Require service authentication that prevents clients from acting as token relays. Manage token lifetime, storage, rotation, and revocation so clients cannot retain reusable authority. Scope tokens narrowly to the minimum access needed for each MCP workflow. | ||
| OWASP ASVS | V10 — OAuth and OIDC | The issue is OAuth-style token handling and delegation in an application flow. |
| Recommendation — Apply OAuth/OIDC patterns that avoid exposing reusable tokens to client code. | ||
Practitioner Guidance
What to verify: confirm that the client never needs raw long-lived credentials in order to function. If it does, treat that as a design smell and check whether the same workflow can be expressed with a brokered or audience-bound token flow instead.
Decision rule: if the token can authorize production data access outside the immediate request, do not let the client retain or forward it. Put the trust boundary at the server or gateway, and require explicit revocation and expiration controls for every token class that can reach the client.
Common mistake: assuming that “temporary” makes direct token passing safe. Temporary bearer tokens can still be replayed, leaked, or copied, and in a compromised endpoint the difference between short-lived and long-lived is often only how long the attacker has to use them.
Practitioner takeaway: the production goal is not to eliminate client-side initiation, but to ensure the client never becomes the durable holder of reusable authority.
Related resources from NHI Mgmt Group
- Why do direct agent-to-tool integrations create more security and operational risk in production environments?
- Why does direct AI access to enterprise security systems create more risk than an MCP-mediated approach?
- Why does exposing APIs and control plane data through MCP create security and governance risk?
- Why do custom MCP runtime layers create so much security and operational risk in production?
Deepen Your Knowledge
Reviewed and updated by the NHIMG editorial team on September 30, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org