Single tool 'wrap' has a clear, concise description (118 chars, within 10-1024 baseline) and well-defined input schema with proper types and constraints. However, parameter descriptions are entirely missing, the schema declares 'text', 'width', and 'break_long_words' but provides no descriptions explaining what each controls or why an LLM should set them. Output schema is undocumented. Error handling returns plain text messages without recovery guidance. Tool naming is generic ('wrap' rather than 'wrap_text') and lacks action-verb clarity. No tool annotations (readOnlyHint, etc.) despite being read-only.
Word-wrap text at a column width. Existing newlines mark paragraph breaks. Long words are broken by default.
Missing parameter descriptions. Schema defines 'text', 'width', 'break_long_words' with types and constraints but no descriptions explaining what each parameter controls or when to use non-defaults.
No output schema documented. LLMs cannot infer what fields the response contains or plan downstream operations. Response is plain text, not structured.
Generic tool name 'wrap' lacks action verb. Should be 'wrap_text' to match verb_noun convention and clarify intent for LLM tool selection.
Error messages lack recovery guidance. 'wrap failed: ...' tells LLM nothing about whether to retry, ask user, or abandon. Should include actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No tool annotations despite read-only semantics. Missing readOnlyHint annotation that would signal to clients this tool is safe to call without user confirmation.