Keyless MCP server that pulls official UK monetary statistics (Bank Rate, SONIA, GBP FX rates, etc.) from the Bank of England IADB CSV endpoint and parses the CSV into clean JSON observations.
Bank of England IADB MCP has well-structured tool definitions with clear naming (verb_noun pattern) and comprehensive descriptions. All 6 tools have explicit schemas with typed properties. However, several parameters lack descriptions (e.g., 'last' in convenience tools has description but lacks min/max bounds), and output schemas are not formally documented. Error handling is present but minimal, no recovery guidance or actionable error messages. The server is domain-focused and read-only, which reduces complexity, but parameter validation rules and output structure documentation would elevate it to 75+.
Latest N observations of the Bank of England official Bank Rate (series IUDBEDR), most recent first.
Latest N observations of the EUR/GBP spot rate — € per £1 (series XUDLERS), most recent first.
Fetch one or more Bank of England IADB series by code over a date range. Requires BoE series codes (e.g. IUDBEDR = Bank Rate, IUDSOIA = SONIA, XUDLUSS = USD/GBP, XUDLERS = EUR/GBP). Use list_known_series or the convenience tools (bank_rate, sonia, usd_gbp, eur_gbp) if you do not know the code. Returns parsed JSON: one entry per series with observations [{date, value}].
List the friendly BoE series codes this pack surfaces (Bank Rate, SONIA, USD/GBP, EUR/GBP) with their IADB codes.
Latest N observations of SONIA, the Sterling Overnight Index Average (series IUDSOIA), most recent first.
Latest N observations of the USD/GBP spot rate — US$ per £1 (series XUDLUSS), most recent first.
Output schemas not documented. Tools return structured JSON (e.g., {series: [{seriesCode, observations: [{date, value}]}]}) but LLMs cannot see the expected response structure. This forces agents to infer field names and types, increasing hallucination risk.
Numeric parameter 'last' in convenience tools (bank_rate, sonia, usd_gbp, eur_gbp) lacks min/max bounds. Description says 'default 10' but does not specify valid range. LLMs could pass 0, negative, or absurdly large values.
Error messages are generic ('BoE: 404 unexpected HTML response') and do not guide recovery. No actionable next steps for LLMs when a series code is invalid or date range is malformed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Date parameter format accepts two formats ('DD/Mon/YYYY' and ISO 'YYYY-MM-DD') but description does not clarify which is preferred or if both are truly equivalent. Ambiguity invites format errors.
series_codes parameter accepts both array and comma-separated string, but schema only declares array type. LLMs may not realize string is valid, forcing unnecessary array wrapping.