qingping-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@qingping-mcp What's the CO₂ level in the bedroom right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
qingping-mcp
MCP server for Qingping air quality monitors (Air Monitor CGS1, Air Monitor 2, Lite, thermometers…), through the official cloud Open API.
Ask Claude (or any MCP client): "what's the CO₂ in the bedroom?", "did CO₂ go above 1000 ppm last night?", "show me the PM2.5 curve over 7 days".
Tools
Tool | What it does |
| Latest readings (CO₂, PM2.5, PM10, tVOC, temperature, humidity, battery…) with a plain-language level (good / high — ventilate…), the age of the reading and a warning when it is stale |
| History over a period: min / max / average per metric, time of the peak, minutes above thresholds (CO₂ > 1000 / 1500 ppm, PM2.5 > 15 / 35, humidity > 60 / 70 %), share of the period actually covered, optional series to draw a chart |
| Triggered alerts (thresholds set in the app) |
| Measurement and cloud upload intervals |
Related MCP server: mcp-airq-cloud
Setup
On developer.qingping.co, log in with the Qingping+ / Qingping IoT account that owns your sensors, then Access management → copy the App Key and App Secret.
Build the server:
git clone https://github.com/nicolascoutureau/qingping-mcp.git cd qingping-mcp npm install && npm run buildPut the keys in a
.envfile at the project root (it is git-ignored):QINGPING_APP_KEY=... QINGPING_APP_SECRET=...or pass them as environment variables.
Add the server to Claude Code:
claude mcp add -s user qingping -- node /path/to/qingping-mcp/dist/index.js
Troubleshooting
The device is listed but has no reading at all (
readingAt: null, empty history, "No historical data" in the app): the sensor is not reaching the Qingping cloud. Check the date and time on the sensor's screen: if they are wrong (e.g. 2015), it is connected to Wi-Fi but has no Internet access. Reset its Wi-Fi and pair it again in the app (2.4 GHz network). The app's "Now" values may arrive over Bluetooth and hide the problem.Freshness: the cloud only knows what the sensor uploads (every 15 min by default).
qingping_set_intervalscan bring it down to a few minutes for a plugged-in device.tVOC: the API returns it in ppb (the app shows mg/m³).
Development
npm test # tests (simulated API)
npm run inspect # MCP InspectorLicense
MIT
Available Tools
4 toolsqingping_alertsTriggered alertsARead-only
Alerts triggered by a Qingping sensor over a period (thresholds set in the Qingping app, e.g. CO₂ > 1000 ppm).
Inputs: end, hours, start, device.
qingping_currentCurrent readingsARead-only
Latest readings of Qingping sensors (CO₂, PM2.5, PM10, tVOC, temperature, humidity, battery…) with a plain-language level (good / high — ventilate…). readingAt / ageMin give the time and age of the reading: the sensor only sends to the cloud once per report interval (often 15 min). staleWarning appears when the reading is late relative to that interval.
Inputs: device.
qingping_historyReading historyARead-only
History of a Qingping sensor over a period. Returns, per metric, min / max / average / first / last value, the time of the min and max, and the minutes spent above thresholds (CO₂ > 1000 and > 1500 ppm, PM2.5 > 15 and > 35, humidity > 60 and > 70 %). With max_points > 0, also returns the series (averaged per bucket) to draw a chart. coverage gives the share of the period actually measured: an empty or partial history means "no data", not "nothing to report".
Inputs: end, hours, start, device, +2 more.
qingping_set_intervalsSet intervalsAIdempotent
Changes the measurement (collect) and cloud upload (report) intervals of a Qingping sensor. A short report interval gives fresher data but drains the battery faster when the device is not plugged in.
Inputs: report_interval_min (required), collect_interval_min (required), device.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
The four tools map to clearly distinct operations: latest readings, historical aggregation, alert retrieval, and interval configuration. There is no meaningful overlap between current vs. history or alerts vs. readings.
All tools use a consistent `qingping_` prefix followed by a concise snake_case noun or verb phrase. The pattern is predictable and readable throughout.
Four tools is well-scoped for a focused sensor-monitoring server, with each tool covering a distinct part of the lifecycle. No tool feels redundant or out of place.
The surface covers live readings, history, alerts, and device interval configuration, which are the core monitoring workflows. A device listing or sensor inventory tool would help multi-sensor setups, but the existing set is otherwise complete.
Maintenance
Related MCP Connectors
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
OpenAQ MCP — global air-quality measurements via the OpenAQ v3 API.
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with the World Air Quality Index to fetch real-time air quality data for cities and coordinates worldwide via Model Context Protocol (MCP).1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for the air-Q Cloud API, enabling remote retrieval of air quality sensor data and historical analysis through read-only tools like listing devices, fetching readings, and exporting charts or data.46 PyPIApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables querying of official Netherlands air quality data from the RIVM Luchtmeetnet API via MCP tools.129 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables retrieval of real-time air quality data from IQAir, including AQI, pollutant levels, weather, and forecasts for any location, via an MCP-compatible interface without an official API key.-