Subscribe to the Non-Human & AI Identity Journal

What breaks when model and MCP access are controlled separately?

When model and MCP access are controlled separately, the agent can learn too much too early or reach tools that should have been invisible. The result is fragmented enforcement, inconsistent audit trails, and policy gaps between routing and authorisation. A unified decision model prevents those gaps from becoming exploitable behaviour.

Why This Matters for Security Teams

Separating model access from MCP access creates two different control planes for one autonomous workflow, and that is where risk starts to compound. The model may reason over data it should not see, while the MCP layer may still expose tools that should have been gated by intent or context. NHI Management Group’s research on non-human identities shows how these gaps turn into credential exposure, weak auditability, and privilege drift across agentic systems, especially when access decisions are not unified with the work the agent is actually trying to do.

This is not just a policy design issue. It is an operational one, because agents do not follow fixed paths. The same prompt can lead to different tool chains, different data scopes, and different downstream effects depending on context. Current guidance from the OWASP Agentic AI Top 10 and NHIMG’s Ultimate Guide to NHIs both point to the same problem: split enforcement makes it harder to prove what an agent could access, what it actually accessed, and whether that access was appropriate. In practice, many security teams discover this only after a tool call or data exposure has already happened, rather than through intentional policy testing.

How It Works in Practice

The safer pattern is to treat model reasoning, tool discovery, and tool execution as one authorisation decision, not three separate ones. That means the runtime should evaluate what the agent is trying to do, what data it needs, and which MCP tools are valid for that specific task. Best practice is still evolving, but the direction is clear: use a unified policy layer that can enforce scope at request time, rather than relying on static routing rules and separate allowlists.

In a practical deployment, the model should not see broad tool catalogs by default. It should receive only the minimal set needed for the current intent, and those tools should be backed by short-lived, task-bound credentials. That aligns with the OWASP Non-Human Identity Top 10 and the agentic control guidance in OWASP Agentic AI Top 10. It also matches the findings in Analysis of Claude Code Security, where tool exposure and execution boundaries matter as much as model capability.

  • Use one policy decision point for model output, tool selection, and tool execution.
  • Issue ephemeral access only for the specific task, then revoke it automatically.
  • Log the intent, the tool selected, the data touched, and the decision outcome in one audit trail.
  • Block hidden tool reachability by default, then explicitly permit only approved workflows.

This model is especially important when agents chain multiple tools, because each additional step increases the chance that a previously invisible permission gap becomes an exploitable path. These controls tend to break down when MCP servers are exposed as generic shared services, because the policy engine no longer has reliable context about who the agent is, what it is doing, and which step in the workflow it currently occupies.

Common Variations and Edge Cases

Tighter unified enforcement often increases implementation overhead, requiring organisations to balance operational simplicity against the need for stronger containment. That tradeoff is most visible in multi-agent systems, where one agent may plan, another may retrieve, and a third may execute. If each layer uses a different policy source, teams can end up with inconsistent outcomes even when each individual control appears correct.

There is no universal standard for this yet, but current guidance suggests a few defensible patterns. First, separate human-readable prompts from machine-enforced permissions so the model cannot infer authority from text alone. Second, treat MCP tools as privileged capabilities, not passive integrations. Third, if a workflow must span multiple systems, evaluate the full request at runtime using policy-as-code rather than pre-approved static mappings.

Edge cases often appear in development and testing environments, where relaxed access makes it harder to notice that the production policy model is fragmented. They also appear in long-lived agent sessions, where a model may retain context about tools it should no longer be able to call. NHIMG’s 52 NHI Breaches Analysis and the vendor research in the The State of MCP Server Security 2025 report both reinforce the same operational lesson: if access scoping is optional, agents will eventually find the gap.

Standards & Framework Alignment

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

OWASP Agentic AI Top 10, OWASP Non-Human Identity Top 10 and CSA MAESTRO define the specific risk controls and attack patterns relevant to this topic.

Framework Control / Reference Relevance
OWASP Agentic AI Top 10 A2 Addresses agentic authorization gaps when model and tool access are split.
OWASP Non-Human Identity Top 10 NHI-03 Covers excessive or poorly scoped non-human identity access for MCP tools.
CSA MAESTRO MAE-04 Maps to runtime control of autonomous agent actions across toolchains.

Unify model and MCP policy checks at runtime so tool use matches the agent's current intent.