An engineer on your platform team connects a new MCP server to the agent stack at 11am. It's listed in a popular registry, has 400 GitHub stars, and the setup takes about eight minutes. What the README doesn't mention: no auth, ever. Any client that knows the endpoint URL can call it.
That scenario is not hypothetical. A 2026 security audit found that 25% of public MCP servers have no authentication at all, and 53% rely on long-lived static API keys or personal access tokens - credentials that, once leaked, provide indefinite access. Meanwhile, as of July 16, 2026, PulseMCP lists 22,311 servers, up from 14,000 in May. The ecosystem is growing faster than its security floor.
The timing matters. July 28, 2026 is the date the current release candidate becomes the official MCP spec.
It is the largest revision of the protocol since launch, delivering a stateless core, MCP Apps, long-running Tasks, and authorization that aligns more closely with OAuth and OpenID Connect deployments. That update will bring more teams into MCP and more agents into production - into an ecosystem where, right now, fewer than one in ten servers meets the auth standard the spec has required for months.
What MCP server authentication actually requires
The spec is not ambiguous. MCP OAuth 2.1 authentication is the authorization framework mandated by the Model Context Protocol specification for all remote HTTP-based servers. As of the November 2025 spec revision, any MCP server accessible over the internet must implement OAuth 2.1 with PKCE - no exceptions. The flow itself is well-defined: the canonical flow covers a 401 challenge, metadata discovery, client registration, and an Authorization Code with PKCE exchange. Token validation requires checks for signature, expiry, issuer, and audience - bound to a canonical MCP server URI.
What makes this hard in practice isn't the protocol. It's that the MCP specification mandates OAuth 2.1, and the 2025-11-25 spec update layered on requirements that traditional OAuth providers simply do not support: Dynamic Client Registration (DCR), Protected Resource Metadata (RFC 9728), Resource Indicators (RFC 8707), and more. Your existing identity provider - the one you've used for the past four years - may not cover these, even if it nominally supports OAuth 2.1. That gap is where most teams run into trouble.
The public MCP server registry grew from roughly 1,200 entries in Q1 2025 to over 9,400 servers by mid-April 2026 - a 7× increase in fourteen months. Meanwhile, 38% of organizations say security concerns are actively blocking their MCP adoption, and 50% of MCP builders cite access control as their top challenge. The two numbers belong next to each other: access control is the top cited challenge, but the ecosystem kept growing anyway, which means most teams shipped without solving it.
Why mixing server types in one stack is the actual risk
The headline numbers - 25% no auth, 53% static keys - are alarming in isolation. The compounding problem is what happens when you mix those servers in a single agent deployment.
MCP servers can rely on OAuth, API keys, bearer tokens, headers, open access, or custom credential patterns, which creates inconsistent security and review requirements across tools. Mixing OAuth-protected production servers with API-key community servers in the same infrastructure introduces privilege escalation risks and audit trail gaps.
The practical scenario: your agent has an OAuth-protected Jira MCP server and an open-access community server for web fetching wired together in the same session. A prompt-injection attack against the open server doesn't just get web content - it can instruct the agent to call the authenticated Jira server on its behalf. The weak link doesn't stay isolated; the agent's context window connects everything.
Manual vetting cannot scale to 10,000+ MCP servers; automated security frameworks with registry-based deployment pipelines are essential for enterprise adoption. Most platform teams are not there yet. The tooling is catching up - Auth0's "Auth for MCP" became generally available on May 6, 2026, integrating OAuth 2.1 and OpenID Connect into the MCP ecosystem.
Okta has also released its own MCP server - a secure protocol abstraction layer that enables AI agents and LLMs to interact with Okta's scoped management APIs, with least-privilege access control enforced at each tool call. But tooling availability doesn't mean adoption. It means the excuse to skip auth is getting smaller.
What the July 28 spec changes - and what it doesn't
The practical effect on a production deployment is immediate. A remote MCP server that previously needed sticky sessions, a shared session store, and deep packet inspection at the gateway can now run behind a plain round-robin load balancer, route traffic on an Mcp-Method header, and let clients cache tools/list responses for as long as the server's ttlMs permits. That is a real operational improvement - it lowers the infrastructure cost of running MCP at scale.
What it does not fix is the auth distribution. This release tightens the contract between clients and servers so those connections are easier to operate, observe, and evolve. There are breaking changes, so implementers have work to do. More teams running MCP on cheaper, simpler infrastructure is good. More teams running MCP on cheaper, simpler infrastructure with no auth is not.
The MCP protocol is going stateless on July 28, 2026, and the GitHub MCP Server already supports the latest spec ahead of the official release. The new stateless core means MCP deployments are now easy to scale. GitHub shipping early is a useful signal - this is what Tier 1 SDK adoption looks like. For enterprise teams, it's also a forcing function: the spec is real, the tooling is ready, and the auth gap is now the last friction point with a name on it.
A practical three-step check before connecting any MCP server to a production agent:
- Identify the auth type. OAuth 2.1 with PKCE is the bar. API key or open access means the server is not spec-compliant for remote deployment.
- Check token scope. A server that asks for broad API access when it only needs read on one resource is a misconfiguration waiting to cause an incident.
- Treat mixed stacks as a single trust boundary. If any server in your agent's session is weaker, the weakest one defines the blast radius.
IAM, NHI, and agent governance teams now have to decide whether MCP access will be layered onto existing identity systems, handled through purpose-built middleware, or pushed into a full platform rebuild. That decision is no longer theoretical. The ecosystem is at 22,000 servers and growing by thousands per month. Whatever your team ships into that ecosystem this quarter, it will inherit the security posture of every other server it talks to.
MCP server security: common questions
What authentication does the MCP spec require?
The MCP specification mandates OAuth 2.1 with PKCE for any remote HTTP-based server. This has been required since the November 2025 spec revision. Static API keys and open-access endpoints are non-compliant for remote deployments, though they remain common in practice - a 2026 audit put OAuth 2.1 adoption at roughly 8.5% of public servers.
Can I use my existing identity provider for MCP OAuth?
Possibly, but not automatically. The MCP spec requires Dynamic Client Registration, Protected Resource Metadata (RFC 9728), and Resource Indicators (RFC 8707) - capabilities that many mainstream OAuth providers do not support out of the box. Auth0's MCP auth product (GA May 2026) and WorkOS are purpose-built for this. Check your provider's docs against those specific RFCs before assuming it works.
What does the July 28 MCP spec change for security?
The July 28 spec is primarily an infrastructure update - stateless core, no sticky sessions, plain load balancer support. It also sharpens authorization alignment with OAuth and OpenID Connect. It does not retroactively fix existing servers with weak or no auth. Security posture stays the property of each individual server and the team that deployed it.
Why is mixing MCP server auth types in one agent session risky?
When an agent holds multiple MCP server connections in a single session, its context window links them. A prompt-injection attack against a weaker or open-access server can instruct the agent to call an authenticated server on its behalf. The blast radius of the weakest server in the session is not bounded to that server alone.
How do I vet an MCP server before adding it to production?
Three checks cover the most common failure modes: confirm the auth type (OAuth 2.1 or flag it), review the token scope it requests against what it actually needs, and document it in your team's server registry. Automated pipeline enforcement - blocking non-compliant servers before they reach production - is the only approach that scales past a few dozen servers.