Goal
Incrementally reduce the token footprint of the MCP server tools. Current baseline: 8 tools, ~5,697 tokens.
The server instructions + tool descriptions + input schemas are sent to every LLM conversation. Fewer tokens = faster responses, lower cost, more room for actual user context.
Approach
Each sub-issue targets one area. Changes must not break LLM behavior — validate with evals before/after.
Sub-issues
To be filed individually and linked here.
Server instructions (src/utils/server-instructions/)
Tool descriptions
Input schemas
Output schemas
Measurement
After each change, measure with: └ apify-dev: 8 tools (~N tokens) in Claude Code status line.
Goal
Incrementally reduce the token footprint of the MCP server tools. Current baseline: 8 tools, ~5,697 tokens.
The server instructions + tool descriptions + input schemas are sent to every LLM conversation. Fewer tokens = faster responses, lower cost, more room for actual user context.
Approach
Each sub-issue targets one area. Changes must not break LLM behavior — validate with evals before/after.
Sub-issues
To be filed individually and linked here.
Server instructions (
src/utils/server-instructions/)Tool descriptions
search-actors(~2,400 chars) — largest description, heavy on examples and rules that could be shortercall-actor(~1,800 chars across constants) — MCP server section + usage section + examples can be tightenedsearch-apify-docs— dynamically built, review source list verbosityInput schemas
.describe()strings in Zod schemas (e.g.search-actorskeywords has a ~900 char description with examples)call-actorparameter descriptions (memory, timeout bounds are restated in both describe + zod constraints)Output schemas
Measurement
After each change, measure with:
└ apify-dev: 8 tools (~N tokens)in Claude Code status line.