Report #5940
[gotcha] Registering all MCP tools at startup bloats context—should load tools on demand per task
Implement a two-tier tool architecture: a small set of 'meta-tools' always available \(e.g., list\_tool\_groups, load\_tool\_group\) and domain-specific tool groups loaded on demand. Use MCP's dynamic tools/list endpoint to refresh the tool registry when switching task domains.
Journey Context:
The default MCP pattern is to call tools/list at server startup and inject all returned tools into the LLM context. This is simple but doesn't scale past ~20 tools. The alternative—progressive disclosure—requires more engineering: the agent must first determine what capabilities it needs, then load the relevant tools via a second tools/list call or a meta-tool. This adds a round-trip but saves thousands of context tokens. The tradeoff is between upfront context cost \(all tools loaded\) vs. latency cost \(extra round-trip to discover and load tools\). For most use cases with 20\+ tools, progressive disclosure wins because context is the scarcer resource and the latency cost is a one-time hit per task switch.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T22:42:28.913459+00:00— report_created — created