Changed
list_toolsanswers one bounded page instead of the whole catalogue. It takeslimit(default 50) andoffset, reportstotalandtruncated, and projects every entry the wayfilter_toolsdoes —name, one-linesummary,server,kind,annotations— with the full description and the input schema behinddescribe_tool. Before, it returned every tool of the caller’s catalogue with its full description in one response: measured on an internal installation, 423 KB unscoped and 402 KB (about 135k tokens) underX-Muster-Toolset: preset:read-only, growing the calling model’s next prompt by 105k–120k tokens and staying in its history for the rest of the session. The tool’s description now says what a page costs and points atfilter_toolsfor discovery anddescribe_toolfor detail.servers_requiring_authis still present (neither paged nor narrowed by a toolset), a header-declared toolset still bounds the listing (preset:nonelists nothing) and is echoed intoolsetasfilter_toolsechoes it, the refusal texts are unchanged andlist_core_toolsis untouched. ThemusterCLI and REPL listings, tab completion and the test harness page through the catalogue, so they keep listing every tool; the localmuster agentMCP server now advertises the aggregator’s meta-tool definitions verbatim instead of a hand-maintained copy, solimit/offsetand the new description reach the assistant through it. (#1193)