air-Q Cloud

io.github.CorantGmbH由 GitHub 帳號 CorantGmbH 發布v1.4.6更新於 Oct 24, 2026

MCP server for air-Q Cloud API — access air quality data from anywhere

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

面向 air-Q Cloud API 的唯讀 MCP 伺服器,讓助理列出空氣品質感測器並遠端取得、繪圖與匯出其讀值。

可以做什麼
  • 列出已設定的 air-Q Cloud 裝置及其名稱、位置與群組
  • 取得某裝置、位置或群組的最新感測器讀值
  • 依時間範圍以欄位導向 JSON 取得歷史讀值
  • 依感測器為符合的裝置繪製歷史圖表(PNG、WebP、SVG 或互動式 HTML)
  • 將單一感測器的歷史資料匯出為 CSV 或 XLSX,涵蓋所有符合的裝置
適用情境
適合讓助理在不在同一區域網路的情況下查看 air-Q 感測器的即時室內或環境空氣品質,或取得、繪製並匯出歷史感測器資料用於報告。
執行需求
以 Python 套件形式在本機執行,透過 pip 安裝 mcp-airq-cloud。需要 Cloud API 金鑰以及每台裝置的 32 字元裝置 ID,皆可於 air-Q 帳戶入口取得。裝置透過 JSON 設定檔(預設路徑或 AIRQ_CLOUD_CONFIG_FILE)或 AIRQ_CLOUD_DEVICES 中的內嵌 JSON 設定,AIRQ_CLOUD_API_KEY 可作為共用的備援金鑰。需要連線至 air-Q Cloud API 的網路存取。
安裝前請注意
設定中含有 API 金鑰:AIRQ_CLOUD_API_KEY、每台裝置的 api_key 欄位或內嵌的 AIRQ_CLOUD_DEVICES JSON,請妥善保管設定檔。感測器資料會傳送至 air-Q Cloud 服務並自該服務取得。所有工具皆為唯讀,無法變更裝置設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 air-Q Cloud,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-airq-cloud

[MCP] [PyPI] [Total Downloads] [Python] [License] [Tests] [Coverage]

MCP server for the air-Q Cloud API — access air quality data from anywhere.

Unlike mcp-airq (which communicates directly with devices on the local network), this server uses the air-Q Cloud REST API to retrieve sensor data remotely.

The same mcp-airq-cloud executable also works as a direct CLI when you pass a tool name as a subcommand.

Tools

ToolDescription
list_devicesList configured air-Q Cloud devices
get_air_qualityGet latest sensor readings (supports device/location/group selection)
get_air_quality_historyGet historical data within a time range 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 or xlsx across matching devices

All tools are read-only — the Cloud API does not support device configuration or control.

Installation

bash
pip install mcp-airq-cloud

Or install from source:

bash
git clone https://github.com/CorantGmbH/mcp-airq-cloud.gitcd mcp-airq-clouduv sync --frozen --extra dev

CLI Usage

Use the same command directly from the shell:

bash
mcp-airq-cloud list-devicesmcp-airq-cloud get-air-quality --device "Living Room"mcp-airq-cloud get-air-quality-history --device "Living Room" --last-hours 24 --sensors co2 pm2_5mcp-airq-cloud plot-air-quality-history --sensor co2 --output-format png --output co2.pngmcp-airq-cloud export-air-quality-history --sensor co2 --output-format xlsx --output co2.xlsx

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-cloud list-devicesmcp-airq-cloud list_devices

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

bash
mcp-airq-cloud serve

The CLI is pipe-friendly: successful command output goes to stdout, while tool errors go to stderr with exit code 1. Plot commands can also stream directly to stdout.

bash
mcp-airq-cloud get-air-quality --device "Living Room" | jq '.co2'mcp-airq-cloud get-air-quality-history --device "Living Room" --compact-json | jq '.columns.co2'mcp-airq-cloud get-air-quality-history --device "Living Room" --yaml | yq '.columns.co2'mcp-airq-cloud plot-air-quality-history --sensor co2 --device "Living Room" --output - > co2.pngmcp-airq-cloud export-air-quality-history --sensor co2 --device "Living Room" --output - > co2.xlsx

Historical Data

Three tools provide access to historical sensor data via the air-Q Cloud API:

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.

[CO₂ area chart — single device]

Single device (24 h, area chart, PNG)

[CO₂ area chart — multiple devices]

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

bash
# Single device, last 24 hours (default), PNG output (default)mcp-airq-cloud plot-air-quality-history --sensor co2 --device "Living Room"
# All devices at a location, custom time range, SVG outputmcp-airq-cloud 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 chartmcp-airq-cloud plot-air-quality-history --sensor co2 --dark --chart-type line
# Save to filemcp-airq-cloud 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-cloud export-air-quality-history --sensor co2 --device "Living Room" --last-hours 48
# Excel export for all devices at a locationmcp-airq-cloud export-air-quality-history --sensor co2 --location "Home" \  --output-format xlsx --output co2.xlsx

Common parameters

ParameterDefaultDescription
--last-hours1 (history) / 24 (plot)Hours of data to retrieve
--from-datetime / --to-datetime—ISO 8601 time range (overrides --last-hours)
--max-points300Downsample to at most N evenly spaced points
--timezone-nameUTCIANA timezone for timestamps (e.g. Europe/Berlin)

Configuration

You need a Cloud API key and the 32-character device ID for each device. Both can be obtained at my.air-q.com.

Option 1: Environment variable (inline JSON)

bash
export AIRQ_CLOUD_DEVICES='[{"id": "de45d2ed777780c96c0deae7a220b745", "api_key": "your-api-key", "name": "Living Room"}]'

Option 2: Default config file (recommended)

Place a JSON file at ~/.config/airq-cloud-devices.json — no environment variable needed:

json
[  {"id": "de45d2ed777780c96c0deae7a220b745", "api_key": "your-api-key", "name": "Living Room"}]

Option 3: Custom config file path

bash
export AIRQ_CLOUD_CONFIG_FILE=/path/to/devices.json

Option 4: Global API key

If all devices share the same API key, set it once:

bash
export AIRQ_CLOUD_API_KEY="your-api-key"export AIRQ_CLOUD_DEVICES='[{"id": "de45d2ed777780c96c0deae7a220b745", "name": "Living Room"}]'

Device config fields

FieldRequiredDescription
idyes32-character cloud device ID
api_keynoPer-device API key (falls back to AIRQ_CLOUD_API_KEY)
namenoFriendly name (defaults to first 8 chars of ID)
locationnoLocation for grouping (e.g. "Wohnzimmer")
groupnoGroup for grouping (e.g. "zu Hause")

Usage with Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "air-Q Cloud": {      "command": "mcp-airq-cloud",      "env": {        "AIRQ_CLOUD_DEVICES": "[{\"id\": \"<device-id>\", \"api_key\": \"<key>\", \"name\": \"Living Room\"}]"      }    }  }}

Usage with Claude Code

bash
claude mcp add air-Q-Cloud mcp-airq-cloud \  -e AIRQ_CLOUD_DEVICES='[{"id":"<ID>","api_key":"<KEY>","name":"<Name>"}]'

Development

bash
uv sync --frozen --extra devuv run pre-commit installuv run pytest

The repository uses a project-local .venv plus uv.lock for reproducible tooling. Run developer commands through uv run, for example:

bash
uv run ruff check .uv run ruff format --check .uv run pyrightuv run pre-commit run --all-files

License

Apache 2.0 — see LICENSE.

來源:README.md,提交 a382b29

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.4.6最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分