Turn typed Python functions into CLI, REST, MCP, and a live Tool Studio.
ToolDock provides 6 tools with complete JSON schemas and basic descriptions. All tools have input schemas with typed parameters and descriptions. However, descriptions are minimal (10-20 chars on average), lacking context for LLM selection and missing guidance on when to use each tool vs. alternatives. Parameter descriptions are generic ('city parameter', 'weight parameter') rather than actionable. No output schemas documented. Error handling is absent, tools return raw dicts without recovery guidance. Tool composition is reasonable (single responsibility), but naming could be more explicit (e.g., 'calculate_shipping' vs 'get_shipping_quote'). Security annotations present (risk levels) but no permission gates or audit trails visible.
Add a support note to an order.
Count characters and words in a piece of text.
Calculate a shipping quote for a city and package weight.
Clear one region of the disposable demo cache.
Fetch an inventory record without blocking the async server loop.
Find one order in the local demo catalog.
Parameter descriptions are generic placeholders ('city parameter', 'weight parameter') instead of actionable guidance. LLMs cannot infer constraints, formats, or valid ranges from these.
Tool descriptions are too brief (10-20 chars) and lack context for LLM selection. Missing: when to use this tool, what it returns, prerequisites, and how it differs from similar tools.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2025-06-18+ | v2 |
No error handling or recovery guidance. Tools return raw dicts; if a call fails, LLMs have no guidance on what to do next (retry, ask user, try alternative tool).
Destructive tool 'clear_demo_cache' lacks confirmation/dry-run pattern. Agents can irreversibly delete cache without safeguards.