You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CommandCode sends the full schema of every tool from every connected MCP server in every request. When an MCP server exposes many tools (some expose 100+), the total quickly exceeds the tool limit of many models (e.g. Reflection Beam caps at 128 tools/request), causing requests to fail or silently drop tools. Even when tools aren't needed, their schemas still consume context on every turn.
permissions.deny doesn't solve this: denied tools still have their schemas shipped each request (blocked only at runtime), so they still count against the cap and still consume context.
How another tool (Hermes) handles it (for reference)
Deferred loading: MCP tools are not in the base tool list. The model reaches them via a search → describe → call flow, so only tools actually needed get their schemas pulled in. The base request stays small regardless of how many MCP tools exist.
Per-tool toggle: an interactive on/off per tool, plus a disable/enable command. Disabled tools are removed from the discoverable catalog entirely — not sent, no context cost, no cap cost.
Requested
A per-MCP-tool on/off toggle (UI + CLI) that excludes disabled tools from the request payload (not just a runtime deny).
Optionally, deferred/lazy loading so MCP tool schemas aren't all sent upfront.
This would make CommandCode usable with 128-cap models and cut context bloat for all models, even when many MCP tools are connected. Happy to share config/examples if useful.
Activity
[-]Feature request: per-MCP-tool enable/disable toggle + deferred loading (128-tool cap)[/-][+]Feature request: per-MCP-tool enable/disable toggle + deferred loading[/+]