Il problema: token budget vs tool breadth
Un MCP server con 20 tool consuma ~3-5K token nel system prompt solo per le definizioni schema. Con 10 server attivi sei a 30-50K token prima del primo messaggio. ToolSearch deferred loading Anthropic 4.x: i tool sono indicizzati per nome, le schema caricate on-demand via keyword search.
Pattern: load-in-bulk vs load-on-demand
Per categorie omogenee (es. tutti computer-use) conviene ToolSearch({ query: "computer-use", max_results: 30 }) — una sola round-trip. Per tool isolati, select:tool_name diretta.
Performance reale misurata
- Cold start con 50 MCP: ~2.3s overhead
- Tool search query: 180-400ms
- Tool schema load (singolo): 50-90ms
- Tool execution (best case): 100-300ms
Debug pratico
Quando un MCP server disconnect, i suoi tool diventano "no longer available". Pattern di recupero: alcuni server riconnettono spontaneamente entro 30-90s (Apollo, Atlassian); altri richiedono restart manuale (Prisma-Local in dev mode).
Conclusione operativa
Massimo 10-15 MCP "active" in production. Gli altri devono essere lazy-loaded. Monitorare disconnect patterns nei logs e implementare retry policy. La latenza non è il problema — il selection cost lo è.