UK ONS

live GovernmentEconomicsEurope

UK Office for National Statistics — economy, population, labour market, trade. No auth.

6 tools
0ms auth
free tier 50 calls/day

Tools

list_datasets

Paginated catalog of ONS datasets. Returns id, title, description, contacts, release frequency, last release, theme.

No parameters required.

Try it
get_dataset

Single dataset metadata: title, description, methodology, contacts, release frequency, latest version, related links.

No parameters required.

Try it
list_editions

Editions of a dataset (e.g., quarterly editions, annual editions). Returns edition labels + latest versions.

No parameters required.

Try it
get_version

Specific edition + version. Returns dimension definitions (with codelists), download links, release date.

No parameters required.

Try it
get_observations

Fetch observations from a dataset/edition/version. Pass dimension filters as `dimensions` map ({"geography": "K02000001", "time": "2023"}). Use `*` for "all values" within a dimension.

No parameters required.

Try it
ons_timeseries

Fetch a single UK ONS time series by its www.ons.gov.uk URI (the classic timeseries API, distinct from the filterable datasets above). Returns the full series JSON (description + observations). e.g. u

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/uk-ons/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/uk-ons/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_datasets","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("list_datasets", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("uk office for national statistics — economy, population, labour market, trade");