AirNow MCP Server
The AirNow MCP Server provides a natural language interface to access U.S. air quality data through the AirNow API, designed for integration with large language models (LLMs).
Access Current, Forecasted, and Historical AQI Data: Retrieve Air Quality Index values by ZIP code, latitude/longitude, or geographic bounding box
Query Detailed Observations: Access monitoring site data for specific parameters (ozone, pm25, pm10, co, no2, so2) and date/time ranges
Retrieve Contour Maps: Obtain current or historical contour maps for ozone and PM2.5 in KML format
Health Recommendations: Access health recommendations based on AQI levels
Integration Options: Use NPX or Docker for easy integration with LLMs
Required for running the AirNow MCP Server via NPX, providing access to real-time, forecasted, and historical U.S. air quality data through the AirNow API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AirNow MCP Server what's the air quality in New York City right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: EPA Air Quality System (AQS) MCP Server
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.0is 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>",
"APPDATA": "<Value of APPDATA>" // Windows example: "C:\\Users\\[username]\\AppData\\Roaming"
}
}
}
}Note:
For Windows, get the APPDATA value by opening the Command Prompt and running:
echo %APPDATA%For Mac, get the APPDATA value, by opening the Terminal running:
which npm
Docker
{
"mcpServers": {
"airnow-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AIRNOW_API_KEY",
"prsantos/airnow-mcp-server"
],
"env":{
"AIRNOW_API_KEY": "<YOUR-AIRNOW-API-KEY>"
}
}
}
}Available Tools
10 toolsget-contour-maps-by-bounding-box-combined-ozone-pm25A
Get current or historical combined Ozone and PM2.5 contour maps in KML by geographic bounding box.
Inputs: bbox (required), date (required), srs (required).
get-contour-maps-by-geographic-bounding-box-ozoneB
Get current or historical Ozone contour maps in KML by geographic bounding box.
Inputs: bbox (required), date (required), srs (required).
get-contour-maps-by-geographic-bounding-box-pm25B
Get current or historical PM2.5 contour maps in KML by geographic bounding box.
Inputs: bbox (required), date (required), srs (required).
get-current-observations-by-reporting-area-by-lat-longC
Get current AQI values and categories for a reporting area by latitude and longitude.
Inputs: format (required), latitude (required), longitude (required), distance.
get-current-observations-by-reporting-area-by-zip-codeC
Get current AQI values and categories for a reporting area by Zip code.
Inputs: format (required), zipCode (required), distance.
get-forecast-by-lat-longB
Get current or historical forecasted AQI values and categories for a reporting area by latitude and longitude.
Inputs: format (required), latitude (required), longitude (required), date, +1 more.
get-forecast-by-zip-codeC
Get current or historical forecasted AQI values and categories for a reporting area by Zip code.
Inputs: format (required), zipCode (required), date, distance.
get-historical-observations-by-reporting-area-by-lat-longC
Get historical AQI values and categories for a reporting area by latitude and longitude.
Inputs: date (required), format (required), latitude (required), longitude (required), +1 more.
get-historical-observations-by-reporting-area-by-zip-codeC
Get historical AQI values and categories for a reporting area by Zip code.
Inputs: date (required), format (required), zipCode (required), distance.
get-observations-by-monitoring-site-by-geographic-bounding-boxC
Get observations by monitoring site within a geographic bounding box.
Inputs: bbox (required), datatype (required), format (required), parameters (required), +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose based on the combination of data type (e.g., contour maps, observations, forecasts), pollutant (e.g., ozone, PM2.5), location method (e.g., bounding box, lat-long, zip code), and time frame (e.g., current, historical). There is no overlap in functionality, making it easy for an agent to select the correct tool for a specific query.
All tool names follow a consistent verb-noun pattern with hyphens, starting with 'get-' and including descriptive details like data type, location method, and parameters. This uniformity enhances readability and predictability, allowing agents to easily understand and navigate the tool set.
With 10 tools, the server is well-scoped for air quality data retrieval, covering key operations such as current and historical observations, forecasts, and contour maps across different location methods. Each tool serves a specific purpose without redundancy, making the count appropriate for the domain.
The tool set provides comprehensive coverage for air quality data, including current and historical observations, forecasts, and contour maps for ozone and PM2.5, with multiple location inputs (lat-long, zip code, bounding box). There are no obvious gaps, as it supports all major data retrieval needs in this domain.
Maintenance
Related MCP Connectors
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
EPA AirNow MCP — official US current + forecast AQI, keyless, from AirNow's public file products…
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
Access UK air quality data, monitoring sites, and hourly pollutant measurements across regions
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with the World Air Quality Index to fetch real-time air quality data for cities and coordinates worldwide via Model Context Protocol (MCP).1MIT
- AlicenseAqualityDmaintenanceProvides access to EPA's Air Quality System API with 31 tools for querying air quality data, monitoring sites, and pollution measurements across the United States through natural language.31MIT
- FlicenseNot gradedqualityDmaintenanceProvides weather forecast tools via the Model Context Protocol, enabling users to query weather data for destinations through natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables access to EPA AirNow real-time AQI and forecast data for US locations through a single tool, with a free API key.93 npmMIT