Five tools with clear verb-noun naming (search_companies, get_company_details, list_*). All have descriptions (194 - 250 chars, within baseline 34 - 392). Input schemas present with types and descriptions. However, output schemas are not documented in the visible code, LLMs cannot predict response structure. Parameter descriptions are adequate but lack format constraints (e.g., UID format, canton abbreviation rules). No error handling guidance visible. Tool composition is sound: search and detail tools chain well, discovery tools (list_cantons, list_locations, list_legal_forms) support filtering. Risk classification (READ_ONLY) is present but not leveraged in descriptions.
Get detailed information about a specific company from the Swiss Central Business Name Index, including address, old names, related companies, and publication information.
List all available Swiss cantons with their IDs and abbreviations for use in search filters.
List all available legal forms with their IDs, full names, and abbreviations in multiple languages for use in search filters.
List all available Swiss locations (municipalities) with their IDs, BFS IDs, cantons, and alternate names for use in search filters.
Search for companies in the Swiss Central Business Name Index (zefix.ch). Supports filtering by name, UID, canton, location, legal form, and status.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). search_companies returns CompanySummary[] with hasMoreResults, but this is not visible in tool definition.
Parameter format constraints missing. 'uid' parameter lacks format spec (e.g., 'CHE-123.456.789'). 'cantons' array items lack enum or pattern (should be 2-letter ISO codes). LLMs may pass invalid values.
No error handling guidance. Code shows REQUEST_TIMEOUT_MS=5000 and API calls, but tool descriptions do not explain what happens on timeout, invalid UID, or API failure. LLMs cannot recover from errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Pagination not documented. search_companies may return hasMoreResults=true, but no limit/offset parameters visible in schema. LLMs cannot fetch additional results.
Discovery tools (list_*) lack guidance on when to call them. Descriptions do not explain that these should be called first to resolve filter values, or that they return reference data for use in search_companies.