MCP (Model Context Protocol) is the new hot thing. Anthropic built it to help AI connect to tools. It's supposed to make integrations easier.
It doesn't.
The problem with MCP
MCP adds a layer you don't need. It's a protocol. Protocols mean standards, compatibility checks, and documentation. Things break. Versions mismatch. Servers crash.
CLI tools don't have this problem. They've been around for 50 years. They work.
What actually happens
With MCP: You install a server. Configure JSON files. Hope the version matches. Debug connection errors. Read spec docs. Repeat.
With CLI: You type a command. It runs.
The real measure of a tool
AI agents need to do two things:
- Send input
- Get output
CLI does this perfectly. stdin and stdout. That's it. Universal. Works everywhere. No dependencies.
MCP makes this complicated. You need an MCP server running. The agent needs an MCP client. They negotiate capabilities. Then they communicate over a custom protocol.
Why?
What people actually want
Tool makers want AI to use their products. They think MCP is the answer because it's "designed for AI."
Wrong. AI doesn't need special protocols. AI needs text streams. CLI gives you text streams.
The performance gap
MCP adds latency. Every request goes through:
- Client encoding
- Server decoding
- Processing
- Server encoding
- Client decoding
CLI is direct. One process. No network overhead. No serialization.
When MCP makes sense
Almost never. Maybe if you're building a closed system with one vendor. Maybe.
But even then, CLI works. You can wrap anything in a CLI. You can't wrap everything in MCP.
What to do instead
Build CLI tools. Make them simple. Make them output JSON if you need structure.
AI agents can call CLI tools today. No special libraries. No protocol implementations. Just exec() and pipes.
MCP is a solution looking for a problem. CLI already solved it.