LetterMCP

MCP Server Ecosystem for Enterprise Teams

Security teams are scrambling to govern a standard that outpaced their defenses.

· 11 min read · Updated
Cover illustration for “MCP Server Ecosystem for Enterprise Teams”
Agentic AI Foundations · July 24, 2026 · 11 min read · 2,586 words

The Model Context Protocol solved a real problem for enterprise AI teams, and that's the reason it spread as fast as it did. It gives agents a standard way to reach databases, SaaS tools, and internal systems without a custom integration built for every single connection. That drop in integration friction is what pushed adoption from a niche protocol to something running in production at a large share of enterprise software teams surveyed, with tens of thousands of active public servers now live. The protocol has become the de facto standard for connecting AI agents to tools and data, and the pace of that growth is itself the reason enterprise security teams are behind.

MCP ecosystem growth outpaced enterprise security teams

MCP earned its adoption curve. Teams that once had to write bespoke connectors for every CRM, every ticketing system, every internal database now point an agent at a server and get the same result in a fraction of the engineering time. That is a genuine engineering win, and the fact that tens of thousands of servers now exist in production environments says something true about the value developers found in the standard.

But the same standardization that made MCP easy to adopt also built a new trust boundary into every enterprise's software stack, and most security teams never got the chance to design around it. Each MCP server an agent connects to brings its own tool definitions, its own permissions, its own credentials, and its own execution paths, and every one of those has to be governed somehow. Before MCP existed, hooking an agent up to a CRM or a ticketing system meant building a custom integration, and building that integration forced a team to sit down and work out authentication, permissions, and scope before anything shipped. MCP removes that forcing function. The convenience that made adoption so fast also removed the moment where a team was required to think through who gets access to what.

The gap is structural, produced by governance failing to keep pace with deployment, and it now sits across enterprise AI infrastructure everywhere MCP has been adopted. Gartner named agentic AI oversight its top cybersecurity trend for 2026, and its warning was specific: unmanaged AI agent proliferation is already outpacing the governance structures meant to contain it. That's the condition the rest of this piece has to be read against. The protocol works. The ecosystem around it hasn't caught up to what the protocol enables.

What the live MCP attack surface looks like

None of this is hypothetical anymore. Documented exploits, CVEs filed against production software, and active criminal campaigns already map onto a defined set of threat categories, and enterprise teams need to understand each one before they can build any real defense.

Tool poisoning is the most documented attack pattern of 2026. A malicious or compromised server can embed instructions inside a tool's description field, and the model reads that metadata as a trusted command even though no human ever sees it. A tool labeled "search_emails" can carry hidden instructions telling the model to also exfiltrate SSH keys, and the user has no way to know. Invariant Labs showed how damaging this can be against Claude Desktop, running an indirect prompt injection attack on the GitHub MCP server, a pattern researchers call a "toxic agent flow," that successfully extracted private repository source code without ever poisoning GitHub's own tool descriptions. The MCPTox benchmark put this to a harder test, running adversarial variants of hundreds of real tools pulled from dozens of live servers against a range of language models, and found attack success rates that stayed high across the board. Even the model with the strongest refusal behavior in the test still complied with poisoned instructions more than a third of the time. Microsoft's Defender research team documented a related failure mode: a finance team's agent was connected to an approved, legitimate invoice enrichment tool, and the tool's description was quietly updated after approval to carry hidden instructions. MCP picks up description changes automatically, and in setups without a re-approval trigger, the poisoned version goes live with no review at all.

By February 2026, a campaign called Sandworm_Mode had weaponized npm typosquatting against AI coding assistants including Claude Code, Claude Desktop, Cursor, VS Code Continue, and Windsurf, installing rogue MCP servers through packages built to mimic popular utilities. The attack used prompt injection to pull SSH keys and AWS credentials off infected machines, while npm tokens and other secrets were harvested in the very first stage of the attack. OpenClaw's skill marketplace showed what this looks like at consumer scale: researchers found a significant share of the skills listed on ClawHub were malicious, delivering Atomic Stealer on macOS and keylogging malware on Windows to anyone who installed them. The consequence for an enterprise team is specific and immediate. A compromised MCP server does not just break a build somewhere. Because these servers have direct access to enterprise systems by design, a compromise can exfiltrate production data directly.

