mirror of
https://github.com/hanzoai/mcp.git
synced 2026-10-15 12:30:12 +00:00
tools/list appended the registered tools in HashMap order, which is different in every process: two starts of the same binary listed different orders (checked: three runs, three orders), so a client's prompt cache over the tool schemas could not hold between sessions. The registered tools now follow the built-ins sorted by name. --tools fs,code,exec lists and serves only those. A client is charged for every schema it is shown, each turn: the whole list is 34 tools and 38 KB, about 9.5K tokens; fs, code and exec together are 4.6 KB, about 1.1K, and byte for byte the same on every start. A name the server does not carry fails at startup and lists what it does; a call outside the list answers Unknown tool, like any other name. ToolsConfig's flags were never read and are left alone.