
UBA Air Quality
io.github.mohammad-abbasi-shPublished by GitHub account mohammad-abbasi-shv0.1.0Updated Nov 14, 2026
Unofficial read-only MCP server for German air quality (UBA) — hourly values + LQI, 400 stations.
Overview
Read-only MCP server for German UBA air-quality data: hourly pollutant values and the official air-quality index for about 400 stations.
- What you can do
- Find and inspect measuring stations by city, state, type, area or name, with address, coordinates and recent pollutants
- Get the latest hourly values and air-quality index for a station given by code, id or city name
- Retrieve hourly measurements over a date range of up to 31 days, with min/max/mean and daily means
- List the 12 pollutants and the 17 measuring networks
- Check whether the upstream API is reachable
- When to use it
- Useful when you want an assistant to answer questions about current or historical air quality in Germany, compare stations or pollutants, or summarize pollution levels over a period without leaving the chat.
- Requirements
- Runs locally over stdio, typically via uvx from the uba-mcp PyPI package or as python -m uba_mcp.server with the mcp and httpx dependencies. No API key or login; network access to the UBA Air Data API is required.
Installation
In SourceWeft
- Open UBA Air Quality in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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):
Or run locally: python -m uba_mcp.server (needs mcp<2, httpx).
Tools
Example output (uba_current_air_quality / Berlin Neukölln, 2026-11-11 09:00 CET):
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³):
- 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
tests/test_domain.py— offline, parses real captured API fixturestests/test_live.py— 7 cautious live requests against the UBA API
License
MIT
Built by Mohammad Abbasi — Almanibama · mabbasi.ir
Source: README.md at commit 623abcc
Tools
0Version history
1- v0.1.0LatestNov 14, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts