One tool instead of forty schemas.
Every tool you add is another manual in the prompt. The Caveman Agent SDK collapses a whole JSON tool surface into one bounded cell, and still validates, budgets, meters and aborts every call made inside it.
git clone https://github.com/JuliusBrussee/agent-sdk.gitThe agent pays for the catalog before it does any work.
A tool is not just a function. It is a JSON schema with a name, a description and every parameter spelled out, and that schema goes into the prompt on every call. Forty tools is forty manuals the model reads before it decides to use one of them.
The catalog is billed whether or not a tool is called, on the first turn and on every turn after it.
One bounded cell. Every nested call still checked.
- programmatic tools
- A whole JSON tool surface collapses into one bounded caveman_code cell. The model writes the call; the SDK runs it.
- still validated
- Every nested call is checked against its schema. Fewer schemas on the wire, the same guarantees behind it.
- budgeted and metered
- Nested calls carry budgets, are metered as they run, and can be aborted — a runaway tool stops instead of spending.
- one receipt
- The calls made inside the cell land on the same receipt as the model calls: what ran, what it cost at catalog price, where to resume.
The catalog, counted. Four tools against two MCP servers.
- Caveman Browse4 tools297
- Playwright MCP0.0.793,422
- Chrome DevTools MCP1.7.04,507
Caveman Browse is the four-tool version of a browser-automation surface. The counts are the tool catalogs themselves — what the model reads before it does anything — measured offline with o200k_base and labeled inferred. They are token counts, not verified savings, and the action-heavy checkout pilot cost more than both alternatives.
What powers it.
Fewer schemas.
The same tools.
claude mcp add caveman-browse -- npx -y caveman-browseThe catalog figures are offline o200k_base token counts of the tool surfaces, labeled inferred and measured 2026-08-14. They are not savings, and Browse publishes its losses alongside them.