Home / Compliance / SOC 2

SOC 2 compliance for MCP deployments

How AI-agent tool calls fall under the Trust Services Criteria — what auditors ask, where default setups fall short, and the controls that produce the evidence.

QUICK ANSWERSOC 2 has no AI module. MCP tool calls are tested under the existing Common Criteria — logical access (CC6.1–6.3), monitoring (CC7.2–7.3), change management (CC8.1). The recurring finding: privileged actions must trace to an identifiable person, and a shared API key is not attribution.

POLICYLAYER SCAN DATA 31,002 tools · 4,628 servers · 1,773 destructive · 1,649 execute code Methodology & research →

SOC 2 certifies organisations. MCP is just the traffic.

A protocol can’t “be SOC 2 compliant” any more than HTTP can — the audit tests your controls over your deployment: the AI clients, the servers they reach, and everything in between. Three things put that traffic in scope.

01
Every call is logical access

A tools/call reaches the database, repo or payment API behind the tool. That is CC6 territory: access must be mediated, inventoried and attributable.

02
Agents are non-human identities

The 2022 points of focus direct auditors to evaluate all actor types, not just employees. Agents get the same provisioning, least-privilege and review expectations as privileged service accounts.

03
Sanctioned, proxied, logged

Current auditor commentary favours deployments where every identity is registered, every call mediated by policy, every verdict recorded — what a gateway produces by construction.

Where auditors look, criterion by criterion.

For each criterion: what it requires, the question asked of your AI traffic, the default-setup gap, and the control that closes it.

CC6.1 Logical access security
WHAT IT REQUIRES

Logical access security software and architectures over protected information assets, starting with identifying, inventorying and classifying those assets.

THE AUDITOR'S QUESTION

Each tool call is logical access to the upstream system. Is that access mediated by access-control software, and are the tools inventoried and classified by what they can do?

THE DEFAULT-SETUP GAP

A shared API key in client config means no access-control layer between agent and upstream — and no inventory or risk classification of the tools exposed.

GATEWAY ENFORCEMENT

The gateway sits inline as the access-control layer; credentials stay in central custody, out of client configs; the catalogue provides the asset inventory with risk classification.

31,002 tools across 4,628 servers carry a risk classification — 19,718 Read · 7,607 Write · 1,773 Destructive · 1,649 Execute · 154 Financial. The classification is the CC6.1 inventory artefact.

CC6.2 Provisioning
WHAT IT REQUIRES

Users are registered and authorised before credentials are issued and access is granted.

THE AUDITOR'S QUESTION

Who authorised this person — or this agent — to call this tool? The auditor wants a record that access was granted deliberately, per identity, before first use.

THE DEFAULT-SETUP GAP

A shared key has no registration step: whoever holds it has access, with no per-identity authorisation record.

GATEWAY ENFORCEMENT

Per-person scoped grants — each identity is registered and explicitly authorised to a tool set before any call. The grant issuance log is the provisioning evidence.

CC6.3 Least privilege & deprovisioning
WHAT IT REQUIRES

Access is authorised, modified and removed based on roles and responsibilities, considering least privilege and segregation of duties.

THE AUDITOR'S QUESTION

Is each agent’s tool access scoped to what its role needs — and is access revoked promptly when someone leaves? Auditors routinely sample leavers and ask for timestamped revocation proof.

THE DEFAULT-SETUP GAP

A shared key is all-or-nothing: no least privilege, and revoking it cuts off every user at once — so in practice it never gets revoked.

GATEWAY ENFORCEMENT

Grants scope tool access per identity; one person’s grant is revoked without touching anyone else’s, leaving a clean, timestamped deprovisioning trail.

1,773 destructive, 1,649 execute and 154 financial tools in the catalogue are exactly what least-privilege scoping keeps away from read-only agents.

CC6.6 Boundary protection
WHAT IT REQUIRES

Logical access security measures against threats from outside the system boundary.

THE AUDITOR'S QUESTION

Where is the trust boundary for AI traffic, and what enforces it? How are external clients authenticated and constrained at the perimeter?

THE DEFAULT-SETUP GAP

Every client connecting directly to every server with its own copy of the key means there is no defined boundary — the secrets live on every laptop.

GATEWAY ENFORCEMENT

The gateway is the single enforced boundary. Upstream credentials never leave it; clients hold only their own revocable grant token.

4,628 catalogued servers consolidate behind one boundary instead of N direct client-to-server connections.

CC7.2 Anomaly monitoring
WHAT IT REQUIRES

System components are monitored for anomalies indicative of malicious acts or errors — explicitly including unauthorised actions by authorised users and use of compromised credentials.

THE AUDITOR'S QUESTION

A read-scoped agent attempting a destructive call, a spike in call volume, off-pattern arguments — the anomaly surface of AI traffic. Can you see it?

THE DEFAULT-SETUP GAP

Default MCP produces no call-level telemetry. Anomalies are invisible because nothing records the calls.

GATEWAY ENFORCEMENT

Every call is logged with its grant, tool, argument keys, the rule that decided, and the verdict. Denied-call records are the tool-call analogue of the failed-login logs auditors sample; rate limits and spend caps bound the blast radius.

Risk classification lets monitoring prioritise what matters: calls touching the 1,773 destructive and 154 financial tools in the corpus.

