A side-by-side look at the Openaq MCP Server and Swiss Environment MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Openaq MCP Server for environment & nature work as a local process; choose Swiss Environment MCP for environment & nature as a local process. You can also run both side by side in one mcpServers block.
OPENAQ_API_KEY.openaq_find_locations, openaq_get_readings, openaq_get_measurements.env_nabel_stations, env_nabel_current, env_air_limits_check.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Environment & Nature | Environment & Nature |
| Quality signal | 57/100 · Good | 49/100 · Fair |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | OPENAQ_API_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 8 | 21 |
| Full listing | View Openaq MCP Server | View Swiss Environment MCP |
openaq_find_locationsFind monitoring stations near a point, in a bounding box, or by country; the location ids the other tools takeopenaq_get_readingsLatest value for every sensor at a station, labeled with its pollutant and unitopenaq_get_measurementsHistorical series for one pollutant at one station, raw or rolled up hourly/dailyopenaq_list_parametersPollutant catalog with canonical units; maps a pollutant and unit to its parameter idopenaq_list_countriesCountry coverage: data span and the parameters measured in eachopenaq_dataframe_describeList the tables and columns staged on a DataCanvasopenaq_dataframe_queryRun a read-only SQL `SELECT` over staged measurement seriesopenaq_dataframe_dropDelete a complete staged canvas; opt-in with `OPENAQ_ENABLE_CANVAS_DROP=trueenv_nabel_stationsList all 16 NABEL monitoring stations with location type and cantonenv_nabel_currentCurrent air quality data for a station (NO₂, O₃, PM10, PM2.5, SO₂, CO)env_air_limits_checkCompare a measurement against Swiss LRV limits and WHO 2021 guidelinesenv_hydro_stationsFilter hydrological gauging stations by water body (canton filter unavailable — see notes)env_hydro_currentCurrent water level, flow rate and temperature at a stationenv_hydro_historyLatest LINDAS value plus the access path for real time series ⚠️env_flood_warningsActive flood warnings filtered by danger level (nationwide — canton filter not applied)env_bathing_waterBathing water quality (E.coli, enterococci) per bathing site — multi-year time seriesenv_hazard_overviewRouter: points to the dedicated live hazard tools + official portals (no network call — the aggregate `naturgefahren.ch` API was discontinued)env_hazard_regionsRouter: maps a hazard type (flood/avalanche/wildfire/snow) to the right live tool + portal (no network call)env_wildfire_dangerWildfire danger index by canton and regionenv_snow_stationsList automatic SLF/IMIS snow measurement stations (by canton)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"openaq-mcp-server": {
"command": "bunx",
"args": [
"@cyanheads/openaq-mcp-server@latest"
],
"env": {
"OPENAQ_API_KEY": "YOUR_OPENAQ_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"swiss-environment-mcp": {
"command": "uvx",
"args": [
"swiss-environment-mcp"
]
}
}
}