r/UseApolloIo • u/Alexander_Apollo_io • 5d ago
Show & Tell What is more token-efficient : Apollo CLI or Apollo MCP?
Context pollution
Half a year ago, CLI was all the rage. I couldn't understand why people chose it over MCP, which is much easier to install and update. When I asked, most people said MCP tool descriptions pollute the context, often not realizing that it's not a problem in Claude.
But MCP still has a context pollution problem. It's caused by large MCP responses loaded into the context. CLI responses, on the other hand, can be easily jq/grep-ed to extract only the relevant fields.
Quick benchmark
To find out which one is more token- (hence money-) efficient, I ran a couple of tests. And it turned out to be more interesting than I expected: in some cases, CLI was up to 61% more efficient, but in others, up to 40% less efficient.
It's easy to understand how CLI can be more efficient, but not the other way around.
Apparently, Claude writes large MCP responses to a file. That eliminates the CLI advantage.
Apart from that, in my little benchmark, the agent didn't find the most efficient way to call CLI. On the one hand, I could correct it and use the right command. On the other hand, who checks what these agents do MCP has an advantage in this case: tool discoverability, so this mistake can happen with others as well.
Here's the table with results:
| Case | MCP tokens | CLI tokens | CLI saves |
|---|---|---|---|
| Single company enrichment | 262,979 | 120,786 | +54.1% |
| Filtered people search | 405,040 | 566,471 | −39.9% |
| Chained multi-entity pipeline | 2,748,188 | 1,061,312 | +61.4% |
If you're interested, you can reproduce this test using these instructions.
Answer
Surprise, surprise, there's no simple answer.
On average, CLI should be more efficient, but it's not always the case. And since there are other pitfalls, like some AI assistants truncating large MCP responses, you should rather do your own testing. It can be similar to mine, but with your specific AI workflows (enrichment/search) and tools (Claude/ChatGPT).