# CLI vs MCP
**CLI (Command Line Interface)** — a text-based interface for interacting with programs and services. You type commands, get output. The lingua franca of developers and systems.
**MCP (Model Context Protocol)** — Anthropic's protocol for connecting [[Large Language Model - LLMs|LLMs]] to external tools and services. Defines how agents call tools, pass inputs, and receive results.
---
## Why CLI beats MCP for agent interactions
**1. Leverage**
[[Large Language Model - LLMs|LLMs]] are trained on massive amounts of CLI documentation, man pages, shell scripts, and human-written tutorials. When you expose a service via CLI, [[AI agents]] and humans share the same docs and the same code. No duplication. MCP requires a separate layer that exists only for agents — doubling the maintenance burden and starting from zero on training signal.
**2. LLM comprehension**
LLMs understand CLI-style syntax better than structured [[API]] schemas. Research on agent tool calling shows simpler, text-based representations have significantly lower error rates. MCP's JSON-heavy structure introduces unnecessary complexity that agents fumble with. A well-documented CLI command is often clearer to an LLM than a formal MCP tool definition.
**3. MCP is a weak protocol**
MCP lacks strong typing, has spotty error handling, and treats auth as an afterthought. It's a young spec that's still evolving — which means building on it now means reworking things later. CLI tools, by contrast, have decades of hardening, composability (pipes, scripts, flags), and ecosystem support.
---
The bet: build CLI-first, and agents can use it today while humans benefit too. MCP can come later, if ever.
#ai #firstprinciple #kp