LabscoMCP early access ↗
CorantGmbHMCP SERVER · OFFICIAL PROJECT

air-Q

Read and configure air-Q sensors on your network — CO₂ trends, charts, exports, LED themes and night mode.

by CorantGmbH ↗IoT, Smart Home & Embedded Hardware✓ Official

LABSCO SUMMARY

Location and group make several sensors behave like one question.

Tagging each device with a location and a group means "how is the air in the living room" resolves across every sensor in that room, and a chart gets one series per device automatically — the part that usually takes a script. Note the two write tools at the end of the list: restart_device costs about 30 seconds of downtime and shutdown_device needs a manual restart, so they are worth being deliberate about.

What it is

A Python server for air-Q air quality devices, built on aioairq, the official async library. It talks to the devices on your local network rather than to a cloud service, and covers both reading — live values, history off the device's SD card, charts, exports — and configuration, including LED themes, brightness, night mode and network settings. The same executable also works as a plain CLI when you pass a tool name as a subcommand.

What you get

  • Reading: list_devices, get_air_quality, get_air_quality_history as column-oriented JSON, get_device_info, get_config, get_logs
  • Charts and exports: plot_air_quality_history renders one chart per sensor as png, webp, svg or interactive html; export_air_quality_history writes one csv or xlsx per request
  • Multi-device queries: get_air_quality accepts exactly one of device, location or group, so "the living room" or "home" fans out across matching devices and charts get one series each
  • Configuration: set_device_name, set_led_theme, set_night_mode, set_brightness, configure_network for static IP or DHCP
  • LED state: get_led_theme, get_possible_led_themes, get_night_mode, get_brightness_config, and identify_device to make one blink
  • Control: restart_device and shutdown_device
  • History defaults you can override: 1 hour for raw history, 24 for plots, downsampled to at most 300 points, timestamps in UTC unless you name a timezone

Requirements

One or more air-Q devices reachable on your network, and a JSON file listing them — address, password, and optionally name, location and group. Point the server at it with AIRQ_CONFIG_FILE, or pass the list inline through AIRQ_DEVICES. The file holds device passwords, so chmod 600 it. Install from PyPI as mcp-airq, version 1.6.5, or run it with uvx mcp-airq; transport is stdio. If your client cannot find uvx, give it the absolute path — MCP subprocesses do not inherit your shell's PATH.

Setup effort

One command — pip install mcp-airq