Your agent has 40 tools. Each tool definition — name, description, JSON Schema parameters — costs roughly 200 tokens. That's 8,000 tokens before the agent does a single thing . Add a few MCP servers and you're burning 55,000 tokens just on tool definitions per request. The industry term is "token bloat." The fix is deferred tool loading: start with a tiny search tool, load specific tools only when the agent needs them, and unload them when done. This tutorial shows you how. One file, runnable code, no framework dependencies. The Problem # What most tutorials do: agent = Agent ( tools = [ tool_1 , tool_2 , tool_3 , ..., tool_40 ]) # Every LLM call ships ALL 40 tool definitions in the prompt. # Cost: ~8,000 tokens per call just for tool schemas. Enter fullscreen mode Exit fullscreen mode When you're running autonomous agents 24/7, that overhead compounds fast. An agent making 100 calls/day burns an extra 800,000 tokens daily just describing tools it never uses.…