Join our Newsletter — 33% off our NHI Course

Why do MCP servers need more than workload identity?

Workload identity proves the server is legitimate, but it does not determine whether a specific action is appropriate once access is granted. An authenticated MCP server can still issue an unsafe read, write, or tool invocation if runtime authorisation is absent. The governance problem therefore shifts from secret possession to action control.

Why workload identity is necessary but not sufficient for MCP servers

workload identity answers a narrow but important question: can this server prove who it is? That is only the first gate. For MCP, the harder problem is whether a validated server is allowed to perform a specific read, write, or tool action in the current context. Without runtime authorisation, authentication alone can still permit overreach.

The practical distinction is between who the server is and what the server may do. A workload identity can establish trust at connection time, but MCP servers often mediate access to data, tools, and downstream systems where the same authenticated component may face very different action boundaries. That is why runtime policy, scope checks, and explicit action approval matter alongside identity proofing.

This matters most when the MCP server is acting as a broker between an agent and multiple tools or resources. If the server can invoke tools, fetch records, or trigger side effects, then a valid identity does not by itself prevent an unsafe or out-of-scope operation. The control point moves from secret possession to action control, which is a materially different governance problem. That is also why guidance for MCP authorization explicitly treats the server as a resource server with audience-bound tokens rather than a trusted pass-through for whatever access it already holds, as reflected in the Model Context Protocol: Authorization specification.

In workload-identity terms, the server may still authenticate correctly while remaining overly powerful. That is the same structural issue seen in many identity-borne systems: legitimate identity does not guarantee least privilege, and it certainly does not guarantee correct delegation for every action. For MCP, the missing layer is usually runtime authorisation tied to the specific resource, tool, or tenant context rather than a blanket trust decision based only on the server’s credential.

Where the risk appears in MCP action flows

The risk shows up when a server’s authenticated status is reused as if it were a standing permission to act. In practice, that can mean a server reads data it should not see, writes to a system it should not modify, or calls a tool that was never intended for that request path. The issue is not that the identity is fake, it is that the action boundary is too loose.

That failure mode becomes more serious when the server sits in front of multiple downstream systems with different trust levels. A single authenticated workload can become a high-consequence pivot point if runtime checks do not distinguish between safe metadata access, sensitive data retrieval, and irreversible side effects. When MCP servers are used in agentic workflows, this can quickly turn into unintended capability escalation because the server is often the enforcement point between the agent’s request and the underlying service.

Workload identity is therefore a prerequisite, not a complete control model. It gives you confidence that the caller is a recognised server, but not that the requested action is proportionate, approved, or contextually safe. That is why the more complete control question is not “is the server real?” but “is this exact operation authorised right now?”

For readers comparing standards and implementation guidance, the SPIFFE model is useful because it shows how workload identity establishes cryptographic trust for the workload itself, while the MCP authorization model shows why that trust still needs action-level enforcement. See the SPIFFE workload identity specification for the identity side, and the MCP authorization specification for the resource-side decision model.

What runtime authorisation adds that identity cannot

Runtime authorisation adds context. It can distinguish between allowed and disallowed actions based on the target resource, the scope of the request, the session state, the tenant, or the tool being invoked. That is especially important for servers that may be legitimate in one context and inappropriate in another. One identity can authenticate successfully across many situations, but the allowed action set should not be identical across all of them.

In an MCP environment, this usually means separating transport-level trust from operation-level approval. The server may present a valid identity, but the platform still needs policy checks for scope, audience, and resource binding before the action is executed. Without that separation, the architecture quietly assumes that identity implies intent, which is a weak assumption in both automation and agent-mediated workflows.

Practitioners should treat runtime authorisation as the mechanism that limits blast radius when a legitimate server behaves incorrectly, is over-scoped, or is prompted into the wrong action path. That is the control that turns authentication from a binary trust event into a bounded operating model.

Risk and Threat Considerations

The main risk is privilege inflation, an authenticated MCP server can still become a high-impact abuse path if its permitted actions are broader than the task requires. If the server is compromised, misconfigured, or simply granted excessive scope, the attacker does not need to break identity again, they only need to use the existing authority.

Failure mechanism: A valid workload identity is reused as a blanket approval signal, so the server can issue unsafe tool calls, read sensitive data, or trigger write actions without a separate runtime check on the specific operation.

Impact: The result is broader blast radius, harder containment, and a much weaker boundary between legitimate automation and unintended or malicious side effects.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP API Security Top 10 addresses the attack and risk surface, while NIST Zero Trust (SP 800-207) and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP API Security Top 10 API5 — Broken Function Level Authorization MCP servers need action-level checks beyond identity proof.
API1 — Broken Object Level Authorization MCP servers can overreach on resource-specific reads and writes.
Recommendation — Enforce function-level authorization for every MCP tool and action. Bind each MCP request to the specific object or resource the caller may access.
NIST Zero Trust (SP 800-207) Zero Trust Architecture The question is about separating authentication from runtime trust decisions.
Recommendation — Verify each MCP action independently instead of trusting the authenticated server.
NIST SP 800-53 Rev 5 IA-9 — Identification and Authentication (Non-Organizational Users) Workload identities authenticate the server as a non-human actor.
AC-6 — Least Privilege The core issue is preventing an authenticated server from doing too much.
Recommendation — Use IA-9 to authenticate MCP servers before granting any access. Limit each MCP server to the minimum actions needed for the task.

Practitioner Guidance

What to verify: Confirm that each MCP action is authorised at request time, not just at connection time. The useful test is whether the platform can reject one tool call while still trusting the same server for a different, lower-risk action.

Decision rule: If a server can cause data exposure, state change, or downstream execution, require explicit scope and audience checks for that operation. If you cannot show where the policy decision is made, the server is over-trusted.

Practitioner takeaway: Treat workload identity as the start of trust establishment, not the end of control design; MCP needs identity for legitimacy, but it needs runtime authorisation to keep legitimate servers within bounds.