Why CLI over MCP?
Source: Dev.to
Introduction
Everyone wants to make things agent‑friendly now, so are MCPs better than CLIs? When Claude Code started hitting limits, I began using Kimi (with OpenCode) alongside Claude. Only then did I realize the portability issue: I needed to set up an MCP again on OpenCode, and again for Codex.
Portability Issue
MCPs are tied to the integration layer, while CLIs are tied to the operating system. If you build a CLI, you are betting on something much simpler—the agent can run a shell command.
CLI vs. MCP
Why a CLI?
A few days ago I asked my friend Marco why Struere, his agent‑management platform, had a CLI instead of an MCP. He explained:
The problem with MCPs is that you add an extra tool to the agent, which by definition makes it work worse. A CLI is different. It uses the tool the agent already has, and you just give it context on how to use that tool.
When an agent already has a bunch of tools, adding one more means the model now has:
- One more thing to choose from
- One more schema to understand
- One more tiny decision before it gets to the actual work
You might think you are giving the agent more power, and sometimes you are, but you are also giving it more surface area to reason about (and where to invest more tokens).
Advantages of MCPs
Claude and most frontier models have gotten much better at MCP tools. When the integration is good, the output feels nice because it is structured; the model does not have to read a messy terminal response and guess what matters.
Balanced View
I do not want to flatten the argument into “MCP bad, CLI good,” because that is not what I believe. MCPs are useful when the model needs structured context inside the conversation. However, MCP should not be the automatic answer for products meant for agents. A good CLI covers many of the same use cases with less setup and less context overhead.
Recommendation
If I were building a dev tool today, I would start with the CLI and then add the MCP.
Example: Experiwall
In my case with Experiwall, that approach makes A/B testing easier for websites. We shipped an MCP because some workflows work better when the agent can inspect experiments, variants, and results directly inside the conversation. We also added CLI support, so developers don’t have to reconnect everything if they change agents (as was my experience).
Outlook
If I had to choose which interface will be used more a year from now, I would choose the CLI.