Model Context Protocol server for ETIM (Electronic Technical Information Model) API providing LLMs with access to ETIM classification data through a standardized interface
Server has 7 well-defined tools with consistent naming patterns (verb_noun: search_*, get_*, with clear intent). All tools have descriptions and input schemas are present with type definitions. However, there are significant gaps: (1) output schemas are not documented, responses are inferred from code but not formally declared in tool definitions; (2) parameter descriptions are present but some lack detail on constraints (e.g., max_results bounds, language codes, filter format expectations); (3) error handling is minimal, no recovery guidance or categorization in tool definitions; (4) no tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. The server shows solid foundational structure but lacks the polish and LLM-optimization expected of production tools.
Get list of available languages for ETIM API queries.
Get detailed information about a specific ETIM product class.
Get detailed information about a specific ETIM feature.
Get detailed information about a specific ETIM product group.
Search ETIM product classes by keyword with advanced filtering.
Search ETIM features by keyword.
No output schemas documented. Tool definitions lack return type specifications, LLMs cannot predict response structure and must infer from context or trial calls.
Parameter constraints are stated in descriptions but not enforced in JSON Schema (e.g., max_results '1-100' stated verbally, not as min/max in schema). LLMs cannot parse prose constraints reliably.
Language codes are referenced but not enumerated. Callers must guess valid codes or call get_available_languages as a discovery step. Accept language as an enum in get_class_details, get_feature_details, etc., or provide inline enum list.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Search ETIM product groups by keyword.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) declared despite all 7 tools being read-only. Annotations help LLMs reason about safety and enable agent planning optimizations.
Backward compatibility debt: get_class_details has both 'features' (enum) and deprecated 'include_features' (boolean) parameters. This confuses LLMs about which to use and violates the principle of one clear way to do something.
Filter parameters (release_filter, group_filter, feature_filter, value_filter in search_classes) lack format documentation. Are codes case-sensitive? Required format? Examples buried in description not in schema constraints.
No error handling guidance in tool definitions. Tools lack descriptions of what errors can occur, how to recover, or what the LLM should do next (e.g., 'Invalid language code. Call get_available_languages() to see supported codes.').