Mmcp.market

Wellness Air MCP server

by davidmosiah·io.github.davidmosiah/wellness-air·v0.5.6

Local-first air-quality MCP for AI agents — AirGradient, AirThings, PurpleAir, IQAir, Awair.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Wellness Air yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Wellness Air tools (19, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • air_agent_manifest

    Returns the wellness-air agent manifest: tool list, supported clients, env vars, recommended first calls, capabilities, privacy posture, and community links.

  • air_aqi_check

    Returns just the AQI number + band for the configured location. Use for fast 'is the air OK to go outside?' prompts.

  • air_capabilities

    Lists supported providers, configured providers (via env vars), available metrics, and privacy modes.

  • air_compare_locations

    Compare current readings across multiple location IDs (default: AirGradient public sensors).

  • air_connection_status

    Reports which providers are configured, which is the default, and any warnings the agent should surface to the user.

  • air_current_reading

    Fetches the most recent air-quality reading for a location. Defaults to the AirGradient public sensor at WELLNESS_AIR_DEFAULT_LOCATION (or pass locationId).

  • air_daily_summary

    Returns a synthesized daily snapshot for a location. v0.1 returns the current reading framed as a daily snapshot; richer multi-hour aggregation arrives in v0.2.

  • air_data_inventory

    Returns the inventory of air-quality metrics this connector exposes plus per-provider availability hints (no remote calls).

  • air_demo

    Returns a realistic example payload of what air_current_reading + air_daily_summary look like in practice. Use this to help users understand what the connector will return BEFORE they configure anything.

  • air_health_bands

    Classify PM2.5, PM10, CO2, and VOC readings into WHO 2021 / EPA / ASHRAE / UBA health bands. Pass readings directly, or omit them and the tool will fetch the current reading from the default provider (PM2.5, PM10, CO2, VOC where available). Returns per-pollutant band + the worst signal across pollutants + deduplicated recommended actions + source citations.

  • air_health_recommendation

    Quick PM2.5-centric health recommendation. Pass current PM2.5 (µg/m³) and optionally CO2 (ppm) and VOC index; returns WHO/EPA-aligned bands per pollutant, the overall worst band, and a deduplicated list of plain-language actions. Use this when you have a reading already and just want a 'what should I do?' answer. For richer four-pollutant classification with full source citations use air_health_ba

  • air_list_devices

    Lists devices owned by the configured provider account. v0.3 supports AirThings (requires AIRTHINGS_CLIENT_ID/SECRET). For AirGradient owned sensors use air_search_public_sensors instead.

  • air_onboarding

    Returns the 11-question onboarding flow for the shared Delx Wellness profile. Read-only. The agent should ask these questions next so wellness-air (and the rest of the wellness stack) can personalize responses — non-secret data only, stored at ~/.delx-wellness/profile.json.

  • air_privacy_audit

    Returns what wellness-air stores locally, what it sends to providers, what it never logs, and agent rules.

  • air_profile_get

    Returns the shared Delx Wellness profile (~/.delx-wellness/profile.json). Read-only. Surfaces the user's preferred location, sensitivity flags (asthma, etc.), and units so wellness-air can choose tighter AQI thresholds.

  • air_profile_updatewrite action

    Persist a partial patch to the shared Delx Wellness profile. Requires explicit_user_intent: true. Rejects any field containing oauth/token/secret/password/cookie/refresh/api_key/session — the profile is for non-secret wellness context only.

  • air_quickstart

    Returns a personalized 3-step setup walkthrough for the human based on the current agent/env state. Call this first when the user asks 'how do I use this?'

  • air_search_public_sensors

    Helper for discovering AirGradient public sensors. Returns a curated list of well-maintained public sensors plus a hint to the AirGradient map for finding more.

  • air_trend

    Windowed trend analysis for PM2.5 / CO2 / VOC. Pulls past measurements from AirGradient (public or owned) and returns per-pollutant mean / median / min / max / current / rate_of_change_per_hour / peak_at / trough_at / time_above_threshold_minutes plus an optional natural-language observation (only when the data supports one). Pass `pollutant: 'all'` (default) for an array of per-pollutant trends p

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan30 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 28 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Wellness Air repository's README, as published. We do not edit it. Read it on GitHub

<!-- delx-wellness header v2 --> Wellness Air

Local-first air-quality MCP for AI agents. Plug an AirGradient/AirThings/PurpleAir sensor into your agent — no tokens leave your machine.

📡 Why this exists: your sleep / focus / training results are partly a room-quality problem. PM2.5 above 35, CO₂ above 1,000 ppm, low humidity — those wreck recovery and the agent can't see them. wellness-air gives any AI agent local-first environmental context to cross with WHOOP / Oura / Garmin / nourish.

⚡ One-command install — pick your runtime:

- Delx Wellness for Hermes: npx -y delx-wellness-hermes setup

- Delx Wellness for OpenClaw: npx -y delx-wellness-openclaw setup

Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop &mdash; see the install section below.

HTTP (v2 stateless)

Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:

npx -y wellness-air --http
# GET  http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp   (sessionless)

Env: WELLNESSAIRHOST, WELLNESSAIRPORT, WELLNESSAIRTRANSPORT=http.

<!-- /delx-wellness header v2 -->

Overview

Wellness Air is a local MCP server that exposes air-quality readings to any MCP-aware AI agent. It ships with first-class AirGradient support (open hardware + free public API — no auth needed for the 2,000+ public sensors in the worldwide feed). AirThings and PurpleAir are implemented (bring your own free API credentials); IQAir AirVisual and Awair are on the roadmap.

If wellness-air helps your agent, please star the repo. Stars make the project easier for other AI builders to discover and help Delx keep shipping local-first wellness infrastructure.

Try It In 60 Seconds

# 89 is a real, public AirGradient sensor (Prem Tinsulanonda School, Thailand).

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y wellness-air on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add wellness-air -- npx -y wellness-air
Add to Cursor

Wellness Air: common questions

Is Wellness Air MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Wellness Air safety report
How do I install Wellness Air?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Wellness Air need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Wellness Air maintained?
The last commit was 28 days ago (2026-08-29). The latest release is v0.5.6.

More from davidmosiah →