The ETIM classification model as clean JSON — convert, validate, generate TypeScript types, search, and serve to AI agents over MCP. Ships no ETIM data; converts the model you are licensed to download.
Five read-only tools with well-structured schemas and clear descriptions. All tools have input schemas with proper type definitions and constraints (regex patterns, min/max lengths). Descriptions are concise (50-150 chars) and action-oriented. Tool names follow verb_noun convention (search_, get_, list_, lookup). No parameter descriptions are missing. However, output schemas are not explicitly documented in the source code, only inferred from implementation. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint) despite all being read-only operations.
The complete definition of one ETIM class by code: description, group, synonyms, and every feature with its type, unit and permitted values.
Every product group in the loaded model with its class count — the top-level map of what the model covers.
Identify and describe any ETIM code — class (EC), group (EG), feature (EF), value (EV) or unit (EU) — without knowing in advance which kind it is.
Release, entity counts, languages and licence attribution of the ETIM model this server is answering from. Call once before other tools to learn what you are querying.
Find ETIM classes by name, synonym, translation or exact code (e.g. "circuit breaker", "Kabel", "EC990002"). Returns ranked matches with class code, description and group.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns ranked matches with class code, description and group') but the actual response structure is not formally specified. LLMs cannot plan downstream operations without knowing field names and types.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'If code is invalid, returns error with valid code patterns'). Agents cannot self-correct on failures.
Tool annotations missing. All five tools are read-only (no side effects), but readOnlyHint is not set. This forces LLMs to reason about safety rather than relying on explicit metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
etim_search_classes lacks pagination guidance. Description mentions 'Returns ranked matches' but does not state the default limit (20) or explain how to retrieve additional results. Large result sets could exhaust context.
Parameter descriptions could be more prescriptive. E.g., 'language' parameter says 'Also search this language's translations, e.g. "DE"', the example should be replaced with an enum or explicit format constraint to prevent hallucinated language codes.