LetterMCP

MCP Server Access Management Tools Compared for Platform Engineering Teams

Five security controls platform teams must verify when comparing MCP access tools.

· 8 min read
Cover illustration for “MCP Server Access Management Tools Compared for Platform Engineering Teams”
Agentic AI Foundations · October 27, 2026 · 8 min read · 1,852 words

A unified MCP control plane for platform engineering teams must connect five controls, namely per-call identity, credential isolation, tool-level policy, runtime detection, and tamper-proof audit logs. Centralizing those controls lets multiple AI teams share MCP access without rebuilding security plumbing for each project. The right comparison is architectural coverage across all five.

Why MCP access management is structurally different from API access management

MCP agents discover available tools at runtime through tools/list. A deployment review therefore covers only part of what needs to be secured. The actions an agent can reach are not fixed when the application ships, and tool descriptions and parameter schemas enter its context window as trusted natural-language instructions. Those descriptions can shape behavior rather than simply describe an interface that the runtime validates.

Execution also crosses more than one tool boundary. An agent can call several tools in sequence and combine their results, creating data exposure even when each call passes its own access check. Connection-time authorization cannot account for that whole chain. Meanwhile, descriptions pass from server to client, and results go back into the model’s context, so both directions are open to tampering. Because MCP delegates security enforcement to operators, platform tooling is not supplementary protection but the place where the security model lives.

Why the threat surface platform teams are managing is already active, not theoretical

Invariant Labs demonstrated a proof-of-concept against production MCP servers in which a malicious server shared an agent’s context with a legitimate WhatsApp MCP server. The malicious instructions directed the agent to read message history and forward it to an attacker-controlled number. No user prompt was needed to trigger it. In the Supabase Cursor agent incident, a privileged agent was tricked into leaking integration tokens as it worked through user-supplied support tickets.

The risk also reaches the software connecting agents to servers. JFrog’s disclosure of CVE-2025-6514 described how mcp-remote passed an untrusted authorization_endpoint URL into a browser-launch path, enabling OS command injection. These examples expose distinct failure points, from model instructions to privileged processing and client execution. Silent tool-definition changes and MCP connections outside the platform’s inventory further complicate control.

The five evaluation dimensions that MCP's architecture makes non-negotiable

The comparison framework has five dimensions, each tied to a control gap. Identity binding asks which human is behind each tool call. Credential handling asks whether agents see raw secrets and how narrowly access is scoped. Policy enforcement checks whether each newly discovered tool gets a fresh allow-or-deny decision, and runtime detection checks whether malicious instructions and behavior changes are caught as they happen. Audit completeness asks whether every call leaves a tamper-proof record that supports attribution and investigation, including unauthorized connections.

These dimensions are connected, but they are not interchangeable. A tool can authenticate users without controlling the downstream credentials their agents use, or record calls without catching malicious instructions.

Identity binding at tool-call depth: what adequate coverage looks like and how tools approach it

Session identity alone cannot close MCP’s confused deputy gap. The failure occurs when an MCP server uses its elevated downstream credentials on an agent’s behalf, giving the agent authority it never earned. An adequate decision binds the human user, the agent, and the specific tool and downstream resource at invocation time. Authentication at the start of a session establishes who connected.

Aembit IAM for Agentic AI introduced its “Blended Identity” model in GA in April 2026. Its access policy evaluates the agent and the human operating it together at request time, with per-user credential isolation per session. Auth0 by Okta’s “Auth for MCP,” GA in May 2026, takes the authorization-server role through OAuth 2.1 and OpenID Connect. The MCP server acts as the resource server, while on-behalf-of token exchange supports downstream API calls. These approaches address related but distinct parts of delegation.

Anthropic’s Enterprise-Managed Authorization, GA August 24, 2026, named Okta as its launch identity provider. An administrator authorizes a supported connector once, and users get access through identity-provider groups and roles across Claude chat, Claude Code, and Cowork. That simplifies shared access, but connector authorization alone does not establish per-tool enforcement. The evaluation questions are whether identity binding persists to each invocation and whether it supports chains in which one agent acts for another.

Credential handling: why agents that hold secrets are the wrong architecture

Agents holding long-lived API keys are the wrong model because the agent receives reusable authority extending beyond permission for a bounded action. Environment variables and configuration files make secrets easy to share, but those credentials rarely get rotated before they reach production. Agents are Non-Human Identities that take action. A leaked key can therefore let an attacker both read exposed information and act on enterprise systems. The OWASP Top 10 for Agentic Applications 2026 captures this risk under ASI03, Identity and Privilege Abuse.

The available architectural patterns differ in what reaches the agent. Static vault retrieval still exposes the raw secret, with a lifetime of days to months. A credential proxy keeps the secret away from the agent for a single proxied session. Brokered short-lived tokens instead provide a single scoped grant with a lifetime of minutes to hours. Moving a key into a vault does not, by itself, remove it from the agent’s possession.

