Server has 4 tools with significant quality gaps. Tool naming is inconsistent (print_name vs get_ncm_info vs get_ncm_info_tool vs get_ncm_attributes_tool), three tools operate on NCM data but lack clear differentiation. Descriptions are present but generic; most lack actionable context for LLM selection. Schemas are partially defined: print_name has empty input {}, get_ncm_info and get_ncm_info_tool have proper string params, but get_ncm_attributes_tool uses SkipValidation[any] which bypasses validation entirely. No output schemas documented. Error handling is minimal, get_ncm_attributes_tool returns dict with 'error' key but no recovery guidance. No pagination, no result limits, no idempotency markers.
Get all attributes with their possible values for a specific NCM code Parameters: ncm: The NCM code to search for. Returns: String with the attributes of the NCM in Markdown format
Get the information of the NCM.
Get the information of the NCM.
Print the name of the user.
Duplicate/overlapping tool names: get_ncm_info and get_ncm_info_tool both retrieve NCM information but differ only in suffix. LLMs cannot distinguish intent between them. Consolidate into one canonical tool or clearly document the difference.
get_ncm_attributes_tool uses SkipValidation[any] for the ncm parameter, disabling schema validation entirely. This violates constrained-input pattern and invites hallucinated/invalid NCM codes. Replace with explicit string type and document expected format (8-digit code).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. print_name returns string, get_ncm_info returns string, get_ncm_info_tool returns dict, get_ncm_attributes_tool returns HTML string, all undocumented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Error handling is minimal. get_ncm_attributes_tool returns {'error': '...'} but provides no recovery guidance. No indication whether error is retryable, user-fixable, or fatal. Violates recovery-guide pattern.
print_name tool has no clear business purpose in an NCM attributes API. Its description 'Print the name of the user' is vague and does not explain when an LLM should call it. Consider removing or clarifying its role.