Skip to main content

uba-mcp 🌬️

mcp-name: io.github.mohammad-abbasi-sh/uba-mcp

Unofficial read-only MCP server for UBA air quality — the Umweltbundesamt (German Federal Environment Agency) Air Data API v4: hourly measurements from ~400 German stations (PM10, PM2.5, NO2, O3, SO2, CO, benzene …) since 2016, with the official UBA air-quality index (LQI). No key, no login.

Built by Mohammad Abbasi as part of the "Germany MCP factory". Not affiliated with the Umweltbundesamt.

For AI agents

Add to your MCP client config (stdio):

{
  "mcpServers": {
    "uba": {
      "command": "uvx",
      "args": ["uba-mcp==0.1.0"]
    }
  }
}

Or run locally: python -m uba_mcp.server (needs mcp<2, httpx).

Tools

Tool Description
uba_list_stations Measuring stations, filterable by city, state, type, area or name
uba_station_detail One station: address, coordinates, type, data window, recent pollutants
uba_current_air_quality Latest hourly values + LQI at a station (code, id or city name)
uba_measurements Hourly values over a date range (max 31 days) + min/max/mean & daily means
uba_list_components All 12 pollutants: code, symbol, unit, name
uba_list_networks The 17 measuring networks (16 Länder + UBA)
uba_health Reachability check (ok / blocked / error) — one polite request

Example output (uba_current_air_quality / Berlin Neukölln, 2026-11-11 09:00 CET):

{"station": {"code": "DEBE034", "name": "Berlin Neukölln", "city": "Berlin"},
 "hour": {"start": "2026-11-11 09:00:00", "total_index": 2, "total_label": "moderate",
  "values": [{"code": "PM2", "value": 17.0, "unit": "µg/m³", "label": "moderate"},
             {"code": "PM10", "value": 23.0, "unit": "µg/m³", "label": "good"},
             {"code": "O3", "value": 24.0, "unit": "µg/m³", "label": "very good"},
             {"code": "NO2", "value": 15.0, "unit": "µg/m³", "label": "good"}]}}

Notes:

  • Stations are found by code (DEBE010 = Berlin Wedding), numeric id, or city name (first active station in that city).
  • The index / total_index (0–4) and labels come from the API itself; they follow the UBA LQI, 2025 revision (hourly means, µg/m³):
Class NO2 PM10 PM2.5 O3 SO2
0 very good 0–10 0–9 0–5 0–24 0–10
1 good 11–30 10–27 6–15 25–72 11–30
2 moderate 31–60 28–54 16–30 73–144 31–60
3 poor 61–100 55–90 31–50 145–240 61–100
4 very poor >100 >90 >50 >240 >100
  • All times are CET/CEST as returned by the API. Data: UBA Air Data API v4 umweltbundesamt.de/api/air_data/v4 — no key, no login, read-only.

Development

python3 -m venv .venv && .venv/bin/pip install "mcp<2" httpx pytest
.venv/bin/pip install -e .
.venv/bin/python -m pytest tests/ -q
  • tests/test_domain.py — offline, parses real captured API fixtures
  • tests/test_live.py — 7 cautious live requests against the UBA API

License

MIT


Built by Mohammad Abbasi — Almanibama · mabbasi.ir

Metadata

Release files for uba-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uba-mcp 0.1.0
File Size Uploaded Provenance Actions
uba_mcp-0.1.0.tar.gz 21.2 kB With provenance Details for uba_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for uba-mcp 0.1.0
File Interpreter ABI Platform Actions
uba_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for uba_mcp-0.1.0-py3-none-any.whl

Total release size: 34.6 kB

Release files / uba_mcp-0.1.0.tar.gz

Download URL uba_mcp-0.1.0.tar.gz
Size 21.2 kB
Tags Source
SHA-256 checksum
How to use checksums
30b17d479fb9dcef4eae1877dc008afa373b07751667620cfe3ff1271d298073
BLAKE2b-256 checksum
How to use checksums
1c33a024500ba99f7fd6f2223c065f699f2097ceb5294f490c13bc5257fd8d4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Release files / uba_mcp-0.1.0-py3-none-any.whl

Download URL uba_mcp-0.1.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
537bd769b36957d288bb1be796e1f26b39643106cb938c0d421ef63d76fbbfa1
BLAKE2b-256 checksum
How to use checksums
a9d666b26dc27baa091ca0d52a1ece6300a8c90263991da30a65686b2418464f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Security for uba-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for uba_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page