I ran the same Google search through SerpApi's official serpapi-mcp server and through serp, the small open-source (MIT) CLI I built for the same job. Before I had searched anything, the MCP had already put 771 tokens into the model's context. The CLI put zero. When I did search, the MCP returned 6,047 tokens and the CLI returned 351. Same query, same serpapi library underneath, same machine.

That standing cost, paid on every turn whether you search or not, is the number nobody puts in the demo. So I wrote it all down.

TL;DR: for stateless search inside an agent loop, a CLI costs roughly 0 standing tokens against ~771 per turn for an MCP tool, and ~351 per call against ~6,047. The compaction logic on both sides is identical; the CLI just trims to the fields you ask for and stays out of context when idle. Pick the transport that fits the call.

Standing cost, paid every turn

SerpApi MCP