Single tool 'getStringLength' has a basic but incomplete definition. Tool name lacks action verb clarity (should be 'get_string_length' per convention). Description is minimal (24 chars, below 50-char baseline for A+ tools). Input schema is present with type and description, but output schema is undocumented, LLMs cannot predict return structure. No error handling guidance, no parameter constraints, no composition hints. Tool is trivial (string length calculation) and does not demonstrate production-grade patterns.
Get the length of a string
Tool name 'getStringLength' violates verb_noun convention. Should be 'get_string_length' (snake_case) to match LLM parsing expectations and Arcade baseline naming patterns.
Description 'Get the length of a string' is 24 characters, below the 50-char minimum for A+ tools and lacks context on WHEN to use this tool or what it returns. Should explain: 'Returns the character count of the input string, accounting for multi-byte Unicode characters.'
Output schema is undocumented. LLMs cannot predict the response structure (text field, isError flag, content array). Add explicit output schema documentation: 'Returns {content: [{type: string, text: string}], isError: boolean}'.
No error handling or recovery guidance. Tool does not document edge cases (empty string, null input, very long strings). Add error classification and actionable messages per pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
STDIO-only transport prevents remote accessibility and hosted MCP client integration. Limits production deployment to local/embedded scenarios only.