io.github.davidmosiah/wellness-air

Registre officiel Santé

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package wellness-air
Claude Code
claude mcp add wellness-air -- npx -y wellness-air@0.5.6
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "wellness-air": {
            "command": "npx",
            "args": [
                "-y",
                "wellness-air@0.5.6"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Wellness Air
  2. HTTP (v2 stateless)
  3. Overview
  4. Try It In 60 Seconds
  5. Install in Claude Desktop / Cursor / ChatGPT Desktop / Codex
  6. Tools (19 total)
  7. Why local-first?
  8. Cross-connector wedge
  9. Privacy
  10. Roadmap
  11. 📧 Contact & Support
  12. License
  13. Skill or MCP

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:

Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — 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: WELLNESS_AIR_HOST, WELLNESS_AIR_PORT, WELLNESS_AIR_TRANSPORT=http.

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).
# Swap in one near you from https://www.airgradient.com/map/ — copy the numeric
# locationId from the URL.

WELLNESS_AIR_DEFAULT_LOCATION=89 npx -y wellness-air doctor
WELLNESS_AIR_DEFAULT_LOCATION=89 npx -y wellness-air current

That's it — no token, no signup, no telemetry. Public reads use AirGradient's token-free worldwide feed, so any locationId in that feed works out of the box.

Install in Claude Desktop / Cursor / ChatGPT Desktop / Codex

{
  "mcpServers": {
    "wellness-air": {
      "command": "npx",
      "args": ["-y", "wellness-air"],
      "env": {
        "WELLNESS_AIR_DEFAULT_PROVIDER": "airgradient",
        "WELLNESS_AIR_DEFAULT_LOCATION": "89"
      }
    }
  }
}

Reload your client. The agent now has 19 air-quality tools.

Tools (19 total)

ToolPurpose
air_agent_manifestRuntime contract: tool list, supported clients, env vars, recommended first calls
air_capabilitiesSupported providers, configured providers, available metrics, privacy modes
air_connection_statusHealth check + warnings the agent should surface
air_privacy_auditWhat is logged locally vs sent to providers
air_data_inventoryMetric catalog + AQI band thresholds
air_current_readingLatest sensor reading (PM2.5, CO₂, AQI, temp, humidity)
air_list_devicesList devices on an authenticated provider account (AirThings)
air_aqi_checkFast 'is the air OK?' answer with band + recommendation
air_daily_summarySynthesized daily snapshot
air_compare_locationsCompare AQI across 2-10 locations
air_search_public_sensorsDiscovery helper for AirGradient public map
air_quickstartPersonalized 3-step setup walkthrough based on current env state
air_profile_getRead the shared Delx Wellness profile (location, sensitivities, units)
air_profile_updatePersist a non-secret patch to the shared wellness profile (explicit intent required)
air_onboarding11-question onboarding flow for the shared wellness profile
air_demoRealistic example payloads — preview output before configuring anything
air_health_recommendationPM2.5/CO₂/VOC → WHO/EPA bands + plain-language actions
air_health_bandsClassify PM2.5/PM10/CO₂/VOC into WHO 2021 / EPA / ASHRAE / UBA bands + citations
air_trendWindowed trend analysis (mean/median/rate-of-change/peaks) for PM2.5/CO₂/VOC

Why local-first?

  • Public sensors require zero auth. AirGradient runs an open public API; just pass a locationId.
  • Owned-sensor tokens stay on your machine. Set AIRGRADIENT_API_TOKEN only if you own a sensor.
  • No telemetry. wellness-air never phones home. The only outbound calls go to the providers you configure.
  • Read-only. No tool mutates anything upstream. (air_profile_update writes only to your local shared wellness profile, never to a provider, and requires explicit user intent.)

Cross-connector wedge

Where this gets interesting: pair it with the rest of the Delx Wellness stack.

WHOOP recovery 47   +   wellness-air AQI 132 (unhealthy_sensitive)
       ↓                          ↓
   Coach: "Recovery's low AND the bedroom AQI was unhealthy last night.
           Skip outdoor cardio today — try mobility + low-intensity strength indoors with HEPA running."

Most agents miss the room-quality variable entirely. wellness-air closes that gap.

Privacy

Run wellness-air doctor to inspect the local privacy posture. Highlights:

  • All readings cached under ~/.wellness-air (configurable).
  • Provider tokens never returned to the agent.
  • No biometric data — environmental only.
  • Tool outputs explicitly tagged with their data source for downstream auditability.

Roadmap

Shipped: AirGradient (public + owned) · AirThings · PurpleAir adapters · WHO/EPA/ASHRAE/UBA health bands · windowed trend analysis (air_trend) · shared Delx Wellness profile + onboarding.

Next:

  • IQAir AirVisual + Awair adapters.
  • Cross-correlation helper (e.g. air_correlate_with_sleep) against the rest of the Delx Wellness stack.
  • Webhook trigger for AQI thresholds (agent gets notified when AQI crosses a band).

📧 Contact & Support

  • 📨 support@delx.ai — general questions, integration help, partnerships
  • 🐛 Bug reports / feature requests — GitHub Issues
  • 🐦 Updates — @delx369 on X
  • 🌐 Site — wellness.delx.ai

License

MIT — see LICENSE.

wellness-air is an unofficial connector. AirGradient, AirThings, PurpleAir, IQAir, and Awair are trademarks of their respective owners. None of those companies are affiliated with or endorse this project.

Skill or MCP

Same package, two doors. MCP registers tools on stdio/HTTP. The skill can drive the same tools through the CLI when the client has no MCP:

npx -y wellness-air call air_connection_status --json '{}'

Copy skill/SKILL.md into your agent skills dir.

Questions fréquentes

Qu'est-ce que io.github.davidmosiah/wellness-air ?

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

Comment installer io.github.davidmosiah/wellness-air ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add wellness-air -- npx -y wellness-air@0.5.6. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.davidmosiah/wellness-air ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.davidmosiah/wellness-air est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.davidmosiah/wellness-air ?

Il est publié par davidmosiah. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.