| ▲ | jackfranklyn 3 hours ago | |||||||
The token budget angle is what makes this a real architectural decision rather than a philosophical one. I've been using both approaches in projects and the pattern I've landed on: MCP for anything stateful (db connections, authenticated sessions, browser automation) and CLI for stateless operations where the output is predictable. The reason is simple - MCP tool definitions sit in context permanently, so you're paying tokens whether you use them or not. A CLI you can invoke on demand and forget. The discovery aspect is underrated though. With MCP the model knows what tools exist and what arguments they take without you writing elaborate system prompts. With CLI the model either needs to already know the tool (grep, git, curl) or you end up describing it anyway, which is basically reinventing tool definitions. Honestly the whole debate feels like REST vs GraphQL circa 2017. Both work, the answer depends on your constraints, and in two years we'll probably have something that obsoletes both. | ||||||||
| ▲ | bartek_gdn 2 hours ago | parent [-] | |||||||
What about --help? Isn't that a perfect parallel to discovery of available tools in an MCP server? | ||||||||
| ||||||||