air-Q

by corantgmbh

Not rated
GitHub

About

Allows easy local access to air-Q devices for retrieving air quality data

Details

Author
corantgmbh
Categories
Database, Other, Infrastructure

Setup

Install air-Q in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/corantgmbh/mcp-airq

Follow the installation instructions in the repository README, then restart your MCP client.

MCP server forair-Qair 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 onaioairq, the official async Python library for air-Q.

The samemcp-airqexecutable also works as a direct CLI when you pass a tool name as a subcommand.

Use the same command directly from the shell:

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"

- omitdevice,location, andgroupto combine all configured devices into one artifact
- uselocationorgroupto combine only the matching devices
- plot_air_quality_historyreturns one file per requested sensor, with one series per matching device
- export_air_quality_historyreturns one CSV/XLSX file per request, with rows for all matching devices

The CLI subcommands mirror the MCP tool names. Both styles work:

mcp-airq list-devices mcp-airq list_devices

To force MCP server mode from an interactive terminal, run:

The CLI is pipe-friendly: successful command output goes tostdout, while tool errors go tostderrwith exit code1.

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'

Create a JSON file with your device(s), e.g.~/.config/airq-devices.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"} ]

- 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):

Alternatively, pass the device list inline via theAIRQ_DEVICESenvironment variable as a JSON string.

Add to yourclaude_desktop_config.json:

{ "mcpServers": { "airq": { "command": "uvx", "args": ["mcp-airq"], "env": { "AIRQ_CONFIG_FILE": "/home/you/.config/airq-devices.json" } } } }
claude mcp add airq -e AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- uvx mcp-airq

This writes to~/.claude/settings.jsonand is automatically picked up by theClaude Code VSCode extensionas 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. Replaceuvxwith its full path (which uvx→ e.g./home/you/.local/bin/uvx):

claude mcp add airq -e AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- /home/you/.local/bin/uvx mcp-airq
codex mcp add airq --env AIRQ_CONFIG_FILE=~/.config/airq-devices.json -- uvx mcp-airq

This writes to~/.codex/config.tomland is automatically picked up by theCodex VSCode extensionas well.

If the server fails to connect:Use the full path touvx(see note above).

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.

get_air_qualityaccepts 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.

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 ofdevice,location, orgroupmay be specified per call.

Three tools provide access to data stored on the device's SD card:

plot_air_quality_historyrenders a chart for one sensor. When multiple devices match, each device becomes a separate series in the same chart.

Multiple devices at one location (24 h, area chart, PNG)

# 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

export_air_quality_historyproduces one CSV or Excel file containing all matching devices.

# 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-history --sensor radon --location "Home" \ --output-format xlsx --output radon.xlsx

get_air_quality_historyreturns column-oriented JSON, useful for programmatic analysis.

mcp-airq get-air-quality-history --device "Living Room" --last-hours 12 \ --sensors co2 pm2_5 --max-points 150

- "How is the air quality in the living room?"— queries all devices at that location
- "What's the air quality at home?"— queries all devices in the "Home" group
- "Show the CO₂ trend over the last 12 hours as SVG"
- "Export the radon history from yesterday as Excel"
- "Show me the radon level"— targets the air-Q Radon device by name
- "Show CO₂ on the LEDs"
- "Enable night mode from 10 PM to 7 AM"
- "Set brightness to 50%"
- "What's in the device log?"
- "Make the air-Q blink"

git clone https://github.com/CorantGmbH/mcp-airq.git cd mcp-airq uv sync --frozen --extra dev uv run pre-commit install uv run pytest

The repository uses a project-local.venvplusuv.lockfor reproducible tooling. Run all developer commands throughuv run, for example:

uv run ruff check . uv run ruff format --check . uv run pyright uv run pre-commit run --all-files

- Updateversioninpyproject.toml.
- Commit and create a matching Git tag likev0.1.1.
- Publish a GitHub Release from that tag.

The publish workflow validates that the release tag matchespyproject.toml, uploads the package to PyPI, and then publishes the same version to the MCP Registry.

Access the Cumulocity IoT platform to manage devices, measurements, and alarms.

Digi Remote Manager MCP allows users to connect Ai Agents to their Digi Remote Manager account for analyzing fleet data and help with troubleshooting.

Read-only MCP (Model Context Protocol) server for Home Assistant. Gives AI assistants (Claude Desktop, LibreChat, Cline) full observability into your smart home — entity states, automations, scripts, devices, logs, diagnostics — without any write access. Also generates static AI context snapshots for RAG systems, ChatGPT Projects, Qwen, and other tools that accept custom knowledge files. Built in Python, runs anywhere — locally, in Docker, or as an MCP integration.

Provides AI agents with read-only access to SignalK marine data systems, enabling queries of vessel navigation data, AIS targets, and system alarms.

Provides AI assistants with a secure and structured way to explore and analyze data in GreptimeDB.

Live data-center, power & gas intelligence for AI agents

Data intelligence platform - query your database in natural language, build dashboards, and set up automated alerts that monitor your metrics 24/7.

Database Reliability Engineer-grade SQL analysis inside any MCP client

An MCP server that gives AI agents like Claude, Cursor, and Gemini access to historical Windows CPU, GPU, temperature, and privacy data gathered by the AppControl Windows app.

Expose data observability, lineage, test results & incidents to AI agents via MCP

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.