LetterMCP

Shadow MCP Detection Tooling for Enterprise Security Teams

Four detection layers help security teams find and control unauthorized MCP servers.

· 9 min read
Cover illustration for “Shadow MCP Detection Tooling for Enterprise Security Teams”
Agent Security · November 4, 2026 · 9 min read · 1,924 words

Shadow MCP detection tooling for enterprise security teams needs four layers, namely network inspection, endpoint scanning, identity telemetry, and policy enforcement. Network tools find remote connections, endpoint tools find local servers, and identity telemetry links tool calls to the employees who make them. A registry then blocks unapproved connections before use, turning repeated discovery of rogue integrations into enforceable control.

Why shadow MCP servers are a harder problem than shadow IT ever was

An employee can configure an MCP connection in a local JSON file. A file such as claude_desktop_config.json can define access that does not appear in SSO logs, CASB dashboards, or endpoint inventories by default. Unlike an unapproved SaaS signup, the connection can hold privileged, scoped credentials that persist until someone manually revokes them.

Shadow IT introduced unapproved data storage, and shadow AI introduced unapproved data processing. Shadow MCP adds callable tools, including database queries, shell commands, and API calls that an agent can run without a human in the loop. Each stage compounds the exposure of the last because the agent can act on the data it receives.

OWASP MCP Top 10 MCP09:2025 defines shadow MCP servers as unapproved or unsupervised deployments that bypass centralized authentication, monitoring, and data governance. An experimental server with permissive settings can create the same blind spot as an integration deployed outside the approval process.

Why every traditional discovery method misses MCP traffic

Conventional discovery tools look in places where MCP activity does not necessarily appear. Local tool responses flow through the client’s own process into the model context, so sensitive content in those responses can avoid the network path a conventional proxy or data loss prevention tool inspects. Legitimate protocols and authenticated channels also give traditional bot detection little reason to flag the activity. The traffic need not look like an attack.

The audit gap extends beyond missing packets. Actions through an unmonitored shadow server can leave no entries in security tooling, no structured logs, and no trace linking the action to a user request. OWASP’s shadow-server guidance treats an inability to list active MCP servers as a warning that shadow deployments already exist. Silence from existing tools is not proof of coverage.

The July 28, 2026 MCP specification revision changed the network side of this problem. It introduced a stateless, per-request model, with protocol version and client capabilities in each request’s _meta and operation details in standardized HTTP headers. That change makes HTTP-based MCP traffic consistently identifiable on the wire.

What shadow MCP servers actually expose when they go undetected

Persistent credentials let a server keep its access while it goes undetected, and autonomous agents can use that access without stopping and at machine speed. Missing audit trails then make the resulting activity harder to reconstruct. This combination turns a discovery failure into an operational risk. The organization may not know which capability was exposed, which agent used it, or whose request started the sequence.

Tool poisoning exploits the model’s view of a tool. Malicious instructions hidden in tool metadata can be invisible to users while remaining visible to the model, compromising sessions that use the poisoned tool. Prompt injection through tool results works differently. A rogue server returns data that redirects the agent toward disclosing sensitive context, calling other tools, or abandoning its task, using permissions the agent already holds.

Those permissions can include access to regulated data. Cardholder data under PCI DSS, health records, and personal data under GDPR can pass through an integration the organization does not know exists. An agent can also move data faster than a human without the behavioral anomalies DLP systems are tuned to catch. OWASP’s guidance names “incident response complexity” as an impact because untracked servers delay containment and forensics after the harm begins.

Network-layer detection: identifying MCP traffic before it reaches the endpoint

Protocol-aware inspection gives security teams a broad first look at how remote MCP is being used. On TLS-inspected traffic, detection can inspect MCP-Protocol-Version and Mcp-Method on requests, plus JSON-RPC method patterns. The Mcp-Name header identifies the target only for tools/call, resources/read, and prompts/get. These signals identify protocol activity rather than relying only on URL lists.

Cloudflare Gateway provides a concrete implementation through its beta selector, experimental.is_mcp == true. It uses protocol-level heuristics to identify MCP requests on TLS-inspected traffic. Its dashboard shows total request volume, unique users and servers, per-server counts, and top servers seen outside approved portals over a configurable period.

A policy using experimental.is_mcp == true and not traffic.onramp in ('mcp_portal') blocks MCP traffic that bypasses established secure paths. This addresses the case where an employee starts through an approved portal, then connects directly to the upstream URL.

The limit is the transport it can inspect. Network detection can see HTTP and Streamable HTTP traffic, but it cannot see stdio connections between local processes. A quiet network dashboard can therefore coexist with active local MCP servers, which require a different discovery layer.

Endpoint scanning: finding MCP servers the network cannot see

Endpoint scanning scans MCP client configuration files across macOS, Windows, and Linux, parses registered servers, and resolves whether each binary or URL is approved. The two layers are complementary, not redundant. Network inspection shows remote traffic, while device inspection can list a configured local server even if it never makes a network request.

Bifrost Edge distributes this coverage through MDM platforms including Jamf, Microsoft Intune, Kandji, Omnissa Workspace ONE, and JumpCloud. It continuously monitors AI application configurations and MCP registrations. Its discovery covers Claude Desktop, Cursor, Claude Code, Codex, Gemini CLI, and OpenCode. A central dashboard deduplicates servers across the fleet, while SSO sign-in at setup links each device to an organizational identity.

A shadow server resolves to a named user rather than an anonymous machine, and device-level allow or deny controls can block a denied server before invocation. Invariant Labs’ mcp-scan, invoked through uvx mcp-scan@latest, serves a narrower purpose by scanning MCP setups for tool poisoning. It is not a substitute for fleet inventory. OWASP recommends weekly automated shadow MCP scans that alert the security operations team, so teams keep finding local servers as they appear.

