MCP server for access to air-Q devices in the local network
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
claude mcp add mcp-airq -- uvx mcp-airq{
"mcpServers": {
"mcp-airq": {
"command": "uvx",
"args": ["mcp-airq"]
}
}
}MCP Servers overview
# mcp-airq

[](https://pypi.org/project/mcp-airq/)
[](https://pepy.tech/project/mcp-airq)
[](https://pypi.org/project/mcp-airq/)
[](LICENSE)
[](https://github.com/CorantGmbH/mcp-airq/actions/workflows/tests.yml)
[](https://codecov.io/gh/CorantGmbH/mcp-airq)
MCP server for [air-Q](https://www.air-q.com) 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](https://pypi.org/project/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.
<!-- mcp-name: io.github.CorantGmbH/mcp-airq -->
## Installation
```bash
pip install mcp-airq
```
Or run directly with [uvx](https://docs.astral.sh/uv/):
```bash
uvx mcp-airq
```
## CLI Usage
Use the same command directly from the shell:
```bash
mcp-airq list-devices
mcp-airq get-air-quality --device "Living Room"
mcp-airq get-air-quality-history --device "Living Room" --last-hours 12 --sensors co2
mcp-airq plot-air-quality-history --sensor co2 --output-format png
mcp-airq export-air-quality-history --sensor co2 --output-format xlsx
mcp-airq set-night-mode --activated --device "Bedroom"
```
For historical plots and exports:
- omit `device`, `location`, and `group` to combine all configured devices into one artifact
- use `location` or `group` to combine only the matching devices
- `plot_air_quality_history` returns one file per requested sensor, with one series per matching device
- `export_air_quality_history` returns one CSV/XLSX file per request, with rows for all matching devices
The CLI subcommands mirror the MCP tool names. Both styles work:
```bash
mcp-airq list-devices
mcp-airq list_devices
```
To force MCP server mode from an interactive terminal, run:
```bash
mcp-airq serve
```
The CLI is pipe-friendly: successful command output goes to `stdout`, while
tool errors go to `stderr` with exit code `1`.
```bash
mcp-airq get-air-quality --device "Living Room" | jq '.co2'
mcp-airq get-air-quality --device "Living Room" --compact-json | jq '.co2'
mcp-airq get-air-quality --device "Living Room" --yaml | yq '.co2'
```
## Device Configuration
Create a JSON file with your device(s), e.g. `~/.config/airq-devices.json`:
```json
[
{"address": "192.168.4.1", "password": "your_password", "name": "air-Q Pro", "location": "Living Room", "group": "Home"},
{"address": "192.168.4.2", "password": "your_password", "name": "air-Q Radon", "location": "Living Room", "group": "Home"},
{"address": "office_air-q.local", "password": "other_pass", "name": "Office", "group": "Work"}
]
```
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 address
- `location` (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):
```bash
chmod 600 ~/.config/airq-devices.json
```
Alternatively, pass the device list inline via the `AIRQ_DEVICES` environment variable as a JSON string.
## Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"airq": {
"command": "uvx",
"args": ["mcp-airq"],
"env": {
"AIRQ_CONFIG_FILE": "/home/you/.config/airq-devices.json"
}
}
}
}
```
## Claude Code
Register the server once via the CLI:
```bash
claude mcp add airq -e AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- uvx mcp-airq
```
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 `uvx` with its full path (`which uvx` → e.g. `/home/you/.local/bin/uvx`):
>
> ```bash
> claude mcp add airq -e AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- /home/you/.local/bin/uvx mcp-airq
> ```
## OpenAI Codex
Register the server once via the CLI:
```bash
codex mcp add airq --env AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- uvx mcp-airq
```
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).
## Available Tools
### Read-Only
| 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 |
### 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 |
### Device Control
| Tool | Description |
| ----------------- | ---------------------------------------------- |
| `restart_device` | Restart the device (~30s downtime) |
| `shutdown_device` | Shut down the device (manual restart required) |
## Multi-Device Support
When multiple devices are configured, specify which device to query:
- By exact name: `"air-Q Pro"`
- By partial match (case-insensitive): `"pro"`, `"radon"`
If only one device is configured, it is selected automatically.
### Location and Group Queries
`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.
```text
get_air_quality(location="Living Room") → air-Q Pro + air-Q Radon
get_air_quality(group="Home") → air-Q Pro + air-Q Radon + …
get_air_quality(device="air-Q Radon") → just that one device
```
Exactly one of `device`, `location`, or `group` may be specified per call.
## Historical Data
Three tools provide access to data stored on the device's SD card:
### Plotting charts
`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)*
```bash
# Single device, last 24 hours (default), PNG output (default)
mcp-airq plot-air-quality-history --sensor co2 --device "Living Room"
# All devices at a location, custom time range, SVG output
mcp-airq plot-air-quality-history --sensor co2 --location "Living Room" \
--from-datetime "2026-03-16T00:00:00" --to-datetime "2026-03-17T00:00:00" \
--output-format svg --output co2.svg
# All configured devices, dark mode, line chart
mcp-airq plot-air-quality-history --sensor co2 --dark --chart-type line
# Save to file
mcp-airq plot-air-quality-history --sensor co2 --output co2_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`
### Exporting data
`export_air_quality_history` produces one CSV or Excel file containing all matching devices.
```bash
# CSV export (default)
mcp-airq export-air-quality-history --sensor co2 --device "Living Room" --last-hours 48
# Excel export for all devices at a location
mcp-airq export-air-quality-historyWhat people ask about mcp-airq
What is CorantGmbH/mcp-airq?
+
CorantGmbH/mcp-airq is mcp servers for the Claude AI ecosystem. MCP server for access to air-Q devices in the local network It has 0 GitHub stars and its last recorded update is dated 2026-08-05.
How do I install mcp-airq?
+
You can install mcp-airq by cloning the repository (https://github.com/CorantGmbH/mcp-airq) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is CorantGmbH/mcp-airq safe to use?
+
Our security agent has analyzed CorantGmbH/mcp-airq and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains CorantGmbH/mcp-airq?
+
CorantGmbH/mcp-airq is maintained by CorantGmbH. The last recorded GitHub activity is dated 2026-08-05, with 0 open issues.
Are there alternatives to mcp-airq?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mcp-airq to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/corantgmbh-mcp-airq)<a href="https://claudewave.com/repo/corantgmbh-mcp-airq"><img src="https://claudewave.com/api/badge/corantgmbh-mcp-airq" alt="Featured on ClaudeWave: CorantGmbH/mcp-airq" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!