[FEATURE] Tool manifest — a third tool-loading mode between preload and on-demand
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Current tool-loading modes fail at MCP scale (10s of servers, 100s of tools):
Preload: context bloat plus dual accuracy loss — _tool-selection dilution_ as candidate count grows, and _lost-in-the-middle-class degradation_ across the whole session from a large always-present schema block.
On-demand: recall is bounded by _model priors_, not _registry freshness_. Search keywords come from training; zero-prior tools never get queried. Known tools structurally outcompete unknown ones regardless of task fit, so the long tail of connected tools is dead weight.
Proposed Solution
Solution
Manifest preload: compile a compact, always-in-context manifest of connected tools; schemas stay lazy-loaded.
Compilation. On connector add/change, _incrementally recompile_ that server's entries: name, scope summary, hard preconditions, anti-triggers for overlapping scopes. Server-level, not per-tool — shorter, less drift.
Staleness. _Daily auto-refresh_ + manual trigger. A 1-day-old manifest dominates prior-bounded search on tail recall. Invocation still goes through live retrieval, so stale-entry failure mode is one wasted search, never a phantom invocation.
Preferences (optional). User-editable overlap routing (perplexity_search: research; web_search: lookups), hand-written or elicited by an _overlap-detection skill_. Fallback: model routing, as today. Storable as memories instead.
Surfacing. Two instruction sections: read-only manifest (regenerate button) + editable preferences. In Code/Cowork: CLAUDE_TOOLS.md or managed CLAUDE.md section.
Objections, pre-answered
Injection: same surface as preload mode, same mitigations; compile step summarizes rather than copies verbatim (smaller vector), entries provenance-tagged untrusted.
Coherence: incremental updates + daily refresh bound divergence to 1 day; live retrieval before invocation degrades failures to an extra search.
Cost: scope-level manifest for ~30 servers ≈ low thousands of tokens, cacheable.
Alternative Solutions
Power users already hand-pin tool lists in CLAUDE.md to work around prior-bounded discovery.
Make it a first-class, auto-maintained loading mode: fixes tail recall that keyword search structurally cannot, and restores both routing and task accuracy that full preload sacrifices.
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_