Narodowy Bank Polski (National Bank of Poland) Web API MCP. Keyless.
Three well-defined tools with complete JSON schemas, clear descriptions (194 - 250 chars), and proper parameter typing. All tools are read-only with no destructive operations. Naming follows verb_noun convention (exchange_rate_table, currency_rate, gold_price). Schemas include required fields and type constraints. However, parameter descriptions lack actionable format guidance (e.g., date format YYYY-MM-DD is stated but not emphasized as a constraint), and output schemas are not documented. No error handling guidance for common failure modes (404 on non-working days, invalid currency codes). Missing tool annotations (readOnlyHint) despite all being read-only operations.
PLN exchange rate for one currency over time. Specify the table (A/B for mid-rate, C for bid/ask) and a 3-letter ISO 4217 code (e.g. USD, EUR, GBP, CHF, JPY). Defaults to the latest rate; optionally pass a single date, last_n recent points, or a start_date/end_date window (max ~93 days, working days only). Use this for one currency; use exchange_rate_table for the whole list.
Full NBP exchange-rate table of PLN rates for many currencies at once. Pick a table: A = major currencies (mid-rate), B = other/minor currencies (mid-rate), C = bid/ask trading rates for the major set. Rates are PLN per 1 unit of each currency (per 100 for some minor units). Defaults to the latest published table; optionally pass a single date (YYYY-MM-DD) or last_n for the N most recent tables. Weekends/Polish holidays have no data (404).
NBP accounting price of gold (cena złota): PLN per 1 gram of pure gold (1000 fineness). Defaults to the latest published price; optionally pass a single date, last_n recent points, or a start_date/end_date window (max ~93 days, working days only). Weekends/Polish holidays have no data (404).
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for downstream tool chaining or data extraction.
No error handling guidance. Tools return raw HTTP errors (404 on non-working days, invalid currency codes) without actionable recovery hints for LLMs.
Parameter descriptions lack format constraints. 'YYYY-MM-DD' format is mentioned but not emphasized as a strict requirement; no guidance on valid currency codes (ISO 4217) or table letter validation.
Missing tool annotations. All three tools are read-only but lack readOnlyHint annotation in schema, preventing clients from optimizing caching or safety policies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Parameter 'table' accepts free-form strings instead of enum. Should declare table: {type: 'string', enum: ['A', 'B', 'C']} to prevent hallucinated values.