v1.4.0
Major Changes
- Roots are now supported if the connected client exposes them.
roots/listrequests are proxied from the server to the client, and roots are used to configure the working directory of sampling agents when the ACP sampling shim is in use. - Less-used tools have been pushed into the Lua interpreter to avoid polluting the context and to disambiguate them from native agent tools. This has some positive side-effects, such as Claude Code reusing its existing
ReadMcpResourcetool for loading skills more consistently (given that it has it, it should use it, I believe). The following tools have been moved under a built-in_gatewaytable inside the Lua interpreter:read-resourceis now_gateway.read_resourcelist-resourcesis now_gateway.list_resourcesinvoke-gateway-skill-scriptis now_gateway.invoke_skill_scriptwrite-gateway-skillis now_gateway.write_skillsummary-statsis now_gateway.summary_stats
- Prompts are now queryable by agents via
list_promptsandget_promptfunctions under the built-in_gatewaytable.
Other Changes
- Improved error hinting so that agents recover from failures more reliably.
- Fixed an issue where Lua code could extract result data from a tool result even if it had failed, swallowing some errors.
- Added skill count to the stats tool.
- Improved output schema formatting in
tool-detailswhen exposed by tools. Now formats response fields recursively, so models have more context about what data a tool makes available. - Rewrote
executetool description to get rid of several guidelines in favor of reusable examples.
Full Changelog: v1.3.1...v1.4.0