airkorea-realtime-mcp
⚠️ サービス終了のお知らせ 本MCPサーバーは2026-08-23をもってfly.ioでのデプロイを終了しました。 コードは開発参考用としてリポジトリに残しています。
airkorea-realtime-mcp
韓国環境公団エアコリアOpenAPIのリアルタイム大気汚染情報・統合大気環境指数(CAI)・ 測定所情報を照会するMCPサーバーです。
提供ツール(5個)
ツール | 説明 |
| 測定所名で該当測定所のリアルタイム大気汚染測定情報(SO2/CO/O3/NO2/PM10/PM2.5、統合大気環境指数)を照会 |
| 市道名で該当市道全体の測定所のリアルタイム測定情報を照会 |
| 測定所名でリアルタイム統合大気環境指数(CAI)を照会 |
| 住所または測定所名で測定所リスト/座標を検索 |
| 座標を入力して周辺の測定所と距離を照会 |
Related MCP server: seoul-air-quality-mcp
データ出所
提供機関: 韓国環境公団 気候大気本部 大気環境処 大気政策支援部
プラットフォーム: 公共データポータル (data.go.kr)
サービスグループ: 韓国環境公団_エアコリア_大気汚染情報、韓国環境公団_エアコリア_測定所情報、 韓国環境公団_エアコリア_統合大気環境指数(CAI)照会サービス(サービスグループコード
B552584)利用許容範囲: 表示-変更禁止(資料の出所(環境部/韓国環境公団)の表記義務を遵守)
測定単位および等級基準
項目 | SO2 | CO | O3 | NO2 | PM10 | PM2.5 |
単位 | ppm | ppm | ppm | ppm | ㎍/㎥ | ㎍/㎥ |
等級(Grade)値: 1=良い、2=普通、3=悪い、4=非常に悪い
既知の制約事項(実測で確認された事項)
測定所リスト(
search_stations)座標軸:ver=1.1で固定呼び出し時、dmX=経度、dmY=緯度で正常に確認済み(異なる測定所5か所で交差検証完了)。WGS84基準。近接測定所照会(
get_nearby_stations)座標系: WGS84緯経度をそのまま入れると 完全に見当違いの結果(例: ソウル江南区の座標入力時に済州島の測定所が返される)が出ることを実測で 確認。TM中部原点(EPSG:5181)座標変換が必ず必要であり、本サーバーはpyprojで WGS84→EPSG:5181自動変換後にAPIを呼び出す(ユーザーは緯経度のみ入力すればよい)。 江南区庁の座標(37.515336, 127.049357)入力時に江南区の測定所が距離0.4kmで最上位に 返され、変換精度を検証した。CAI照会(
get_station_cai)応答フィールド: 仕様書の表(khaiValue/khaiGrade/khaiItem)と 異なり、実際のフィールド名はcaiValue/caiGrade/caiItemである。全フィールドはstationCode、stationName、mangName、dataTime、caiValue、caiGrade、caiItem(個別汚染物質フィールドのso2Valueなどはこのオペレーションの応答には含まれない)。CAI照会の正常resultCode: 他の4つのオペレーションは正常時
resultCode="00"だが、getMsrstnKhaiRltmDnsty(CAI)のみ正常時resultCode="200"、resultMsg="NORMAL_CODE"で 応答する。サーバーコードはresultMsgが"NORMAL_CODE"/"NORMAL SERVICE"の場合も正常として 処理するようになっている。items応答構造の違い:
ArpltnInforInqireSvc/MsrstnInfoInqireSvcはitemsが配列、RltmKhaiInfoSvc(CAI)はitems.itemで一段階多くラップされている。サーバーはこの違いを 吸収して常に配列で返す。欠損値の表現: 今回の実測範囲(正常な大気質データ)では
"-"欠損ケースは現れ なかったが、仕様書の例に基づき_safe_numericが"-"/None/空文字列/浮動小数点数(float)すべてをNoneに安全変換するよう実装されている(0に任意置換しない)。APIサーバーの安定性: 実測中に
SERVICETIMEOUT_ERROR(エラーコード05、HTTP 504)が頻繁に 発生することを確認。サーバーはコード05に限り最大3回まで自動再試行する。sidoName「全南光州」: 正常に照会される(2026年の全南光州特別市発足を反映、totalCount 64件確認)。
環境変数
変数名 | 説明 |
| 公共データポータルで発行されたエアコリアサービスキー (Decodingキー) |
インストールおよび実行(ローカル)
pip install -r requirements.txt --break-system-packages
cp .env.example .env # AIRKOREA_SERVICE_KEY 값 입력
python server.pyデプロイ (fly.io)
fly launch --no-deploy
# fly.toml이 [http_service] 방식인지 확인 후
fly secrets set AIRKOREA_SERVICE_KEY=발급받은키
flyctl deployClaude.aiコネクタ接続
デプロイ完了後、アドレスの末尾に/mcpを付けて接続します。
https://airkorea-realtime-mcp.fly.dev/mcpRate Limitポリシー
APIキーなしでURLのみで接続可能な公開サーバーのため、IP基準の3段階rate limitが適用されます。
1分あたり3回超過時429 (マルチマシンデプロイ時はマシン数に比例して実質緩和される場合あり)
1時間以内に429を5回以上受けると24時間ブロック
日次(ローリング24時間)合計30回超過時429
エラーコード
このAPIは公共データポータル標準エラーコード体系を使用します(ソウル市オープンデータ広場の INFO-000/ERROR-3xx体系とは異なります)。
コード | 意味 |
00 | 正常 |
03 | No Data (データなし) |
10 | 不正なリクエストパラメータ |
11 | 必須パラメータ欠落 |
20 | サービスアクセス拒否 (活用未申請) |
22 | 日次トラフィック制限超過 |
30 | 未登録のサービスキー |
31 | サービスキー使用期間満了 |
関連プロジェクト
エアコリアOpenAPIは規模が大きいため、3つの独立したMCPに分けて開発されます:
段階 | リポジトリ | 含まれる範囲 |
1段階 (本プロジェクト) |
| リアルタイム測定情報、CAI、測定所情報 |
2段階 |
| 大気質予報、微細粉塵警報、オゾン・黄砂注意報 |
3段階 |
| 市道・測定所統計(日/月平均)、CAI悪い以上測定所 |
ライセンス
MIT (コード) / 公共ヌリ第1類型(表示)準拠 — データ出所(環境部/韓国環境公団)表記
This server cannot be deployed
Maintenance
Related MCP Connectors
Free, keyless real-time air quality (US AQI plus PM2.5, PM10, ozone, NO2, SO2, CO) for any city.
Access UK air quality data, monitoring sites, and hourly pollutant measurements across regions
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
Find air-quality stations and read pollutant observations from government monitors via OpenAQ v3.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides real-time Air Quality Index data from the World Air Quality Index service, enabling queries by location, station, or keyword search.23 npmMIT
- FlicenseNot gradedqualityBmaintenanceMCP server for querying Seoul's official air quality data, including real-time and hourly measurements by district. Enables AI assistants to answer questions about fine dust and air pollution using public data from Seoul Open Data Plaza.-
- AlicenseNot gradedqualityBmaintenanceEnables querying real-time air quality data by region in Seoul, South Korea, using the Seoul Open Data Platform API, supporting multiple regions and monitoring stations.MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Korean air quality forecasts, weekly ultrafine dust forecasts, high-concentration PM2.5 forecasts, particulate matter alarm statuses, ozone advisories, and yellow dust advisories from the AirKorea OpenAPI.MIT