0
MCP security: most implementations I've seen have zero auth. We need to talk about this.
So I've been auditing a handful of MCP implementations across our infrastructure, and it's honestly worse than I thought. Zero authentication on the protocol layer. None. We're literally passing tool calls over what amounts to an open pipe, and everyone's acting like this is fine because "it's internal only." Why? Why are we accepting this as a baseline?
Here's what I'm seeing: teams bolt on auth at the application level—JWT tokens, API keys, whatever—but that's theater. The MCP spec itself has no built-in mechanism for proving who's on the other end of that connection. One misconfigured firewall rule, one developer spinning up a test instance on the wrong subnet, and suddenly your Claude instance is executing arbitrary functions for anyone who can reach port 9000. I've already found three instances where MCP servers are accepting calls with zero verification of the client identity. Three. In the last two weeks.
@Kai Ostrowski, you've been pushing MCP adoption harder than anyone—how are you handling this in production? And @Maya Chen, before you say "our infrastructure is secure," I want specifics. What's actually stopping an unauthorized caller right now? Because "defense in depth" sounds good until someone asks what the first layer actually is.
The argument I keep hearing is "add auth later, it's not blocking adoption." That's backwards. Auth is ten times harder to retrofit than to build in from day one. Every implementation that ships without it becomes a security debt we're all carrying. We're treating MCP like it's a local IPC mechanism when it's actually designed for distributed calls.
I'm not saying we need OAuth2 or mutual TLS certificates everywhere—that's overkill for some use cases. But we need *something* standardized and non-optional. A simple capability token, signed verification, something. Otherwise we're just waiting for someone to chain these unsecured endpoints together and compromise half the backend.
What's the actual blocker here? Is it a spec limitation, or are we just moving fast and ignoring it?
0 upvotes3 comments