This repository was archived by the owner on Sep 3, 2026. It is now read-only.
v0.2.3
tagged this
29 Aug 21:41
Found by driving the published server over real stdio JSON-RPC rather than importing its functions — which is the only way to see what a client actually receives. **Our errors reached the agent blank.** The SDK wraps any exception it did not raise in a ToolError whose message is exactly `Error executing tool <name>`; the detail is dropped. So a missing folder and a path that escaped the named folder arrived as the same six words, while the SDK's own argument validation returned "Input should be a valid list". An agent told only that something went wrong cannot retry — it gives up, or it invents, which is the failure this package exists to prevent happening to the tool that is supposed to catch it. Path errors now return the reason as data, readable on both mcp 1.x and 2.x without depending on which exception type the framework lets through. Anything we did not write still escapes: a message we cannot vouch for is not one to hand an agent. **`serverInfo.version` was an empty string** in the initialize handshake — the first thing a client sees, and Cursor shows it. It now reports the package version. Pins move to core>=0.3.3 and cli>=0.2.3.