UK Data: UK statistics and Bank of England
Server Details
ONS statistics and time series (CPI, GDP, unemployment) and Bank of England rates
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
The tools are mostly distinct by source: boe_series for Bank of England data, fca_search for the FCA register, and the two ONS tools for ONS resources. The main possible overlap is ons_search versus ons_timeseries, but the descriptions clarify that one searches datasets/bulletins/time series metadata while the other retrieves observations by CDID.
All names use snake_case and follow a source-prefixed pattern: boe_, fca_, and ons_. The second component varies between action and resource nouns (series, search, timeseries), which is slightly uneven but still predictable and readable.
Four tools is a reasonable, compact surface for access to BoE series, FCA search, and ONS search/time-series data. It is slightly thin for the broad UK data domain, but each tool has a clear role.
The server covers core retrieval paths: BoE series by code, FCA register search, ONS search, and ONS time-series observations. However, it lacks BoE series discovery/search, FCA entity detail retrieval, and broader ONS dataset retrieval, which are notable gaps for a UK data server.
Available Tools
4 toolsboe_seriesBInspect
Bank of England database series: Bank Rate (IUDBEDR, default), exchange rates (XUDLUSS), quoted mortgage rates (IUMBV34) and more. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | YYYY-MM-DD | |
| from | No | YYYY-MM-DD | |
| series | No | string, comma list allowed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does disclose a genuinely useful behavioral trait — a cost of 1 credit — plus the default series behavior, but says nothing about return format, data frequency, latency, or error behavior for unknown series codes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource named first and cost appended in parentheses — nothing is padded. The trailing 'and more' is slightly vague, but overall the structure is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read tool with no annotations and no output schema, the definition covers the identifier space but leaves the return shape (dates, values, units, frequency) entirely unexplained. Adequate to invoke, thin for interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description earns an upgrade: the schema only says 'string, comma list allowed' for series, while the description supplies real series identifiers and identifies the default. It adds no extra detail on from/to beyond the schema's YYYY-MM-DD format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieving Bank of England database series, with three concrete series identifiers (IUDBEDR, XUDLUSS, IUMBV34) that make the data domain unmistakable. It does not distinguish itself from the overlapping siblings fx_rates, hmrc_exchange_rates, or ons_timeseries, which is why it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming example series codes and marking IUDBEDR as the default, but never says when to choose this over fx_rates or ons_timeseries, nor when a date range is required. With all parameters optional, the agent gets no guidance on what happens if it calls with no arguments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fca_searchCInspect
Search the FCA Financial Services Register for authorised firms or individuals. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | firm|individual | |
| query | No | string, required |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. The credit-cost note is a genuinely useful disclosure, but nothing is said about matching behaviour (exact vs fuzzy name search), result caps or pagination, or error behaviour when the register has no match. It also doesn't clarify whether the search returns full authorisation detail or just identifiers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with what is searched and what it returns conceptually, with the cost tacked on in parentheses. Nothing is wasted, though the parenthetical cost would read better as a structured field than as trailing prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple two-parameter read-only search with a fully described schema and no output schema, so the description is broadly sufficient to call it. It remains thin on result shape and matching semantics, which matter for an agent deciding whether a search hit is authoritative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters and the baseline is 3. The description's "firms or individuals" loosely mirrors the type enum, but it adds no syntax, format, or matching guidance for the query string beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ("Search") and resource ("FCA Financial Services Register") and scopes it to "authorised firms or individuals," which implies the type parameter. It does not explicitly differentiate itself from look-alike siblings such as company_search or company_profile, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. An agent must infer from the purpose sentence alone that this is the tool for UK financial-regulator authorisation checks, and must guess whether it also covers e.g. company-house style lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ons_searchCInspect
Search ONS datasets, bulletins and time series. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number 1-50 | |
| query | No | string, required |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden, and it adds only a credit cost ('cost: 1 credit'), which is genuinely useful. It says nothing about what a search returns (datasets vs. bulletins vs. series records), pagination, result ranking, or whether the cost is per call or per result, which matters for a metered tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses, front-loaded with the action and the resource, with the cost tucked in a parenthetical. Nothing is wasted, though the brevity is close to under-specification rather than disciplined economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metered, annotation-free search tool with no output schema, an agent still cannot tell what a result record looks like, how to page through results, or why it should pick this over 'ons_timeseries'. The description is complete enough to attempt a call but not enough to call it correctly the first time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% ('query' as required string, 'limit' as number 1-50), so the schema already documents both parameters. The description adds no meaning beyond that, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Search') and names the concrete resource domain ('ONS datasets, bulletins and time series'), so an agent knows this queries UK Office for National Statistics content. It falls short of a 5 because it never distinguishes itself from the sibling 'ons_timeseries', even though it explicitly claims to cover time series, leaving ambiguity about which tool handles series data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the obvious alternative, 'ons_timeseries', or versus generic search siblings like 'govuk_search' or 'news_search'. Usage is only implied by the word 'Search', and no exclusions, prerequisites, or selection criteria are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ons_timeseriesBInspect
Observations for an ONS time series by CDID, e.g. D7G7 CPIH annual rate, L55O CPIH index, MGSX unemployment rate, ABMI GDP. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| cdid | No | string, required | |
| limit | No | number | |
| dataset | No | string e.g. mm23, lms, qna | |
| frequency | No | months|quarters|years |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses a cost of 1 credit and implies a read-style observation lookup, but says nothing about return shape, pagination, default dataset/frequency behavior, error handling, or rate limits beyond the single-credit cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with useful examples and a clear cost note. There is no filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter data retrieval tool with no annotations and no output schema, the description is too thin. It omits defaults for dataset and frequency, limit behavior, and the relationship to ons_search for finding valid CDIDs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are at least nominally documented in the schema. The description adds helpful CDID examples, but does not explain the meaning or behavior of dataset, frequency, or limit beyond the terse schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: observations for an ONS time series by CDID, with concrete CDID examples such as D7G7 and MGSX. It is clear what the tool retrieves, though it does not explicitly distinguish itself from the sibling ons_search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by CDID' and the examples imply the tool is for cases where the series identifier is already known. However, it gives no explicit guidance on using ons_search to discover a CDID first, and no when-not-to-use or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
boe_series - First observed
fca_search - First observed
ons_search - First observed
ons_timeseries
Related MCP Connectors
GDP, unemployment, CPI, interest rates, and 800K+ economic time series from the Federal Reserve
UK Office for National Statistics dataset catalogue + Beta JSON API
Bank of England Interactive Statistical Database (IADB) MCP.
Macro data for AI agents: GDP, inflation, unemployment and more (World Bank, US BLS). No keys.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to UK economic, social, and labour-market statistics via the ONS beta and Nomis APIs, enabling discovery and retrieval of time series, datasets, and census data.18MIT
- AlicenseNot gradedqualityFmaintenanceProvides tools to list, retrieve metadata, editions, latest observations, and time series from the UK Office for National Statistics (ONS) datasets.2 npmMIT
- AlicenseAqualityDmaintenanceEnables access to official UK Office for National Statistics data including demographics, economics, and social statistics through the ONS Beta API. Supports browsing, searching, and querying datasets with built-in shortcuts for popular statistics like inflation, regional GDP, and wellbeing data.513 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying Bank of England statistical data including Bank Rate, SONIA, and exchange rates via the IADB.438 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.