Airnow logo

Airnow

Accesses official US EPA AirNow AQI, forecasts, and hourly monitor observations without an API key.

Install Airnow

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "airnow": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-airnow"
      ],
      "env": {
        "PIPEWORX_API_KEY": "YOUR_VALUE_HERE",
        "PIPEWORX_META_TOOLS": "YOUR_VALUE_HERE",
        "NODE_USE_ENV_PROXY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Airnow provides MCP tools for querying official US EPA AirNow data from public file products. It returns current AQI by ZIP code or coordinates, multi-day forecasts, and hourly monitor observations within a geographic bounding box. Hosted access uses the Pipeworx gateway, while an npm stdio bridge forwards requests to the same endpoint. Reach for it when an agent needs current or forecast US air-quality data without managing an AirNow account or key.

Use cases

  • Check current AQI near a ZIP code
  • Compare air quality around a latitude and longitude
  • Retrieve multi-day pollutant forecasts and Action Day status
  • Analyze hourly monitor readings within a geographic area

Key features

  • Current AQI by ZIP code or coordinates
  • Forecasts for today and up to three additional days
  • Hourly per-site observations in a bounding box
  • No AirNow API key or account required
  • Structured source timestamps and not-found responses
  • Hosted HTTP and local npm stdio access

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

10/10 checks healthy over the last 58d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · @pipeworx/mcp-airnow (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads818Package downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Airnow works

What Airnow MCP server does

Airnow exposes US EPA AirNow air-quality data through MCP. It covers current observed AQI for reporting areas, issued forecasts for today and up to three additional days, and hourly observations from individual monitoring sites. Data is available across US reporting areas and includes pollutant-specific values where AirNow publishes them.

The integration reads AirNow's public file products from files.airnowtech.org, rather than requiring credentials for the retired keyed web service. Responses include the source file URL, the upstream file's Last-Modified value as data_as_of, and a found indicator. Unsuccessful lookups return a structured reason and hint instead of a generic failure.

How it works

A hosted MCP connection uses the Pipeworx gateway endpoint at https://gateway.pipeworx.io/airnow/mcp. The gateway fetches and parses AirNow files when tools are called. A full Pipeworx gateway connection is also supported; the Airnow-scoped endpoint lists the Airnow tools directly and also exposes shared gateway meta-tools.

The npm package, @pipeworx/mcp-airnow, acts as a local stdio bridge. An MCP client starts it with npx, and the bridge forwards calls to the hosted gateway, so it still needs network access and has no offline mode. The gateway caches Airnow results for 10 minutes, while parsed source files use separate retention periods for reporting-area data, the ZIP index, and hourly observations.

Setup and configuration

Add the hosted endpoint to an MCP client:

config.json
{
  "mcpServers": {
    "airnow": {
      "url": "https://gateway.pipeworx.io/airnow/mcp"
    }
  }
}

For a local stdio connection, configure npx with the package name:

config.json
{
  "mcpServers": {
    "airnow": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-airnow"]
    }
  }
}

Anonymous npm-bridge usage is capped at 50 calls per day. A free Pipeworx account and PIPEWORX_API_KEY raise the limit to 200 calls per day. Set PIPEWORX_META_TOOLS=1 if the local bridge should also list the gateway-wide tools. The hosted HTTP tools can also be called directly through the Pipeworx REST interface.

Tools and capabilities

  • current_by_zip finds the latest observed AQI by pollutant for the reporting area nearest a ZIP code. It can include other areas within a requested radius and yesterday's AQI.
  • current_by_location performs the equivalent lookup from latitude and longitude.
  • forecast_by_zip returns issued pollutant forecasts, Action Day status, and forecaster discussion. Supplying no date returns all available forecast days.
  • observations_in_bbox retrieves hourly site observations for a minLon,minLat,maxLon,maxLat bounding box and UTC time range. It supports OZONE, PM25, PM10, NO2, CO, and SO2, with AQI available for the first four pollutants.

Limitations and notes

Hourly observation queries cover at most 24 hours per call, and each requested hour corresponds to a separate upstream file. The current hour may not yet be published; the response identifies those hours rather than treating them as an error. Forecasts several days ahead can contain a category with a null AQI because that is how the source agency may issue the forecast.

ZIP resolution uses the great-circle distance to a reporting area's published centroid, so a ZIP near a metropolitan boundary may resolve to a neighboring region. Use the returned alternative areas when that distinction matters. The npm bridge requires network access. Airnow is an independent, unofficial integration and is not affiliated with or endorsed by the EPA or AirNow.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Airnow

Airnow is an MCP server that connects AI clients to official US EPA AirNow public file products. Its main tools retrieve current AQI by ZIP or coordinates, pollutant forecasts, and hourly per-site observations within a geographic bounding box. It requires no AirNow key or account and returns source and freshness metadata.

Install it by adding the hosted Pipeworx MCP URL or running `npx -y @pipeworx/mcp-airnow` as a local stdio server. The hosted configuration uses `https://gateway.pipeworx.io/airnow/mcp`; the npm bridge forwards requests to that endpoint and needs network access.

No, Airnow does not require an AirNow API key or account. Anonymous npm-bridge calls are limited to 50 per day, while setting a Pipeworx API key from a free account raises the limit to 200 calls per day.

Airnow can be configured in Claude Desktop, Cursor, and Windsurf. These clients are named in the setup examples, and the server supports both a hosted MCP URL and a local stdio bridge.

Call `observations_in_bbox` with a bounding box, UTC start and end hours, and optional pollutant or data-type filters. Each request can cover up to 24 hours, and supported pollutants include OZONE, PM25, PM10, NO2, CO, and SO2.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewAirnow AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/airnow?style=directory)](https://allmcps.com/mcp/airnow)
HTML Embed
<a href="https://allmcps.com/mcp/airnow"><img src="https://allmcps.com/api/badge/airnow?style=directory" alt="Airnow on AllMCPs" /></a>