MCP server for direct HTTP communication with air-Q air quality sensor devices
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Air Q.
list_devicesList all configured air-Q devices (with location/group if set)
get_air_qualityGet sensor readings β by `device`, `location`, or `group
get_air_quality_historyGet historical sensor data as column-oriented JSON
plot_air_quality_historyRender one historical chart per sensor across all matching devices
export_air_quality_historyExport one historical sensor as one `csv`/`xlsx` across matching devices
get_device_infoGet device metadata (name, model, firmware version)
MCP server for air-Q air quality sensor devices. Enables Claude Desktop, Claude Code, and other MCP clients to directly query and configure air-Q devices on your local network.
Built on aioairq, the official async Python library for air-Q.
The same mcp-airq executable also works as a direct CLI when you pass a tool
name as a subcommand.
Or run directly with uvx:
Use the same command directly from the shell:
For historical plots and exports:
device, location, and group to combine all configured devices into one artifactlocation or group to combine only the matching devicesplot_air_quality_history returns one file per requested sensor, with one series per matching deviceexport_air_quality_history returns one CSV/XLSX file per request, with rows for all matching devicesThe CLI subcommands mirror the MCP tool names. Both styles work:
To force MCP server mode from an interactive terminal, run:
The CLI is pipe-friendly: successful command output goes to stdout, while
tool errors go to stderr with exit code 1.
Create a JSON file with your device(s), e.g. ~/.config/airq-devices.json:
Each entry requires:
address β IP address or mDNS hostname (e.g. abcde_air-q.local)password β Device password (default: airqsetup)name (optional) β Human-readable name; defaults to addresslocation (optional) β Physical room/area for grouping (e.g. "Living Room")group (optional) β Second grouping dimension, orthogonal to location (e.g. "Home", "Work")Then restrict access to the file (it contains passwords):
Alternatively, pass the device list inline via the AIRQ_DEVICES environment variable as a JSON string.
Add to your claude_desktop_config.json:
Register the server once via the CLI:
This writes to ~/.claude/settings.json and is automatically picked up by the Claude Code VSCode extension as well β no separate configuration needed.
If the server fails to connect: MCP servers run in a subprocess that may not inherit your shell's PATH. Replace
uvxwith its full path (which uvxβ e.g./home/you/.local/bin/uvx):
Register the server once via the CLI:
This writes to ~/.codex/config.toml and is automatically picked up by the Codex VSCode extension as well.
If the server fails to connect: Use the full path to
uvx(see note above).
| Tool | Description |
|---|---|
list_devices | List all configured air-Q devices (with location/group if set) |
get_air_quality | Get sensor readings β by device, location, or group |
get_air_quality_history | Get historical sensor data as column-oriented JSON |
plot_air_quality_history | Render one historical chart per sensor across all matching devices |
export_air_quality_history | Export one historical sensor as one csv/xlsx across matching devices |
get_device_info | Get device metadata (name, model, firmware version) |
get_config | Get full device configuration |
get_logs | Get device log entries |
identify_device | Make device blink its LEDs for visual identification |
get_led_theme | Get current LED visualization theme |
get_possible_led_themes | List all available LED visualization themes |
get_night_mode | Get current night mode configuration |
get_brightness_config | Get current LED brightness configuration |
| Tool | Description |
|---|---|
set_device_name | Rename a device |
set_led_theme | Change LED visualization (COβ, VOC, Humidity, PM2.5, β¦) |
set_night_mode | Configure night mode schedule and settings |
set_brightness | Adjust LED brightness (day/night) |
configure_network | Set static IP or switch to DHCP |
| Tool | Description |
|---|---|
restart_device | Restart the device (~30s downtime) |
shutdown_device | Shut down the device (manual restart required) |
When multiple devices are configured, specify which device to query:
"air-Q Pro""pro", "radon"If only one device is configured, it is selected automatically.
get_air_quality accepts two optional grouping parameters:
location β query all devices in the same room (e.g. "Living Room")group β query all devices sharing a group tag (e.g. "Home")Both are independent: a device can have a location, a group, both, or neither. Matching is case-insensitive and substring-based.
Exactly one of device, location, or group may be specified per call.
Three tools provide access to data stored on the device's SD card:
plot_air_quality_history renders a chart for one sensor. When multiple devices
match, each device becomes a separate series in the same chart.

Single device (24 h, area chart, PNG)

Multiple devices at one location (24 h, area chart, PNG)
Output formats: png (default), webp, svg, html (interactive Plotly chart with hover tooltips and zoom)
Customization: --title, --x-axis-title, --y-axis-title, --chart-type (line/area), --dark, --timezone-name
export_air_quality_history produces one CSV or Excel file containing all matching devices.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/air-q)<a href="https://allmcps.com/mcp/air-q"><img src="https://allmcps.com/api/badge/air-q?style=directory" alt="Air Q on AllMCPs" /></a>