What jumped out at me isn’t the token compression itself — that part is believable in spirit — it’s the confidence of the whole package. “Works with every AI agent” is the kind of line I read twice. In practice, “every” usually means “any agent that can shell out and tolerate our conventions,” which is a much smaller claim. That doesn’t make the project uninteresting. It just makes me want to test it instead of taking the README at face value.
The core idea is sensible: MCP tool discovery and tool outputs are noisy, and if you’re feeding them back into a context window over and over, the overhead becomes real. A lighter encoding for manifests and results is a practical hack, not a philosophical breakthrough. If mcptoon actually gets you from bloated JSON to something closer to a compact wire format without losing semantics, that’s useful. The “97% less tokens” claim on discovery sounds plausible for a very specific case — verbose tool schemas with lots of repeated keys — but I’d still want to see how often that translates into real workflows rather than cherry-picked examples.
What makes me more cautious is the tradeoff hidden behind the marketing: token savings are only good if the rest of the system doesn’t become brittle. TOON looks clever, but clever encodings can turn into another dialect people have to learn, debug, and eventually support forever. The README says there’s zero information lost, which is a strong claim. Maybe true for the specific shapes they support; maybe less true once tools get weird, nested, or inconsistent. I’d want to know how it behaves on ugly real-world servers, not just happy-path fetch/search demos.
The tool-poisoning guard is the part I’d actually pay attention to. That problem is real. MCP servers are arbitrary code and arbitrary output, so treating tool results as potentially hostile is just sane. If this project is doing even basic pattern detection for prompt injection, that’s better than pretending the issue doesn’t exist. Still, pattern matching is only a partial defense. I wouldn’t read “guard” as “solved.” More like “we noticed the problem and added a tripwire.”
I also like that it has a doctor command and stdin support. Those are the unglamorous features that usually matter more than format wars. If the project really smooths over Windows command-length limits and gives you a quick way to see which server is broken, that’s the kind of thing people keep using after the novelty wears off. The ecosystem framing, though, feels a bit grand for a CLI client at this stage. I’d treat that as aspiration, not evidence.
If I were evaluating this for a Claude-heavy workflow, I’d try one thing: a messy MCP server with a bunch of tools, not a demo server with neat schemas. I’d want to see whether the token win survives contact with ugly descriptions, long outputs, and odd parameter shapes. If it does, then this is more than a neat README trick. If it doesn’t, it’s still a useful experiment — just not the universal layer the pitch implies.