airkorea-realtime-mcp
airkorea-realtime-mcp
韓国環境公団エアコリアOpenAPIのリアルタイム大気汚染情報・統合大気環境指数(CAI)・測定所情報を照会するMCPサーバーです。
提供ツール(5個)
ツール | 説明 |
| 測定所名で該当測定所のリアルタイム大気汚染測定情報(SO2/CO/O3/NO2/PM10/PM2.5、統合大気環境指数)照会 |
| 市・道名で該当市・道全体の測定所のリアルタイム測定情報照会 |
| 測定所名でリアルタイム統合大気環境指数(CAI)照会 |
| 住所または測定所名で測定所リスト/座標検索 |
| 座標を入力して周辺測定所と距離照会 |
Related MCP server: mcp-waqi
データ出所
提供機関: 韓国環境公団気候大気本部大気環境処大気政策支援部
プラットフォーム: 公共データポータル (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段階レート制限が適用されます。
分あたり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類型(著作者表示)遵守 — データ出典(環境省庁/韓国環境公団)表記
Wait, I need to double-check some things. The user said "Translate from ko-KR to ja-JP" - so I need to translate from Korean to Japanese. Let me re-read the source text.
The source is in Korean. I need to translate it to Japanese. Let me redo this properly.
Also, I notice I made some errors in my draft - I accidentally left some Korean characters in the Japanese text (like "수", "緯度" should be "緯度", "江南区郡" should be "江南区", etc.). Let me be more careful.
Also, I need to preserve:
GXP1, GXP2, GXP3 placeholders
All code, URLs, table structures
The exact structure
Let me redo the# airkorea-realtime-mcp
韓国環境公団エアコリアOpenAPIのリアルタイム大気汚染情報・統合大気環境指数(CAI)・測定所情報を照会するMCPサーバーです。
提供ツール(5個)
ツール | 説明 |
| 測定所名で該当測定所のリアルタイム大気汚染測定情報(SO2/CO/O3/NO2/PM10/PM2.5、統合大気環境指数)照会 |
| 市・道名で該当市・道全体の測定所のリアルタイム測定情報照会 |
| 測定所名でリアルタイム統合大気環境指数(CAI)照会 |
| 住所または測定所名で測定所リスト/座標検索 |
| 座標を入力して周辺測定所と距離照会 |
データ出所
提供機関: 韓国環境公団気候大気本部 大気環境処 大気政策支援部
プラットフォーム: 公共データポータル (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段階レート制限が適用されます。
分あたり3回超過時429(マルチマシン配布時はマシン数に比例して実質緩和される場合あり)
1時間以内に429を5回以上受けると24時間ブロック
日間(rolling 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying Polish air-quality data from GIOŚ stations by providing tools to list stations, get sensor readings, and retrieve the composite air-quality index.MIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time Air Quality Index data from the World Air Quality Index service, enabling queries by location, station, or keyword search.6MIT
- 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 gradedqualityCmaintenanceRetrieves hourly average air quality data (PM10, PM2.5, ozone, NO2, CO, SO2) from Seoul's open data platform, filtered by station or district.MIT
Related MCP Connectors
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.
EPA AirNow MCP — official US real-time AQI + forecast (free key)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hlucent/airkorea-realtime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server