I’m converting every MCP in my stack into a CLI. Not because MCP is useless, but because it’s the wrong abstraction for day to day agent execution. Agents are processes. Processes already have the best interface we’ve ever invented: the command line. So instead of loading huge JSON specs and tool schemas, I’m wrapping MCP servers behind small, composable commands. This project nails the idea: github >steipete/mcporter Why CLI wins in practice: • tiny surface area (help text vs massive specs) • composable (pipe, chain, script) • debuggable (exit codes, logs, retries) • versioned (your repo owns the interface) • works with any model, any agent runtime My approach now: keep “skills” as the thin reasoning layer, and use CLIs for execution. If you’re building agent systems, I’d seriously consider: MCP -> CLI wrappers -> skills on top.
Architectural pattern: CLI vs MCP abstraction

Open on X · Boost ♥ · Permanent page
Filed under Engineering by the model because: Architectural pattern: CLI vs MCP abstraction. The rules.
