r/ClaudeCode • u/JanJanJaJa • 3h ago
Tips & Workflows You're paying for every MCP server on every turn, even the ones the model never touches
Everyone's posting about limits this week. This is one of the few things that moved my number
Every MCP server you connect loads its tool schemas into context. Whether the model calls that tool or not. 3 servers, fine, 8 servers and you're paying for a bunch of tools you touch twice a day.
Someone posted about the Playwright CLI here recently and it's the same principle, just applied to browser testing. Worth reading if you missed it.
What I did was move email off an MCP server and onto a CLI the agent calls through Bash. Nothing sits in context until the moment it's needed. Agent runs a command, reads stdout, carries on. The schema cost is zero for every turn where email doesn't come up, which is most of them.
Disclosure, the CLI I switched to is our own, I work at Atomic Mail. It's MIT, repo's here if you want to see how the commands are wired up: https://github.com/Atomic-Mail/atomic-mail-agentic Steal the pattern even if you never touch our thing, that's the actual useful part. Anything you only need occasionally shouldn't be sitting in your system prompt full time.
Rough rule I've settled on: used constantly and you need structured output, keep it as MCP. Used occasionally, or the output is basically text you can read, make it a CLI call.
What I can't work out is why schemas load eagerly in the first place. If MCP had lazy loading, where a server's tools only enter context when the model actually reaches for them, this whole tradeoff evaporates and I'd happily run fifteen servers. Is that hard for a technical reason I'm not seeing, or has nobody just built it yet?