Authentication gaps make every one of these threats worse. Research across the MCP ecosystem found that only a small minority of servers use OAuth. More than half rely on static API keys sitting in environment variables and config files, and a large share run no authentication at all. Static keys don't expire on their own, so when a developer leaves a company, the MCP credentials tied to their work keep working indefinitely. The OpenClaw exposure showed what that looks like deployed at scale: more than 42,000 instances were found running with MCP enabled by default, no authentication required, and credentials sitting extractable on publicly reachable endpoints. These weren't misconfigured edge cases. That was the default deployment behavior.

Audit blindness compounds all of it. When an MCP server reads thousands of customer records and sends them to an external endpoint, most deployments generate no log of the event at all, no record of which agent called which tool, what parameters it sent, what data came back, or whether the server behaved the way it claimed to. SOC 2, HIPAA, and GDPR all require audit trails for system access, and MCP deployments typically have none to show. On top of that, the CVE count confirms this has already become a mass-market problem rather than a fringe one. Researchers filed dozens of CVEs against MCP servers, clients, and infrastructure in the first two months of 2026 alone. Wiz Research disclosed a high-severity flaw, with a second related CVE, in the Amazon Q VS Code extension, where a malicious repository could achieve arbitrary code execution and steal cloud credentials through a crafted workspace MCP configuration file. The spawned MCP server process inherited the developer's full environment, handing an attacker immediate access to cloud infrastructure. Trend Micro separately identified 95 MCP-specific CVEs.

These categories point to one underlying design mismatch. Most enterprise MCP deployments run on a credential and identity model built for humans logging into systems directly, and that model fails in nearly every important way once AI agents are the ones doing the logging in. Machine identities already outnumber human identities inside enterprise organizations by at least 45 to 1, and that ratio keeps climbing as AI adoption grows. Most agents never get a distinct, auditable identity of their own. They inherit a user's credentials, share a service account, or operate under broad delegated permissions, and none of those setups gives a security team a clean way to scope, review, or revoke an agent's access on its own. MCP turns every agent into an active non-human identity operating across enterprise systems, so a leaked secret grants the ability to act on that data, not just exposure of it. A large majority of CISOs and CIOs at large enterprises admit they lack full visibility into their own AI agent identities, and they doubt they could detect or contain a compromised agent if one turned up.

Static credentials are the dominant failure mode driving this. API keys get pasted into config files, scattered across development, staging, and production, and never rotated, so credentials stay valid and ungoverned by design. The same keys get duplicated across environment variables and config files, and if no full inventory is kept anywhere, they rarely get rotated and stay live indefinitely. Over-permissioning follows a similar pattern: developers grant broad access during development to avoid hitting authorization errors, and those same broad scopes ship unchanged into production. Research backs this up directly: most MCP servers require credentials of some kind, but few scope that access down to the minimum needed, and the gap is driven mostly by developer convenience rather than any malicious intent.

Multi-agent chains compound this risk. When a bearer token passes through several agents in sequence, each hop can reuse the same delegated credential at full scope, and nothing in that chain stops permissions from expanding as the token moves. Token formats like Biscuits and Macaroons solve this through offline scope attenuation: an agent that receives a token can cryptographically restrict it before handing it to the next agent in the chain, so each hop can only narrow permissions, never widen them. Where credentials are stored matters just as much as the token format used. HashiCorp Vault is a useful reference pattern here: it manages the credentials agents use to reach systems and issues short-lived tokens instead of static ones. Vault doesn't replace an identity platform on its own, but no serious agent deployment should run without something doing that job.

What the 2026 MCP specification changes for enterprises

The MCP specification itself has moved, and the movement is real. The 2026 updates mark a genuine governance inflection point for the protocol, but they solve authentication architecture specifically, leaving the full set of operational controls enterprises still need to build on top of it.

The most significant change is Enterprise-Managed Authorization, promoted to stable status on June 18, 2026. EMA moves the authorization decision to the organization's own identity provider. An admin approves a given server once, and every employee authorized under that identity provider inherits access automatically, so no per-user setup is required. Day-one adopters on the server side already include Asana, Atlassian, Canva, Figma, Granola, Linear, and Supabase, and Slack is adding support. This is the first point where enterprise identity infrastructure can actually sit as the governing authority over MCP server access at the protocol level, rather than something a security team bolts on afterward.

