Skip to content

    MCP Compliance: Mapping SOC 2 and ISO 27001 to MCP Servers and AI Agents

    If you run a Model Context Protocol (MCP) server in production, your next SOC 2 or ISO 27001 audit is going to ask a question your auditor has probably never phrased before: how do you control what an autonomous agent can do with the tools, files, and credentials you exposed to it? The frameworks were written for human-and-service access patterns, not for an LLM that decides at runtime which tool to call. The controls still apply. The evidence just looks different.

    This guide maps the specific control families auditors test — SOC 2 Trust Services Criteria CC6 (logical access), CC7 (monitoring), and CC8 (change management), plus the relevant ISO/IEC 27001:2022 Annex A controls — directly onto MCP and AI-agent security mechanisms. For each, we say what the control means once an MCP server sits in scope, and exactly what artifact an auditor will ask you to produce. We close with NIST AI RMF context and a practitioner's audit-prep checklist.

    The goal is not to help you pass an audit with a thin paper trail. It is to help you build the access, logging, and change controls that actually contain a compromised or jailbroken agent, and to make the resulting evidence trivially easy to hand over.

    Why MCP changes the scope of a SOC 2 or ISO 27001 audit

    An MCP server is a privilege amplifier. It wraps tools — database queries, internal APIs, file access, shell, email — behind a uniform protocol and hands them to an LLM that selects and chains them on the fly. From a controls perspective, three things break the assumptions auditors usually carry into a review:

    • The principal is non-deterministic. A human follows a role. An agent follows whatever the model decides given its context, which can be steered by untrusted input. Your access model now has to assume the caller can be socially engineered through data it reads (prompt injection), not just through phishing.
    • Tools are the new privileged accounts. Each registered MCP tool is effectively a service account with a blast radius. Listing tools, their scopes, and their backing credentials is now part of your access-control narrative.
    • The audit log has to capture intent, not just the API call. Logging that a row was deleted is no longer enough. You need the tool invocation, the arguments, the agent/session identity, and ideally the prompt context that led to it.

    None of this requires a new framework. SOC 2 and ISO 27001 already demand least privilege, monitoring, and controlled change. What changes is the system description: your MCP server, its tool registry, its identity model, and its guardrails all become in-scope components you must describe and evidence. Scoping them out is the most common — and most costly — early mistake.

    SOC 2 CC6: logical and physical access controls for MCP

    CC6 is where most MCP findings land, because it covers authentication, authorization, and least privilege. Map it as follows:

    • CC6.1 (logical access provisioned by role/need). Every MCP tool must be reachable only through an authenticated session bound to a specific principal. Anonymous or shared-token MCP endpoints fail this immediately. Use OAuth 2.1 with short-lived tokens, or mTLS for service-to-service, and scope tokens to the minimum tool set.
    • CC6.2 / CC6.3 (registration, modification, and removal of access). Tool registration is access provisioning. You need a documented process for adding a tool, who approves it, and the scopes it gets. Deprovisioning means a tool can be revoked without a redeploy.
    • CC6.6 (boundary protection) and CC6.7 (data in transit). TLS on the MCP transport, network segmentation between the MCP server and the backing systems, and an explicit egress allowlist so a compromised agent cannot reach arbitrary hosts.
    • CC6.8 (prevent unauthorized software / inputs). This is the natural home for prompt-injection and tool-poisoning defenses. Validate tool descriptions, pin tool schemas, and sanitize untrusted content before it enters the model's context.

    The single highest-leverage CC6 control for MCP is enforcing least privilege at the tool layer rather than the model layer. Do not rely on the system prompt to tell the agent what it may not do — enforce it in the server. A concrete pattern:

    // Per-tool authorization, enforced server-side, not in the prompt
    function authorizeToolCall(session, tool, args) {
      const grant = policy.lookup(session.principal, tool.name);
      if (!grant) return deny("tool_not_granted");
    
      // Scope narrowing: e.g. db.query is read-only for this role
      if (tool.name === "db.query" && !isReadOnly(args.sql))
        return deny("write_not_permitted");
    
      // Resource constraints: only rows the principal owns
      if (tool.name === "files.read" && !withinAllowedPaths(args.path, grant.paths))
        return deny("path_out_of_scope");
    
      audit.log({ principal: session.principal, sessionId: session.id,
                  tool: tool.name, args: redact(args), decision: "allow" });
      return allow();
    }

    Evidence an auditor wants: the tool-to-role authorization matrix, the policy definition as code, token-issuance configuration showing short lifetimes and scoping, and a sample of denied calls in the logs proving the control fires.

    SOC 2 CC7: system monitoring and incident detection for agents

    CC7 covers detection, evaluation, and response to security events. For an MCP server this is mostly about audit logging quality and the ability to detect anomalous agent behavior.

    • CC7.1 / CC7.2 (detect anomalies and security events). You must log every tool invocation with enough fidelity to reconstruct what an agent did and why. Detection rules should flag patterns no legitimate workflow produces: a sudden spike in tool calls per session, calls to high-risk tools (shell, bulk export, credential read) outside expected workflows, or arguments that look like injected instructions.
    • CC7.3 (evaluate events). Triage runbooks that treat a jailbroken or prompt-injected agent as a security incident, with a clear severity model.
    • CC7.4 / CC7.5 (respond and recover). The ability to kill an agent session, revoke its tokens, and disable a poisoned tool quickly.

    A minimum viable, tamper-evident audit record per tool call should carry these fields:

    FieldWhy the auditor cares
    timestamp (UTC, monotonic)Reconstruct sequence; detect replay
    session_id + principalAttribute action to an identity
    tool_name + arguments (redacted)Establish what was attempted
    authorization_decision + reasonProve the access control evaluated
    upstream_resource touchedTrace blast radius into backing systems
    guardrail_verdicts (injection, PII)Show detective controls ran

    Ship these to a write-once or append-only store (or an SIEM with integrity controls) so logs cannot be altered after an incident — that satisfies the integrity expectation auditors apply to CC7 evidence. Our MCP audit logging guide covers field-level schema and retention in depth, and the monitoring runbooks service turns these into alert rules.

    Evidence an auditor wants: a sample of complete log records, the alerting rules and their firing history, an incident ticket showing the detect-to-respond timeline, and proof of log immutability and retention.

    SOC 2 CC8: change management for tools, prompts, and models

    CC8.1 requires that changes to infrastructure, data, software, and procedures are authorized, designed, tested, and approved. In an MCP system, three things change that classic change management often misses:

    • Tool definitions. Adding or modifying an MCP tool changes the agent's capabilities. Each change needs a ticket, a security review of the new scope, and a rollback path. Tool schemas should be version-pinned so a silently mutated upstream tool description (a tool-poisoning vector) is detected as an unauthorized change.
    • System prompts and guardrail policies. The system prompt is a control. Changes to it must be reviewed and version-controlled exactly like code, because a prompt edit can widen or remove a safety constraint.
    • The model itself. Swapping or upgrading the underlying model changes behavior and risk. Treat a model version bump as a change requiring regression testing against your guardrail and red-team suite.

    Pin and verify tool definitions so drift is a detectable, blockable event:

    # CI gate: fail the build if a tool's schema or description drifts
    # without an approved change record.
    for tool in registered_tools:
        current = hash(tool.schema + tool.description)
        if current != approved_registry[tool.name].hash:
            fail(f"Unapproved change to tool '{tool.name}'. "
                 f"Open a change ticket and re-baseline.")

    Evidence an auditor wants: change tickets for recent tool/prompt/model changes, the approver, the test results, and the diff. A version-controlled tool registry and prompt repository makes this a one-link answer instead of a scramble.

    ISO 27001:2022 Annex A controls for MCP

    ISO 27001 is broader and risk-based — your Statement of Applicability decides what is in scope — but the 2022 Annex A control set maps cleanly onto the same MCP mechanisms. The most relevant controls:

    Annex A controlWhat it means for MCPEvidence an auditor wants
    A.5.15 Access controlTool-level least privilege; agents get only the tools their task needsAuthorization matrix, policy-as-code
    A.5.16 Identity managementEvery agent session has a distinct, attributable identity; no shared tokensIdentity provisioning records, token config
    A.5.17 Authentication informationBacking credentials for tools are vaulted, rotated, never exposed to the modelSecrets-manager config, rotation logs
    A.8.16 Monitoring activitiesPer-tool-call logging and anomaly detection for agent behaviorLog samples, alert rules
    A.8.28 Secure codingInput validation, output encoding, injection defenses at the MCP boundarySAST results, threat model, test cases
    A.5.23 Cloud services securityEgress controls and network segmentation around the MCP serverNetwork policy, allowlist config
    A.8.8 Technical vulnerabilitiesRegular scanning of MCP servers and dependencies for known issuesScan reports, remediation tickets
    A.5.7 Threat intelligenceTracking emerging MCP/agent attack techniques and updating defensesThreat-matrix updates, red-team findings

    For A.8.8, the free open-source mcp-security-scanner checks an MCP server for the common failure modes — unauthenticated tools, over-broad scopes, missing input validation, and tool-poisoning exposure — and produces output you can attach directly to a vulnerability-management evidence package. Pair it with our living MCP threat matrix to keep A.5.7 current, and the MCP vulnerabilities pillar for the underlying issue classes.

    NIST AI RMF: the governance layer auditors increasingly expect

    Neither SOC 2 nor ISO 27001 was written for AI-specific risk, so mature buyers add the NIST AI Risk Management Framework (AI RMF 1.0) as the connective tissue. It is voluntary and not certifiable, but referencing it signals you have thought about agent risk beyond generic IT controls. Its four functions map onto MCP work you are already doing:

    • Govern — ownership of the MCP system, an AI acceptable-use policy, and a documented risk appetite for autonomous tool use.
    • Map — context and impact analysis: what each tool can touch, what a worst-case misuse looks like, and which data classifications are reachable.
    • Measure — red-teaming, guardrail evaluation, and metrics on injection-block rates and tool-misuse detection.
    • Manage — prioritized remediation, incident response for agent compromise, and continuous monitoring.

    You do not need a separate program. A short crosswalk document showing how your existing SOC 2 / ISO controls satisfy each AI RMF function is usually enough to answer the question, and ISO/IEC 42001 (the AI management-system standard) is the certifiable next step if a customer demands one. See the compliance frameworks comparison for how these stack.

    The MCP auditor-prep checklist

    Run this before the auditor's fieldwork starts. Each item ties to a control family above and to an artifact you can produce on request.

    Access (CC6 / A.5.15–A.5.17)

    • No unauthenticated MCP endpoints; tokens are short-lived and tool-scoped.
    • A current tool-to-role authorization matrix exists and matches what the server enforces.
    • Least privilege verified by attempting an out-of-scope tool call and capturing the denial.
    • Backing credentials are vaulted and rotated; the model never receives raw secrets.

    Monitoring (CC7 / A.8.16)

    • Every tool call is logged with principal, args, decision, and guardrail verdicts.
    • Logs are append-only/tamper-evident with a defined retention period.
    • Anomaly alerts exist for high-risk tools and unusual call volume, with firing history.
    • An incident runbook treats agent jailbreak/injection as a security event.

    Change (CC8 / A.8.28)

    • Tool definitions, prompts, and model versions are version-controlled.
    • Tool schemas are hash-pinned; drift fails the build.
    • Recent tool/prompt/model changes have approved tickets and test evidence.

    Vulnerability and threat (A.8.8 / A.5.7)

    • The MCP server has a recent scan report with remediation tracked to closure.
    • A red-team exercise has tested prompt injection and tool misuse paths.
    • The threat model is current and reviewed at a defined cadence.

    If you are starting from a blank slate, sequence it: harden access and logging first (they close the most findings), then change management, then run a focused assessment. Our MCP security audit walkthrough, hardening checklist, and the hardening sprint follow exactly this order, and the attack surface assessment produces the scan and red-team evidence the last section requires.

    Frequently Asked Questions

    What is MCP compliance?
    MCP compliance means demonstrating that your Model Context Protocol server and the AI agents using it satisfy your security and audit obligations — typically SOC 2 Trust Services Criteria and ISO 27001 Annex A controls. In practice it requires tool-level least privilege, per-tool-call audit logging, controlled change management for tools and prompts, and evidence that injection and tool-misuse defenses actually fire. The frameworks are unchanged; the in-scope components and the evidence are MCP-specific.
    What is the difference between SOC 2 and ISO 27001 for MCP servers?
    SOC 2 is an attestation against the Trust Services Criteria (CC6 access, CC7 monitoring, CC8 change) focused on operating effectiveness over a period, common with US buyers. ISO 27001 is a certifiable management-system standard with a risk-based Statement of Applicability drawn from Annex A controls, common internationally. For MCP both demand the same underlying mechanisms — least privilege at the tool layer, attributable agent identity, immutable logging, and controlled change — so a well-built MCP control set generally evidences both with one body of work.
    What SOC 2 controls apply to AI agents and MCP tools?
    The three control families that carry the most weight are CC6 (logical access — authenticate sessions, scope tokens, enforce per-tool authorization), CC7 (monitoring — log every tool invocation and detect anomalous agent behavior), and CC8 (change management — version and approve changes to tools, system prompts, and model versions). CC6.8, which covers preventing unauthorized inputs, is the natural home for prompt-injection and tool-poisoning defenses.
    What evidence do auditors ask for in an MCP audit?
    Expect requests for a tool-to-role authorization matrix, policy-as-code and token configuration showing short-lived scoped tokens, complete sample audit log records with proof of immutability and retention, alerting rules with firing history, change tickets for recent tool/prompt/model changes with test results, and a recent vulnerability scan with remediation tracked to closure. The fastest audits are the ones where each of these is a single link, not a scramble.
    Does NIST AI RMF replace SOC 2 or ISO 27001 for AI systems?
    No. The NIST AI Risk Management Framework is voluntary and not certifiable; it adds an AI-specific governance layer (Govern, Map, Measure, Manage) on top of your existing controls. Most teams write a short crosswalk showing how their SOC 2 and ISO 27001 controls satisfy each AI RMF function. If a customer needs a certifiable AI management system, ISO/IEC 42001 is the next step.
    How do I prevent prompt injection from causing a compliance failure?
    Enforce constraints in the MCP server, not in the system prompt. Authorize every tool call server-side against a policy, scope tokens to the minimum tool set, sanitize untrusted content before it reaches the model's context, pin tool schemas to detect poisoning, and log guardrail verdicts so a blocked injection becomes auditable evidence that a detective control worked. That converts injection from an uncontrolled risk into a contained, demonstrable control.

    Related reading

    Secure your MCP deployment

    MCP Defense runs attack-surface assessments, hardening sprints, and 24/7 incident response for Model Context Protocol and AI-agent infrastructure.

    /* deployed 2026-04-08T12:08 */