Skip to content

v0.7.4 — the demo works, the numbers are honest

Choose a tag to compare

@activeing123 activeing123 released this 05 Sep 03:53
· 55 commits to main since this release

What's fixed

The demo works again — everywhere. mcptoon demo spawned npx -y @modelcontextprotocol/server-fetch, a package that no longer exists on the npm registry (E404). The server died instantly and the real error was swallowed. It now runs the official server-everything reference server: a fresh pip install mcptoon && mcptoon demo measures your own setup in ~60 seconds, no API key, no network fetch.

Silent servers can no longer freeze the client. _stdio_request() read responses with a blocking readline() that had no deadline — one dead config entry could hang doctor, manifest, discover or --auto forever. A background response pump now routes every JSON-RPC reply to a per-id queue with a deadline: silence surfaces as RESPONSE_TIMEOUT instead of a lifetime hang, and late replies go to a lost-and-found instead of poisoning the next request.

manifest --compact shows the whole tool index. For a multi-server manifest it fell through to json.dumps(...)[:200] and emitted a headless JSON fragment with ~9 tool names — an agent using --compact for discovery silently saw a fraction of its tools. It now prints the full server: tool1, tool2 · … name index, which is what the docs always claimed.

What's honest

The "255 tools → 123 tokens (−99.8%)" figure was a 30-item truncation artifact in our own benchmark harness. The full name index of the same 255-tool config measures 581 tokens:

71,929 tokens of raw JSON discovery → 581 tokens of name index = −99.2% (tiktoken cl100k_base)

Every README, article, SVG, benchmark JSON, server.json and the demo table now carry the measured figure. Reproduce it on your own machine:

mcptoon manifest --compact --tokens

Install

pip install mcptoon

Zero dependencies (pure stdlib), ~250 KB, Windows / macOS / Linux, Apache-2.0, 681 tests.