MCP's institutional backing has shifted too. MCP is now a Linux Foundation project, donated to the Agentic AI Foundation in December 2025, with Anthropic, OpenAI, and Block as co-founders and AWS, Google, Microsoft, Cloudflare, and Bloomberg all signed on as members. That kind of commitment from across the industry signals the protocol is being built for the long term, not maintained by a single vendor with a single roadmap.

The July 2026 spec update introduced progress on one front and new exposure on another. Instead of permanent sessions, the new version uses tracking identifiers and state objects that the server hands to the client. Akamai has flagged three specific risks tied to those identifiers if they turn out to be predictable: an attacker could hijack an active workflow, reach data belonging to a different agent, or trigger actions across tenant boundaries that were never authorized.

None of this closes the operational gap. The specification does not provide runtime enforcement, audit logging, tool description scanning, shadow server detection, or policy enforcement at the level of individual tool calls. The enterprise has to build, buy, or operate every one of those on its own. EMA fixes who gets to say yes to a server. It does not watch what that server does once an agent starts calling it, and it does not catch a tool description that gets poisoned after approval. The specification gives enterprises a foundation to build identity governance on. It does not hand them a finished security program.

Evaluating and selecting MCP servers before production

If you keep a bad MCP server from ever reaching production, it costs far less, and works far more reliably, than catching problems after an agent has already been calling that server for months. That makes server evaluation the first control an enterprise should put in place, well before any conversation about runtime monitoring or incident response.

Evaluation starts with the same authentication question raised earlier in this piece: does the server support OAuth, or does it fall into the majority relying on static API keys or no authentication at all. A server that can't meet a baseline authentication standard should be treated as a rejection, not a risk to manage around, given how directly static credentials tie into the exposure already seen in incidents like the OpenClaw default deployment. Source code availability matters just as much. A server with no visible source code can't be audited, and a security team has no way to confirm what its tool descriptions actually do or whether they've been altered since the server was first approved. Teams should also check what happens when a tool description changes after approval: the invoice enrichment scenario documented by Microsoft's Defender team showed how an approved server can turn malicious through a silent update with no re-approval step in place. If a server pushes description changes live without triggering a fresh review, it should require one before it's allowed back into production.

Permission scope deserves its own line of scrutiny, separate from authentication. Most servers ask for more access than the task actually requires, mainly because broad scopes are easier for developers to build against than tightly scoped ones, not because anyone intends harm. Enterprise teams evaluating a server should ask for the minimum scope that task requires and push back when a server's default permissions reach further than that. Provenance matters alongside scope: given how the Sandworm_Mode campaign spread rogue MCP servers through typosquatted npm packages built to mimic trusted utilities, teams need to confirm a server's package name, maintainer, and distribution channel match the real, verified project rather than a convincing copy.

Identity architecture belongs in the evaluation checklist, as part of the initial server assessment. A server should support distinct, auditable identities for the agents connecting to it, rather than forcing every agent to share one broad service account, because shared credentials make a single leaked secret dangerous across an entire deployment. Where a server will sit inside a multi-agent chain, it should support token formats like Biscuits or Macaroons that allow scope attenuation at each hop, so permissions only ever narrow as a token moves through a chain of agents rather than expanding with each handoff. And credential storage practices should be checked directly against a reference pattern like HashiCorp Vault, confirming the server issues short-lived tokens instead of long-lived static keys and that secrets are managed somewhere auditable rather than sitting in a config file.

Finally, given that the specification itself leaves runtime enforcement, audit logging, tool description scanning, and shadow server detection as enterprise responsibilities, evaluation needs to confirm a server can be plugged into whatever logging and monitoring infrastructure the organization already runs. A server that can't produce the kind of record SOC 2, HIPAA, or GDPR audits require should be flagged before it ever reaches a production environment, not after an auditor asks for logs that don't exist. None of these checks are complicated individually. Run together, before a server ever touches a live system, they are what turns MCP adoption from an open exposure into a deployment an enterprise can actually stand behind.

Sources

  1. Agentic MCP Security Best Practices Guide

More in Agentic AI Foundations