PaPoo
cover

MCP Stops Being Cute the Moment You Try to Operate It

What jumped out at me here is not the USB-C metaphor. It’s how quickly the piece stops talking about “tooling” and starts talking about the boring, unforgiving stuff: transport, auth, statelessness, token scope, audit policy, failure modes. That’s usually the point where a protocol either becomes real or gets quietly demoted to demoware.

I’m also a little wary of how confidently it leans on spec-version details while only giving fragments. The author clearly knows the operational pain they’re describing, but some of the claims feel like they’re striding a bit ahead of what most teams will actually have in front of them. If you’re building against Claude or any other MCP client, the interesting question isn’t “does the protocol exist?” It’s whether your organization can live with the extra moving parts without recreating the same adapter mess under a shinier name.

The part I found most credible is the insistence that stateless HTTP is the real unlock. That sounds mundane, but it’s the difference between “we connected an agent to a tool” and “we can run this behind a load balancer without hand-wringing about sticky sessions and session headers.” That’s the kind of detail people love to skip in blog posts and then rediscover in production when requests land on the wrong instance or a session quietly evaporates. If the article is pushing readers to treat transport choice as architecture, not plumbing, I think that’s right.

The OAuth discussion is where I’d slow down and read carefully. The article’s basic point makes sense: remote MCP without real auth is asking for trouble. But the practical cost is nontrivial, especially if you have older clients or weird enterprise identity assumptions. I’d want to test that path early, not after the server is already wired into a bunch of internal workflows. And the claim that token scoping failures often return empty results instead of obvious errors? That rings painfully true. Those are the bugs that make people distrust the whole stack, even when the real problem is just bad gateway logic.

What I’d actually try, if I were adopting MCP seriously, is the simplest ugly version first: one remote server, one or two tools, real OAuth, stateless transport, proper logging, and a deliberate test for response-shape drift. That last bit is important. The opening anecdote about a silent payload change is the kind of failure that sticks with you because it’s so avoidable and so expensive. MCP won’t save anyone from sloppy contracts. It just gives you a cleaner place for the contract to fail.


Reference: Production MCP: JSON-RPC, OAuth 2.1, Transport, and Scaling

同じ著者の記事