MCP server providing exchange rate data from Norges Bank API
Single tool with clear naming (exchange_rate) and complete input schema using Zod. Description is adequate (194 chars, within baseline 34-392 range). All three parameters have type definitions and descriptions. However, output schema is not documented, the tool returns JSON via text content without a formal schema declaration. Error handling is basic (try-catch with generic message). No parameter constraints (enums, ranges) despite accepting currency codes that should be validated. Missing guidance on supported currencies, date format validation, and recovery steps for API failures.
Retrieves exchange rates using Norges Bank's API. Returns rate information including the base currency, target currency, date, and conversion rate.
Output schema not documented. Tool returns JSON text without formal schema declaration. LLMs cannot infer response structure (baseCurrency, targetCurrency, date, rate fields) for downstream planning.
No input validation or enum constraints for currency codes. Tool accepts any string for baseCurrency/targetCurrency but Norges Bank API supports only specific currencies. LLMs may pass invalid codes, causing API failures with unhelpful error messages.
Error messages lack recovery guidance. Generic 'Error fetching exchange rate: <message>' does not tell LLM whether to retry, check parameters, or try a different currency pair. No distinction between retryable (API timeout) vs user-fixable (invalid currency) errors.
Date parameter format not validated. Description says 'YYYY-MM-DD format' but no regex pattern or validation enforces it. LLMs may pass '2024/01/15' or '01-15-2024', causing silent API failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No documentation of supported currencies or API limitations. Tool description does not mention that Norges Bank API only supports certain currency pairs or that historical dates may have limited availability. LLMs cannot plan around these constraints.