firehose> #llmops

CLI Tools over MCP Servers

A tool-surface preference: give an agent capabilities through command-line tools it invokes via Bash, rather than through MCP servers, then wrap the CLI in your own skill. The argument has two parts. Token efficiency — an MCP server's tool schemas and verbose structured results are loaded into and returned through the context window; a CLI is called on demand and returns only what you ask for, so agents "operate with pretty great token efficiency" using the CLI. Extensibility / own-the-contract — an MCP server is "rigid: you have to do it their way, however the server is built," whereas a CLI is a plain surface you can build on top of in your own opinionated way — the skill you write around it sets defaults, named sessions, and workflow conventions that the raw server would never expose.

Concretely: instead of a Playwright MCP server, the operator uses the Playwright CLI (microsoft/playwright-cli — "CLI for common Playwright actions… inspect selectors and take screenshots") and wraps it in a skill that adds headless-by-default, parallel named sessions, and persistent profiles for login state. This is the Agent-Computer Interface (ACI) principle applied at the choice-of-surface level: the CLI + your skill is a better-engineered ACI than the off-the-shelf MCP server.

Note the boundary: MCP still earns its place where you need a live, stateful, or capability-negotiated connection a shell-out can't give (streaming resources, auth handshakes, servers you don't control). The claim is a default lean, not an absolute.

Claims


Linked from