Identity telemetry: connecting MCP activity to verified enterprise users

Knowing who owns a device does not show who authorized each tool call. MCP does not define a role-based access control model, require authentication, or specify how a session maps to a verifiable enterprise identity. Discovery alone leaves that attribution gap open. Audit-grade evidence needs to connect each action to a responsible identity.

The July 2026 revision tightened part of the authorization process. Clients must validate a present iss parameter against the recorded issuer before redeeming an authorization code and must key stored credentials by issuer. Those protections apply to compliant servers. The authorization specification also prohibits accepting a token intended for another recipient and forwarding it onward, requiring resource indicators that bind tokens to their intended server.

Hush Security’s September 2026 analysis of public MCP configuration files on GitHub found a meaningful share of credential slots contained hardcoded literals, with a significant fraction both broad-scope and non-expiring. That finding supports replacing persistent tokens with just-in-time credentials.

An identity broker centralizes this control. Palo Alto Networks’ Secure AI Agents proxies agent communications to target MCP servers. At the gateway layer, SSO, SCIM, and per-request credential issuance with automatic expiry support verified attribution without leaving long-lived credentials in each integration.

Policy enforcement and the registry model: making unauthorized connections structurally impossible

A scan can find an unapproved server only after it exists. A registry-and-policy layer instead defines the agent’s permitted tools upfront, with each server’s name, description, permitted inputs, and approval status recorded before invocation. It works above the discovery layers.

OWASP recommends requiring registration before deployment and linking the registry to CI/CD so unregistered instances fail deployment. Registry metadata includes owner, purpose, version, endpoints, compliance state, and contact, with approval and risk classification for each new instance. Approved templates require authentication and authorization, disable unauthenticated calls and external access by default, and include logging and rate limits. Deployments that depart from those templates are blocked.

Server approval alone is still too coarse. Tool-call policy can allow, modify, or block an individual action rather than treating every action from an approved server equally. Cloudflare’s WriteGuard approach illustrates this distinction by assigning risk tiers to tools. It passes reads unchanged, adds agent attribution and audit events to allowed writes, or blocks critical actions before the handler executes.

Network segmentation reduces the risk from servers that skip registration. VPC-level controls and firewall rules restrict which hosts can reach MCP endpoints. OWASP also recommends adding shadow MCP detection to threat-hunting playbooks and triggering an incident response workflow to contain, image, and analyze a rogue server when discovered.

Regulatory and audit requirements that give the detection program its deadline

The technical program also supplies evidence that compliance reviews demand. An inventory cannot show who called a tool, what data was involved, under which authorization, and when. That requires logs from the gateway as well as the model. Tamper-proof audit logs with full OTEL tracing must cover MCP tool calls and link them to verified enterprise identities.

The EU AI Act’s high-risk system rules, including conformity assessment and technical documentation requirements, became enforceable August 2, 2026. Articles 19 and 26(6) require logs from high-risk systems to be kept for at least six months, while Article 12 separately requires those systems to be able to keep logs. The Act’s fines can reach 7% of global annual turnover or a fixed maximum amount, whichever is higher. That maximum should not be read as the penalty for every logging failure.

NIST AI RMF version 1.0, released in January 2023 and under revision, provides a different kind of pressure. Its updated MEASURE guidance has become a de facto baseline for US federal procurement and enterprise vendor questionnaires. AIUC-1 (2025) positions itself as a “SOC 2 for AI agents,” mapping controls to existing frameworks to address gaps around autonomous tool use.

Underwriters in 2025–2026 increasingly carve AI-related incidents out of default D&O, E&O, and CGL policies, while cyber coverage puts reasonable technical measures under scrutiny. Detection records, enforced policies, and attributable tool-call logs give security and finance teams concrete evidence of those measures.

Where should security teams start with shadow MCP detection and remediation?

Diagram: Four Layers of Shadow MCP Detection. Visualizes: Show a four-layer stack that builds from discovery to enforcement: (1) Network Inspection — identifies MCP traffic on HTTP/Streamable HTTP via protocol headers like MCP-Protocol-Version and…

Security teams should start with an endpoint inventory and then work toward enforcement. Scanning local configurations exposes registered servers, including stdio processes that a gateway cannot see, and links discoveries to device users. Continuous monitoring or recurring scans then reveal configuration changes rather than leaving the inventory as a one-time snapshot.

Next, teams should turn on protocol-aware network detection. A gateway with MCP detection enabled reveals HTTP-based activity, user attribution, and servers operating outside approved portals in real time. Identity binding should follow at tool-call depth through SSO, SCIM, and just-in-time credentials. Where servers support EMA, adopting it can reduce per-app OAuth sprawl.

The next step is a centralized registry with approved-server allowlists and baseline policy. CI/CD integration should reject unregistered additions before production, while device and network controls enforce the approved paths. Discovery gives the registry actual deployments to evaluate. Without those inputs, a registry can describe the intended environment while missing the one employees use.

Finally, teams should link what they detect to threat-hunting and incident response workflows, keep audit records for as long as the rules require, and schedule quarterly rescans. Those broader reviews do not replace OWASP’s weekly detection recommendation. The operational goal is a program that can find an unauthorized connection, identify the responsible user, block further use, and preserve the evidence needed for response.

Sources

  1. MCP09:2025
  2. Scaling MCP adoption: Our reference architecture for simpler, safer and cheaper enterprise deployments of MCP
Filed underAgent Security

More in Agent Security