There are a lot of folks claiming “MCPs eat context” and that you should use CLIs instead, e.g. Gary Tan:

The problem isn’t MCP; it’s your agent’s harness.

MCP has nothing to do with your context window

The MCP protocol allows a server to expose tools, resources and prompts to a client. It says nothing about how a client is supposed to expose those things (or not) to an LLM.

How the client exposes these things to the LLM is entirely a client decision. And so much context is wasted because clients do stupid things like take the raw JSON output of an MCP server and feed it directly into the LLM’s context window.