Live UK air pollution from Defra monitors: NO2, PM2.5, PM10, ozone and the Daily Air Quality Index
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer <key> for more than the free daily allowance; free key from POST https://ukdata.reliness.co.uk/keys
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Hourly readings of one pollutant at one Defra UK-AIR monitor over a period of 1 to 168 hours (7 days): up to 100 hourly rows are shown (the latest), while the minimum, maximum, mean, peak hour and daily means cover the whole period. For evidence and comparisons: councillors, campaigners, schools, journalists and researchers asking "when was pollution highest this week". Takes a timeseries_id or station_id from the other air quality tools. Data are provisional; this is not the ratified long-term archive. (cost: 1 credit)
string, optional, end of the period as YYYY-MM-DD (end of that day, UTC) or YYYY-MM-DDTHH:MMZ, default the current hour
integer, optional, hours of history ending at end, default 24, max 168
integer, required unless timeseries_id is given, UK-AIR station id (one pollutant at one site, from air_quality_stations_near)
integer, required unless station_id is given, UK-AIR timeseries id (from a *_level_near result)
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http air-quality https://ukdata.reliness.co.uk/mcp/air-quality
Headers
Authorization (optional, not in the config above): Optional. Bearer <key> for more than the free daily allowance; free key from POST https://ukdata.reliness.co.uk/keysHourly readings of one pollutant at one Defra UK-AIR monitor over a period of 1 to 168 hours (7 days): up to 100 hourly rows are shown (the latest), while the minimum, maximum, mean, peak hour and daily means cover the whole period. For evidence and comparisons: councillors, campaigners, schools, journalists and researchers asking "when was pollution highest this week". Takes a timeseries_id or station_id from the other air quality tools. Data are provisional; this is not the ratified long-term archive. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| end | string | string, optional, end of the period as YYYY-MM-DD (end of that day, UTC) or YYYY-MM-DDTHH:MMZ, default the current hour |
| hours | string | integer, optional, hours of history ending at end, default 24, max 168 |
| station_id | string | integer, required unless timeseries_id is given, UK-AIR station id (one pollutant at one site, from air_quality_stations_near) |
| timeseries_id | string | integer, required unless station_id is given, UK-AIR timeseries id (from a *_level_near result) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string",
"description": "string, optional, end of the period as YYYY-MM-DD (end of that day, UTC) or YYYY-MM-DDTHH:MMZ, default the current hour"
},
"hours": {
"type": "string",
"description": "integer, optional, hours of history ending at end, default 24, max 168"
},
"station_id": {
"type": "string",
"description": "integer, required unless timeseries_id is given, UK-AIR station id (one pollutant at one site, from air_quality_stations_near)"
},
"timeseries_id": {
"type": "string",
"description": "integer, required unless station_id is given, UK-AIR timeseries id (from a *_level_near result)"
}
}
}One answer to "what is the air quality near me today": the overall UK Daily Air Quality Index (1-10, Low, Moderate, High or Very High) with health advice, calculated from the latest NO2, ozone, PM2.5 and PM10 measurements at the nearest working Defra AURN monitors, and which pollutant drives it. Calculated with the Defra DAQI bands and averaging periods; it is not Defra's own published index or the air pollution forecast, and pollutants may come from different nearby sites. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude (UK, 49 to 61) |
| lon | number | string | number, required, longitude (UK, -9 to 2.5) |
| max_km | number | string | number, optional, furthest monitor to use for each pollutant in km, default 25, max 100 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude (UK, -9 to 2.5)"
},
"max_km": {
"type": [
"number",
"string"
],
"description": "number, optional, furthest monitor to use for each pollutant in km, default 25, max 100"
}
}
}Lists the official Defra AURN air quality monitoring sites near a UK point, nearest first, with the headline pollutants each currently measures (NO2, ozone, PM2.5, PM10). Every UK-AIR station id is checked against its latest reading and marked current, not_reporting or retired, so you know which id to pass to air_pollutant_history; sites with only retired records are left out. A starting point for "where is air pollution measured near me" for residents, schools, researchers and property buyers. Covers only the national automatic network, not local council diffusion tubes or low-cost sensors. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude (UK, 49 to 61) |
| lon | number | string | number, required, longitude (UK, -9 to 2.5) |
| limit | string | integer, optional, most sites to return, default 10, max 10 |
| radius_km | number | string | number, optional, search radius in km, default 10, max 50 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude (UK, -9 to 2.5)"
},
"limit": {
"type": "string",
"description": "integer, optional, most sites to return, default 10, max 10"
},
"radius_km": {
"type": [
"number",
"string"
],
"description": "number, optional, search radius in km, default 10, max 50"
}
}
}Latest hourly nitrogen dioxide (NO2) reading in ug/m3 at the nearest working Defra AURN monitor, with its Daily Air Quality Index band (1-10, Low to Very High) and health advice. NO2 is mainly traffic and diesel pollution, the UK's headline roadside pollutant, so this answers "how bad is the traffic pollution near me right now" for cyclists, parents on the school run and people with asthma. Source: Defra UK-AIR. A single monitor can be several km away and not represent your street. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude of the place (UK, 49 to 61) |
| lon | number | string | number, required, longitude of the place (UK, -9 to 2.5) |
| max_km | number | string | number, optional, furthest monitor to use in km, default 25, max 100 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude of the place (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude of the place (UK, -9 to 2.5)"
},
"max_km": {
"type": [
"number",
"string"
],
"description": "number, optional, furthest monitor to use in km, default 25, max 100"
}
}
}Latest hourly ground-level ozone (O3) reading in ug/m3 at the nearest working Defra AURN monitor, plus its 8-hour mean and the Daily Air Quality Index band and health advice that mean gives. Ozone peaks on hot sunny days (summer smog), often higher in the countryside than in cities, so this suits runners and people with lung conditions in heatwaves. Source: Defra UK-AIR. Not a forecast. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude of the place (UK, 49 to 61) |
| lon | number | string | number, required, longitude of the place (UK, -9 to 2.5) |
| max_km | number | string | number, optional, furthest monitor to use in km, default 25, max 100 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude of the place (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude of the place (UK, -9 to 2.5)"
},
"max_km": {
"type": [
"number",
"string"
],
"description": "number, optional, furthest monitor to use in km, default 25, max 100"
}
}
}Latest hourly coarse particulate (PM10) reading in ug/m3 at the nearest working Defra AURN monitor, plus its 24-hour mean and the Daily Air Quality Index band and health advice that mean gives. Useful for Saharan dust episodes, construction and road dust. Source: Defra UK-AIR. Not a forecast; one monitor may not represent your street. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude of the place (UK, 49 to 61) |
| lon | number | string | number, required, longitude of the place (UK, -9 to 2.5) |
| max_km | number | string | number, optional, furthest monitor to use in km, default 25, max 100 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude of the place (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude of the place (UK, -9 to 2.5)"
},
"max_km": {
"type": [
"number",
"string"
],
"description": "number, optional, furthest monitor to use in km, default 25, max 100"
}
}
}Latest hourly fine particulate (PM2.5) reading in ug/m3 at the nearest working Defra AURN monitor, plus its 24-hour mean and the Daily Air Quality Index band and health advice that mean gives. PM2.5 is the pollutant most linked to health effects (smoke, wood burners, traffic, bonfire night), so this suits asthma and COPD sufferers, runners and parents. Source: Defra UK-AIR. Not a forecast; one monitor may not represent your street. (cost: 1 credit)
| Argument | Type | Description |
|---|---|---|
| lat | number | string | number, required, latitude of the place (UK, 49 to 61) |
| lon | number | string | number, required, longitude of the place (UK, -9 to 2.5) |
| max_km | number | string | number, optional, furthest monitor to use in km, default 25, max 100 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"number",
"string"
],
"description": "number, required, latitude of the place (UK, 49 to 61)"
},
"lon": {
"type": [
"number",
"string"
],
"description": "number, required, longitude of the place (UK, -9 to 2.5)"
},
"max_km": {
"type": [
"number",
"string"
],
"description": "number, optional, furthest monitor to use in km, default 25, max 100"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.