What jumped out at me was how much of this piece is really arguing against a lazy architecture meme: “just use MCP.” That pushback is healthy. A lot of people are already treating MCP like a magic wrapper that somehow makes messy enterprise systems agent-ready. It doesn’t. If anything, the article is strongest when it insists that MCP, REST, and Kafka sit in different places in the stack and fail in different ways.
I’m less convinced by some of the confidence around maturity. The article leans hard on adoption signals and roadmap language, and I’d want to check every one of those numbers before I repeated them. But even if you ignore the marketing sheen, the practical point stands: MCP is an interface for tool access, not a data backbone and not an orchestration layer. That distinction matters a lot more than protocol fanfare.
The part I’d actually take into a design review is the warning about tool granularity. That’s where this gets real. If you expose an existing API one endpoint at a time as MCP tools, you can end up with a clumsy interface that is technically compliant and still awful for an agent to use. The article’s SOA comparison is apt here. We’ve seen this movie before: the protocol was never the whole problem. Governance, naming, metadata, and boundaries were.
I also like the insistence that Kafka is not in the same category at all. Too many architecture diagrams mash together “integration” as if request/response, tool invocation, and event streaming are interchangeable. They aren’t. Kafka’s value is decoupling and replayable state change, not “agent friendliness.” If an agent needs to ask for a live capability, use MCP or an API. If a system needs to observe business events over time, Kafka is the more honest fit. Mixing those concerns is where things get brittle.
What I’d be cautious about is the implied neatness of the layering. Real systems are messier. An agent may need to call a tool, read a live record, then react to an event stream. So yes, these technologies coexist, but the hard part is not picking the label. It’s deciding where the source of truth lives, who owns freshness, and what happens when an agent asks the wrong question at the wrong time.
The article is at its best when it argues for discipline instead of enthusiasm. That’s the right instinct. MCP looks useful, maybe very useful, but it will only stay useful if people stop trying to make it solve everything.
Reference: MCP vs REST/HTTP API vs Kafka