npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@prsantos/airnow-mcp-server

v1.0.2

Published

The Unofficial AirNow MCP Server

Readme

AirNow MCP Server

Overview

The unofficial AirNow MCP Server is a Model Context Protocol (MCP) implementation that enables integration between large language models (LLMs) and the AirNow API for U.S. air quality data. This server provides a comprehensive set of tools that allows LLMs to access and utilize real-time, forecasted, and historical air quality information.

Key Features

  • Direct access to AirNow API resources through standardized MCP tools
  • Natural language interface for querying air quality data
  • Support for current, forecasted, and historical AQI, observations, and contour maps
  • Easy integration via NPX/Docker

About the AirNow API

The AirNow API provides access to official U.S. air quality data, including:

  • Current and Forecasted Air Quality Index (AQI):
    Retrieve real-time and forecasted AQI values for ozone, PM2.5, and PM10 for specific locations or regions.

  • Observations and Reporting Areas:
    Access air quality observations by ZIP code, latitude/longitude, bounding box, or reporting area.

  • Air Quality Maps:
    Obtain contour maps for ozone and PM2.5, available as images or data overlays.

  • Historical Data:
    Query historical air quality data for supported pollutants.

  • Health Recommendations:
    The API provides health recommendations and cautionary statements based on AQI levels.

For detailed information on endpoints, parameters, and response formats, log in with your AirNow API account and go to the AirNow API Web Services Documentation.

Available Tools

Forecasts

  • forecast_by_lat_long – Get current or historical forecasted AQI values and categories for a reporting area by latitude and longitude.
  • forecast_by_zip_code – Get current or historical forecasted AQI values and categories for a reporting area by Zip code.

Contour Maps

  • contour_maps_by_geographic_bounding_box_ozone – Get current or historical ozone contour maps in KML.
  • contour_maps_by_geographic_bounding_box_pm25 – Get current or historical PM2.5 contour maps in KML.
  • contour_maps_by_bounding_box_combined_ozone_pm25 – Get current or historical contour maps in KML for combined ozone and PM2.5 values.

Observations

  • current_observations_by_reporting_area_by_lat_long – Get current AQI values and categories for a reporting area by latitude and longitude.
  • current_observations_by_reporting_area_by_zip_code – Get current AQI values and categories for a reporting area by Zip code.
  • observations_by_monitoring_site_by_geographic_bounding_box – Get AQI values or data concentrations for a specified date and time range and set of parameters within a geographic area of interest.

Historical Data

  • historical_observations_by_reporting_area_by_lat_long – Get historical AQI values and categories for a reporting area by latitude and longitude.
  • historical_observations_by_reporting_area_by_zip_code – Get historical AQI values and categories for a reporting area by Zip code.

Requirements

  • An AirNow API key, which you can obtain by requesting an AirNow API Account.
  • For use with NPX, Node.js >= v22.14.0 is required.

Configuration

Claude Desktop

Add one of these configurations to your claude_desktop_config.json:

NPX

{
  "mcpServers": {
    "airnow-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@prsantos/airnow-mcp-server"
      ],
      "env":{
        "AIRNOW_API_KEY": "<YOUR-AIRNOW-API-KEY>"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "airnow-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AIRNOW_API_KEY",
        "-e",
        "LOG_LEVEL",
        "prsantos/airnow-mcp-server"
      ],
      "env":{
        "AIRNOW_API_KEY": "<YOUR-AIRNOW-API-KEY>"
      }
    }
  }
}