CC7.3 Event evaluation
WHAT IT REQUIRES

Detected events are evaluated to determine whether they are security incidents that could impair objectives.

THE AUDITOR'S QUESTION

When a high-risk call is denied or a policy trips, can the organisation triage it as a potential security event?

THE DEFAULT-SETUP GAP

Without verdict records there is nothing to evaluate — events pass unexamined.

GATEWAY ENFORCEMENT

Each allow/deny verdict carries the deciding rule, giving a reviewable event record that feeds incident evaluation (and response under CC7.4).

CC8.1 Change management
WHAT IT REQUIRES

Changes to infrastructure, data, software and procedures are authorised, designed, tested, approved and documented.

THE AUDITOR'S QUESTION

Agent actions that change production systems need an authorisation trail — and the policies and grant scopes governing them are themselves changes to control procedures.

THE DEFAULT-SETUP GAP

On a shared key, agents make changes with no approval workflow and no record of who sanctioned the capability.

GATEWAY ENFORCEMENT

Deny-by-default policy routes privileged actions through explicit, documented allow rules — with argument conditions for fine-grained gates. Policy and scope changes are versioned and attributable.

Policies that produce the evidence.

Illustrative policies — not complete compliance controls on their own.

Least privilege for a read-mostly agent CC6.1 · CC6.3

Allow reads and listings. Deny everything else by default — destructive and execute paths never open unless a rule explicitly opens them.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "list_repositories": {},
    "get_file_contents": {},
    "search_code": {}
  }
}
Change gate on a privileged action CC8.1

Allow merges — except into main, which stays blocked so the change goes through your normal human approval path. The deny verdict lands in the audit log with the rule that decided.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_pull_request": {},
    "merge_pull_request": {
      "deny_if": [
        {
          "conditions": [
            { "path": "args.base", "op": "eq", "value": "main" }
          ]
        }
      ]
    }
  }
}

See Writing policies for the policy format, operators, and quota shapes.

What the auditor samples — and what you export.

The standard requests for the access and monitoring criteria, and the artefact a gateway deployment hands over for each.

What the auditor asks forWhat the gateway exports
Full access listing — who can reach what (auditor samples ~25 identities) Grant roster: every person and agent identity with its scoped tool set, per server.
Access-request and approval records (CC6.2) Grant issuance log — identity, scope, issuer, timestamp.
Periodic access-review evidence (CC6.3) Exportable grant review: active grants by person, scope and age.
Deprovisioning proof for sampled leavers (CC6.3) Timestamped grant-revocation records, per identity.
Logs of successful and failed access attempts (CC7.2) Per-call audit log: grant, tool, argument keys, deciding rule, allow/deny verdict.
Change approval trails for production-affecting actions (CC8.1) Versioned policy history plus the per-call record of which rule authorised each privileged action.
Agent identity inventory (emerging 2026 ask) The grant roster doubles as the non-human-identity inventory, classified by tool risk tier.

SOC 2 and MCP questions.

Is MCP SOC 2 compliant?+

No protocol can be — SOC 2 certifies an organisation’s controls over a defined system, not a wire protocol. The right question is whether your MCP deployment has the access-control, monitoring and change-management controls the criteria test, which depends on your architecture, not on MCP itself.

Does SOC 2 cover AI agents?+

There is no separate AI module as of 2026. Auditors evaluate agent tool calls under the existing Common Criteria — chiefly logical access (CC6.1–6.3), monitoring (CC7.2–7.3) and change management (CC8.1). The recurring new finding is attribution: privileged actions must trace to an accountable identity, which autonomous agents on shared keys break.

Will a shared API key in my Claude or Cursor config pass an audit?+

It is the textbook gap. A shared key used by many agents is not attribution — it fails the CC6.1/CC6.2 expectation that access is per-identity and authorised, and it leaves no call-level audit trail for CC7.2.

How do I make my MCP deployment SOC 2 ready?+

Replace shared keys with per-person scoped identities, mediate every tool call through deny-by-default policy, keep upstream credentials in central custody rather than client configs, and log every call with its verdict. Current auditor commentary favours sanctioned, proxied, logged deployments.

Does using PolicyLayer make my organisation SOC 2 compliant?+

No tool confers compliance — your auditor attests your controls across the whole system. What the gateway contributes is the control infrastructure and evidence for the MCP slice: scoped grants, deny-by-default enforcement, and the per-call audit trail your auditor samples. Your other systems, and your upstream vendors’ own reports, remain separate questions.

Raw MCP versus gateway-mediated MCP.

Default setupThrough the gateway
One shared upstream API key on every laptop Per-person scoped grant tokens, revocable individually
No record of what agents called Per-call audit log: grant, tool, argument keys, rule, verdict
Every tool on a server is callable Deny-by-default — each tool and argument explicitly granted
Access rules scattered across client configs One central, version-controlled policy

PolicyLayer doesn’t certify your organisation — it gives your compliance team enforceable controls and exportable evidence for the MCP slice of the audit.

Primary sources.

Last reviewed 04-06-2026 by the PolicyLayer research team. This guide maps how the framework intersects with MCP deployments — it is not legal advice.

Enforceable controls and audit evidence on every MCP call.

Per-person grants, deny-by-default policy and a per-call audit log — the SOC 2 evidence for the MCP slice of your programme. Live in minutes.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.