Build1 distinct publisher3 min readUpdated
An engineering diary for a small MCP client puts numbers on schema bloat in the context window and on the roughly 950 hand-written lines it took to ship with zero dependencies.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A developer writing as mcptokensaver spent six weeks building mcptoon, a CLI that sits between coding agents such as Claude Code, Cursor and Codex and the MCP servers they call, then published the engineering diary rather than the pitch [1]. Two of its numbers are the ones teams running MCP rarely put on a spreadsheet: what tool schemas cost before any work happens, and what it costs to refuse other people's dependency trees [2][3].
The first cost is context. MCP tool schemas are injected into the context window as JSON, and by the author's count 255 tools come to roughly 91,000 tokens of braces, brackets, quotes and commas before an agent does anything useful [2]. That is an average of about 357 tokens per tool, paid on every turn that carries the schema block [1]. mcptoon's answer is indirection: keep the schemas out of context, have the agent run shell commands, and let only the compact result enter the window [4].
The second cost is the interesting one, because it is usually invisible. The trigger, according to the author, was the uv security incident, in which a transitive dependency inside a popular Python tool carried a supply chain vulnerability and thousands of projects were affected through no action of their own [5]. He checked his own history: hundreds of packages installed in a year, none of their dependency trees audited [6]. The rule that followed was not "minimal" but zero third-party imports, standard library only, with `dependencies = []` in pyproject [3][7].
Here is what that bought and what it cost. HTTP plumbing, including SSE streaming, error handling, retries and auth, came to about 200 lines against roughly 30 with `requests`; a single POST is eight lines with `urllib` and one with `requests` [8]. The argparse dispatch function for 15 subcommands ran to about 400 lines against roughly 150 with `click` [9]. Hand-rolled response validation added about 300 lines that `pydantic` models would have done themselves [10]. Terminal styling with raw ANSI codes was about 50 lines, and the author says `rich` was simply not needed [11]. Total: roughly 950 lines of substitute code [2], of which about 420 lines are pure surplus over the library versions where he gave both figures [3]. His own verdict is split rather than triumphant: worth it for SSE, because he learned how the protocol works, and not worth it for basic HTTP, which was just plumbing [12].
The payoff is measurable too. The install is 250KB in 0.3 seconds [13], against roughly 5MB for `requests` plus its dependencies and roughly 15MB for `pydantic` plus its dependencies [14] - about 80 times the wheel size from two libraries alone [4]. The 486 tests run in 0.5 seconds because there are no heavy fixtures [15], near 970 tests a second [5]. And zero is a runtime claim, not a toolchain claim: pytest remains a dev dependency, though without pytest-mock, pytest-cov, responses or httpx [16].
Worth watching: every figure here is self-reported by the tool's author [1], the 91K token count scales with how verbose your particular servers are [2], and the published size comparison breaks off mid-list at `click`, so the library-side footprint is understated rather than complete [14]. The open question for anyone copying the approach is whether roughly 950 lines of hand-maintained plumbing [2] costs less over a few years than triaging other people's CVEs [5].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
A developer publishing as mcptokensaver spent six weeks building mcptoon, a CLI tool that sits between AI agents (Claude Code, Cursor, Codex) and MCP servers, and framed the write-up as an engineering diary rather than a product pitch.
mcptoon ships with zero dependencies: pyproject.toml declares dependencies = [], described as not minimal or few but zero.
mcptoon keeps schemas out of context: the agent runs shell commands and only the compact result enters context.
The author reviewed his pip install history: hundreds of packages installed in the last year, each pulling its own dependency tree, and zero of those dependencies audited.
The rule adopted for mcptoon was no third-party imports, Python standard library only.
HTTP work cost about 200 lines of plumbing (streaming SSE, error handling, retry logic, auth) versus maybe 30 lines with requests; a POST is 8 lines with urllib versus 1 line with requests.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One self-published primary source, figures unreproducible
Everything rests on a single dev.to post by the tool's author. Code snippets and shell transcripts make the design and install claims checkable in outline, but the headline 255-tool / 91K-token figure, the library size estimates and the line counts arrive as round approximations with no methodology, repo diff or third-party corroboration, and the named uv incident carries no advisory reference.
Shipped package, no external uptake evidence
There is real artifact existence — an installable PyPI package, a 486-test suite, cross-platform checks — but no evidence of anyone other than the author using it: no download counts, contributors, dependent projects, deployments or third-party benchmarks appear in the supplied material.
Headline economics run ahead of the shown evidence
The framing is more disciplined than typical zero-dependency advocacy: the author quantifies what the rule cost him, concedes basic HTTP hand-rolling was not worth it, and signals caveats before the text breaks off. The overstatement is in the unverified quantities — the 91K-token schema figure, the ~25MB 'typical client' composite and the '1% of that' / ~80x ratios, plus the claim that users are simply 'unaffected' by future supply chain attacks while ~950 lines of hand-maintained protocol code go uncosted.
Author is the vendor, diary framing notwithstanding
The piece is written by mcptoon's own developer, publishing under the handle mcptokensaver, links its README, and closes its comparison section by noting auditability 'matters for adoption'. The self-published dev.to venue applies no editorial check on the figures, though the explicit disclaimer and the admissions against interest temper the promotional pull.
Low: single vendor-authored source
Confidence is limited by the one-source, one-publisher cluster and by self-reported, method-free numbers. What can be held with reasonable confidence is the design posture (empty dependency list, stdlib-only rule, unittest.mock-based tests) and the author's own tradeoff verdict; the token, size and adoption figures should be treated as unverified.
product
LangChain's dcode and NVIDIA's NemoClaw sell controls, not code quality1 distinct publisher
build
LoreKit puts agent memory in Markdown files you can grep, not a vendor's database1 distinct publisher
build
AI-written code fails the same four ways, and every gate you own reports green1 distinct publisher
build
NVIDIA put a number on agent skills: 300+ verified, two harnesses, baselines under 50/1001 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 19, 2026