The evaluation should follow the credential through its lifecycle. Does the agent ever see the raw secret. Is the issued access scoped to a specific tool call or spread across the session. What is the credential lifetime, and is rotation automatic.

Policy enforcement across dynamic tool discovery: the dimension most gateway tools miss

An approved server can expose new tools after an agent connects. That is the consequence of runtime discovery through tools/list. If policy only authorizes the server, the approval does not decide whether those new actions are acceptable. Adequate enforcement allows or denies individual tools by exact name or glob pattern on every call, with fail-closed defaults that block anything not explicitly permitted.

Aembit’s MCP Tool Filtering, added in October 2026, addresses both discovery and invocation on an already-authorized server. Administrators can allow or block tools by exact name or glob pattern, with fail-closed defaults and full audit logging. Kong AI Gateway extends the API gateway layer to AI and MCP traffic, applying authentication, rate limiting, logging, and policy enforcement where teams already manage APIs. That makes it relevant to organizations extending existing API governance. Those gateway capabilities alone, however, do not establish the same discovery filtering or per-tool defaults.

The practical test is what happens after approval. Platform teams should ask whether a newly added tool is blocked by default and whether enforcement evaluates individual calls. They should also ask whether policies can change without restarting an agent session. Otherwise, a sound initial decision can become stale while the agent remains connected.

Runtime threat detection: why static scanning misses the attacks that matter most in MCP

Tool poisoning, prompt injection, and intent drift happen in exchanges at runtime and in the agent’s context window. Static source analysis does not see that whole exchange. A clean code scan can miss malicious instructions in tool descriptions because the attack is in metadata. Traditional API monitoring also lacks the model-context inspection needed to catch these attacks.

Rug-pull attacks make the timing gap explicit. A server can behave legitimately during installation, then change its tool definitions after access is granted without the client flagging the change. To catch intent drift, the system must compare what the agent said it would do with the sequence of calls it actually makes. Detecting either behavior requires more than approving a snapshot of the server.

Invariant Labs developed MCP-Scan to examine MCP configurations, tool descriptions, and runtime behavior, including live traffic monitoring through a proxy. The commercial features are now part of Snyk Agent Scan after the acquisition. Wiz Research’s June 2026 disclosure of CVE-2026-12957 illustrates another runtime gap rather than proving a particular detection capability. A crafted workspace MCP configuration in a malicious repository could lead to arbitrary code execution and cloud credential theft through the Amazon Q VS Code extension because the server processes it spawned inherited the full developer environment.

Platform teams should ask whether a candidate examines descriptions as well as call parameters, detects changes after approval, and compares stated intent with actual calls. They should also ask how much time passes between detection and enforcement. A finding after execution does not provide the same protection as a decision during the call.

Audit completeness: what tamper-proof, per-call logging requires and why it matters for compliance

Most MCP implementations do not produce a structured per-call audit trail by default. Missing inputs, outputs, and call records leave investigators unable to reconstruct what happened. Session events are not a substitute for that evidence. A usable record captures the human identity, agent identity, specific tool, inputs, outputs, and timestamp, and is written so it cannot be modified afterward.

If identity was bound only at session establishment, a log entry cannot by itself establish the human authority behind each delegated action. Full OpenTelemetry tracing of tool calls links what an agent does to its effects on downstream systems in ways that traditional application logs do not. Correlation explains the chain of events, while an immutable record protects the evidence.

Shadow MCP connections create a further boundary problem. Traffic outside the platform’s inventory can leave no audit record at all, so comprehensive logging of routed traffic is not necessarily comprehensive coverage. The NIST AI Agent Standards Initiative shows that compliance frameworks are catching up with agent deployments, but teams already need this evidence for incident response. Platform teams should check whether every call leaves a tamper-proof, human-attributed entry, both for traffic the platform already knows about and for shadow or unauthorized connections.

How can platform teams centralize MCP governance across many AI teams?

Platform teams should map each candidate against all five dimensions in a decision matrix. The market separates into identity and authorization, gateway and routing, and scanning and detection layers. Aembit and Auth0 address identity and access architecture, Kong extends the gateway layer, and Snyk addresses scanning and runtime inspection. The described capabilities do not establish that any one option supplies complete coverage across the framework.

Identity binding without credential isolation can still expose secrets, while credential isolation without tool-level policy permits over-broad actions. Policy without runtime detection misses malicious changes after approval. Detection without complete audit records weakens investigation, and audit without identity binding cannot reliably attribute calls to a human. A fragmented stack leaves platform teams responsible for integrating those controls. Enforcement and attribution gaps can appear during that integration.

For each candidate, the matrix should record whether human identity binds to every call, whether the agent holds raw credentials, and how long those credentials can last. It should also capture fail-closed behavior for newly discovered tools, runtime inspection of descriptions and behavior changes, and tamper-proof logging of every call, including shadow connections. Missing evidence is an unresolved evaluation question. This gives multiple AI teams a shared basis for access decisions without treating each project as a new security design. The deliverable is a defensible architectural decision, regardless of which tool or combination the platform team chooses.

More in Agentic AI Foundations