Airnow について
Airnow は、米国 EPA AirNow の公開ファイルを、キーやアカウントなしで空気質情報が必要なアプリやエージェントに提供します。各地の現在および予報 AQI に加え、測定地点ごとの時間別観測値も取得できます。
主な機能
- 01郵便番号や座標で現在の AQI を取得
- 02今後数日間の AQI 予報を取得
- 03範囲内の時間別観測値を検索
- 04汚染物質濃度とデータ時刻を返却
活用シーン
- 01地点周辺の現在の空気質を確認
- 02地域の AQI 予報を調べる
- 03地域の時間別測定データを分析
MCP 対応
MCP サーバーとして、郵便番号、座標、地理的な範囲を指定し、AirNow の現在値、予報、時間別観測値を取得するツールを提供します。Pipeworx ゲートウェイ経由で接続する方法と、ローカルの stdio で実行する方法があります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/airnow/mcpclaude mcp add --transport http pipeworx-io-airnow https://gateway.pipeworx.io/airnow/mcp{"mcpServers":{"pipeworx-io-airnow":{"type":"http","url":"https://gateway.pipeworx.io/airnow/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-airnow":{"type":"http","url":"https://gateway.pipeworx.io/airnow/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-airnow":{"type":"http","url":"https://gateway.pipeworx.io/airnow/mcp"}}}{"mcpServers":{"pipeworx-io-airnow":{"serverUrl":"https://gateway.pipeworx.io/airnow/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
45| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| q | string | いいえ | question の別名。 |
| ask | string | いいえ | question の別名。 |
| text | string | いいえ | question の別名。 |
| input | string | いいえ | question の別名。 |
| packs | array | いいえ | 任意。ルーティング対象をこれらのパックスラッグに限定します(例:["sec-form-d","sec-13f"])。その場合、ルーターは該当パック内のツールのみを選択します。省略すると、デフォルトの全カタログへのルーティングになります。スラッグは list_packs / search_packs / https://pipeworx.io/directory から取得できます。リストにない、または不明なスラッグは無視され、_meta.pack_scope.ignored に記載されます。該当するスラッグが 1 つもない場合は、カタログ全体にルーティングし、_meta.pack_scope.full_catalog:true を設定します(空の回答にはなりません)。 |
| query | string | いいえ | question の別名。 |
| prompt | string | いいえ | question の別名。 |
| message | string | いいえ | question の別名。 |
| question | string | はい | 自然言語での質問またはリクエスト。query、q、prompt、text、input、ask、message をエイリアスとして使用できます。 |
詳細
@pipeworx/airnow
米国EPAのAirNow — 米国内のすべての報告地域を対象とした、公式の最新および予測の大気質指数(AQI)と、サイトごとの1時間ごとの観測値を提供します。キー不要:呼び出しごとに files.airnowtech.org 上のAirNowの公開ファイル製品を読み込みます。
Pipeworx の一部です — AI エージェントを1872以上のライブデータソースに接続するMCPゲートウェイです。これは独立した非公式の連携であり、上流の提供元とは提携、承認、公開のいずれも受けていません。
AirNowはキー認証が必要なウェブサービス(www.airnowapi.org/aq/*)を2026-10-01に終了しました。このパックがファイル製品に移行されるまで、すべての呼び出しでHTTP 410が返されていました(フリート#2808)。docs.airnowapi.org/webservices/retired のサービス終了通知はログインページにリダイレクトされるため、ファイル製品が残された唯一の公開アクセス手段です。
ツール
current_by_zip(zip_code, distance_miles?)— ZIPコードに最も近い報告地域について、汚染物質ごとの最新観測AQIを返します。昨日のAQIと、指定した半径内にある他の報告地域も含みます。current_by_location(latitude, longitude, distance_miles?)— 緯度・経度を指定して同じ情報を取得します。forecast_by_zip(zip_code, date?, distance_miles?)— 汚染物質ごとの発表済み予測(本日から最大3日後まで)を返します。Action Dayフラグと予報担当者の解説も含みます。dateを省略すると、発表済みのすべての日が対象になります。利用可能な日付はforecast_days_availableに一覧表示されます。observations_in_bbox(bbox, start_date, end_date, parameters?, data_type?, verbose?)—minLon,minLat,maxLon,maxLatの範囲内にあるサイトごとの1時間ごとのAQIと濃度を、UTCの時間帯(YYYY-MM-DDTHH)で取得します。1回の呼び出しにつき最大24時間です(上流のファイル1つにつき約1 MB)。汚染物質:OZONE, PM25, PM10, NO2, CO, SO2(AQIがあるのは最初の4種類のみです)。
すべてのレスポンスには data_as_of(上流ファイルの Last-Modified)、source(ファイルURL)、found が含まれます。データが見つからない場合は {found:false, reason, hint} を返します。理由は zip_not_in_airnow_index、no_reporting_area_in_radius、no_forecast_area_in_radius、no_forecast_for_date、hours_not_published、no_sites_in_bbox です。
認証
不要です。キーもアカウントも必要ありません。
データソース
すべて https://files.airnowtech.org/airnow/ 配下にあります(AirNowが毎時書き換えるS3バケットです。形式のファクトシートは airnow/docs/ にあります)。
| ファイル | 使用ツール | 更新頻度 |
|---|---|---|
today/cityzipcodes.csv — ZIP → 市区町村、州、緯度、経度(約2万7千行) | *_by_zip | 毎日 |
today/reportingarea.dat — 報告地域ごとの昨日(Y)、現在の観測値(O)、予測(F)の行 | current_*、forecast_by_zip | 毎時 |
YYYY/YYYYMMDD/HourlyAQObs_YYYYMMDDHH.dat — サイトごとのAQIと濃度を記録した、UTCの時間ごとのファイル | observations_in_bbox | 時刻から約30~60分後 |
知っておくとよい注意点:
- 2日以上先の予測には
categoryが含まれていても、AQIがnullのことがよくあります。これは各機関による予測の発表方法であり、解析漏れではありません。 - 当該時刻の
HourlyAQObsファイルは、AirNowが公開するまで存在しません。該当する時間はエラーにせず、hours_not_yet_publishedに一覧表示されます。 - 「最寄りの報告地域」は、公開されている地域の中心点までの大円距離で判定されるため、都市圏の端にあるZIPコードは隣接地域に割り当てられることがあります(ZIP 10001 → 「New York City Region」、10マイル)。
other_areas_in_radiusに他の候補が表示されます。 - ゲートウェイは
airnowの結果を10分間キャッシュします(CACHE_TTL_OVERRIDES)。また、このパックは解析済みファイルを分離環境内に、報告地域は10分間、ZIPインデックスは24時間、時間ごとのファイルは6時間保持します。
クイックスタート
MCPクライアント(Claude Desktop、Cursor、Windsurfなど)に追加します:
{
"mcpServers": {
"airnow": {
"url": "https://gateway.pipeworx.io/airnow/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/airnow/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツールである ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツールも返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールとともに約 30 個の共有ツールが一覧表示されます。接続の initialize レスポンスに正確な範囲が記載されており、その日の情報としての正式な回答となります。
これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うと、このパックが対象としない質問にも、カタログ全体を検索する ask_pipeworx 経由で回答できるため、MCP サーバーを追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキストのコストが、ルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックのツールだけでなく、各パックのツールがすべて直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイと同じ 1872 以上のデータソースに接続します。唯一の違いは、どのパックのツールが直接一覧表示されるかです。どちらからでも ask_pipeworx を使えば、すべてのツールにアクセスできます。
MCP クライアントをお持ちでない場合:HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/current_by_zip \
-H 'Content-Type: application/json' \
-d '{"zip_code":"10001"}'
最初の呼び出しにアカウントは不要です。ツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/current_by_zip を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です。
{
"mcpServers": {
"airnow": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-airnow"]
}
}
}
起動することを確認するには、直接実行してください。
npx -y @pipeworx/mcp-airnow
stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Airnow data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。