airkorea-forecast-alert-mcp
airkorea-forecast-alert-mcp
Dies ist ein MCP-Server zum Abrufen der **Luftqualitätsvorhersage-, Feinstaubwarn- und Ozon-/Sandsturmwarnungs-**Serie der AirKorea-OpenAPI der Korea Environment Corporation.
Bereitgestellte Tools
Tool | Beschreibung |
| Abruf der Luftqualitätsvorhersage (Feinstaub/Ozon) – Vorhersage für heute/morgen/übermorgen, Vorhersageübersicht, Ursachen, Verhaltensempfehlungen |
| Abruf der Wochenvorhersage für Feinstaub PM2,5 – Vorhersage niedrig/hoch für 4 Tage ab 3 Tagen später |
| Abruf der Vorhersageinformationen für hohe PM2,5-Konzentrationen (über 50) – Überschreitung von PM2,5 50㎍/㎥ in 19 Regionen |
| Abruf des Feinstaubwarnstatus – Warnungs- und Alarmierungs-/Aufhebungsverlauf nach Region |
| Abruf der Ozonwarnungs-Informationen |
| Abruf der Sandsturmwarnungs-Informationen |
Designhinweis: In Abschnitt 3 der DEVPLAN.md wurde zunächst geprüft, Ozon- und Sandsturmwarnungen in einem Tool (mit
advisory_type-Parameter) zusammenzufassen. Da sich die Antwortfelder der beiden Operationen jedoch stark unterscheiden (Ozon: 8 Felder wie Konzentration, Warnstufe usw.; Sandsturm: 2 Textfelder für Runde und Region), haben wir uns entschieden, sie in 2 separate Tools aufzuteilen (insgesamt 6 Tools), da eine Zusammenfassung die Benutzerfreundlichkeit beeinträchtigen würde.
Related MCP server: korean-public-data-mcp
Datenquelle
Bereitstellende Organisation: Abteilung für Luftqualitätspolitik, Amt für Luftqualitätsumwelt, Klima- und Luftqualitätshauptquartier der Korea Environment Corporation
Plattform: Öffentliches Datenportal (data.go.kr)
Dienstleistungsgruppe: Korea Environment Corporation_AirKorea_Luftverschmutzungsinformationen (teilweise), Korea Environment Corporation_AirKorea_Vorhersageinformationen für hohe PM2,5-Konzentrationen (über 50), Korea Environment Corporation_AirKorea_Feinstaubwarnstatus, Korea Environment Corporation_AirKorea_Ozon-/Sandsturm-Informationen (Dienstleistungsgruppencode
B552584)Nutzungslizenz: Namensnennung-Keine Bearbeitung (Verpflichtung zur Angabe der Datenquelle (Umweltministerium/Korea Environment Corporation) einhalten)
Veröffentlichungszyklus (wichtig)
Punkt | Veröffentlichungszyklus |
Feinstaubvorhersage (heute/morgen/übermorgen) | 4× täglich (05/11/17/23 Uhr), 19 Regionen |
Ozonvorhersage | Wird nur vom 1. April bis 31. Oktober veröffentlicht. Heutige Vorhersage um 05/11 Uhr (bei Besonderheiten zusätzlich 17 Uhr) |
Wochenvorhersage für PM2,5 | 1× täglich um 17:30 Uhr, 19 Regionen, 4 Tage ab 3 Tagen später |
Vorhersage hoher PM2,5 (über 50) | 4× täglich (05/11/17/23 Uhr), jeweils ca. 10 Minuten pro Stadt |
Bekannte Einschränkungen (durch Messungen bestätigte Punkte, pro Operation – Messung vom 22./23.08.2026)
get_air_quality_forecast (getMinuDustFrcstDspth)
Das Feld
informDatawurde tatsächlich bestätigt. Jedes Element im items-Array unterscheidet die Vorhersage für heute/morgen/übermorgen, und derinformData-Wert (JJJJ-MM-TT) gibt das Zieldatum der jeweiligen Vorhersage an. (Beispiel: WenndataTime"Veröffentlicht am 22.08.2026 um 23 Uhr" ist, kommen die items in der ReihenfolgeinformData"2026-08-22"/"2026-08-23"/"2026-08-24")Bei Abfrage außerhalb der Ozon(O3)-Saison (November–März) wird ohne Fehler normal eine leere Liste (
resultCode: "00",totalCount: 0) zurückgegeben (durch Messung am 15.01.2026 bestätigt).Der Parameter
ver=1.1wurde bei dieser Messung nicht verwendet (die Standard-/Altversion funktioniert nachweislich ausreichend). Die Bild-URLs (imageUrl1–imageUrl9) werden als Referenzlinks unverändert zurückgegeben.
get_high_pm25_forecast (getMinuDustFrcstDspth50Over)
Da es in der Spezifikation keine Spezifikationstabelle gibt (nur Verweis auf das SWAGGER-Dokument), wurde alles durch Messungen bestätigt.
Die Parameter
searchDate,informCode(PM10/PM25/O3) funktionieren nachweislich normal.Alle 19 Regionsfeldnamen
{Region}50Over(durch Messung bestätigt, alphabetisch):busan50Over,chungbuk50Over,chungnam50Over,daegu50Over,daejeon50Over,gwangju50Over,gyeongbuk50Over,gyeonggibuk50Over,gyeongginam50Over,gyeongnam50Over,incheon50Over,jeju50Over,jeonbuk50Over,jeonnam50Over,sejong50Over,seoul50Over,ulsan50Over,youngdong50Over,youngseo50Over(Die gleichnamigen{Region}Grade-Felder werden ebenfalls bereitgestellt und enthalten die Texte gut/mäßig/schlecht/sehr schlecht).⚠️ Zu überprüfen (ungelöst): Dass der Wert bei Nicht-Überschreitung
"X"ist, wurde durch Messung bestätigt. Der Wert bei Überschreitung (in der Spezifikation vermuteter Wert"O") konnte jedoch im August 2026 (saisonal niedrige PM2,5-Zeit) nicht reproduziert werden und bleibt unbestätigt. Im Code ist der in der Spezifikation vermutete Wert ("O") als Standardwert hinterlegt; eine erneute Verifizierung bei tatsächlichem Auftreten hoher Konzentrationen ist erforderlich.Der abfragbare Zeitraum ist auf ca. den letzten Monat begrenzt (durch Messung bestätigt – bei Abfrage mit
searchDatevor diesem Zeitraum wird eine leere Liste mittotalCount: 0zurückgegeben).
get_pm_alarm_status (getUlfptcaAlarmInfo)
Laut Spezifikation haben noch nicht aufgehobene Warnungen
clearDateals"--",clearTimeals":00"undclearValals"공람"(keine Zahl). Dieses Tool behandelt diese Felder in solchen Fällen bei der sicheren Konvertierung alsnullund kennzeichnet den Status "nicht aufgehoben (laufend)" separat über die Feldercleared(bool)/status(String).⚠️ Zu überprüfen (ungelöst): Bei der vollständigen Abfrage der tatsächlichen Daten von 2025–2026 (insgesamt 448 Fälle) waren alle bereits vollständig aufgehoben; es konnte kein Fall gefunden werden, in dem das Muster für nicht aufgehobene Warnungen (
"--"/"공람") tatsächlich auftrat. Eine erneute Verifizierung bei zukünftigem Auftreten nicht aufgehobener Warnungen ist erforderlich.
get_ozone_advisory / get_yellowdust_advisory
Ozonwarnungen werden nur von April bis Oktober jährlich veröffentlicht (außerhalb der Saison gibt es einfach keine Daten; bei der O3-Messung außerhalb der Saison von
get_air_quality_forecastwurde separat bestätigt, dass die API selbst normal funktioniert).Sowohl
get_ozone_advisoryals auchget_yellowdust_advisorywurden mit dem Parameteryearerfolgreich getestet (2026/2025).
Gemeinsam: Gelegentliche Instabilität der öffentlichen Datenportal-API selbst
Bei den Messungen traten bei Aufrufen von
getMinuDustFrcstDspth,getMinuDustWeekFrcstDspthundgetMinuDustFrcstDspth50OvergelegentlichSERVICETIMEOUT_ERROR(Code 05) oder reine Netzwerk-Timeouts auf. Bei erneuten Versuchen derselben Anfrage wurden meist normale Antworten empfangen – dies ist kein Codefehler, sondern ein Lastproblem des öffentlichen Datenportal-Servers selbst. Der Client verwendet ein 30-Sekunden-Timeout mithttpx; dem Aufrufer wird empfohlen, bei Bedarf erneut zu versuchen.
Umgebungsvariablen
Variablenname | Beschreibung |
| Vom öffentlichen Datenportal ausgestellter AirKorea-Dienstschlüssel (Decoding-Schlüssel) |
Installation und Ausführung (lokal)
pip install -r requirements.txt --break-system-packages
cp .env.example .env # AIRKOREA_SERVICE_KEY 값 입력
python server.pyBereitstellung (fly.io)
fly launch --no-deploy
# fly.toml이 [http_service] 방식인지 확인 후
fly secrets set AIRKOREA_SERVICE_KEY=발급받은키
flyctl deployClaude.ai-Connector-Verbindung
https://airkorea-forecast-alert-mcp.fly.dev/mcpRate-Limit-Richtlinie
429 bei mehr als 3 Aufrufen pro Minute (bei Multi-Machine-Bereitstellung kann dies proportional zur Maschinenanzahl praktisch abgemildert werden)
Bei 5 oder mehr 429-Antworten innerhalb einer Stunde: 24-Stunden-Sperre
429 bei mehr als insgesamt 30 Aufrufen pro Tag (rollierend 24 Stunden)
Fehlercodes
Es wird das Standard-Fehlercodesystem des öffentlichen Datenportals verwendet (identisch mit Stufe 1 airkorea-realtime-mcp).
Code | Bedeutung |
00 | Normal |
03 | No Data |
10 | Ungültiger Anfrageparameter |
11 | Fehlender Pflichtparameter |
20 | Dienstzugriff verweigert |
22 | Tägliches Traffic-Limit überschritten |
30 | Nicht registrierter Dienstschlüssel |
31 | Dienstschlüssel-Nutzungszeitraum abgelaufen |
Verwandte Projekte
Da die AirKorea-OpenAPI sehr umfangreich ist, wird sie als 3 unabhängige MCPs entwickelt:
Stufe | Repository | Umfang |
Stufe 1 |
| Echtzeit-Messdaten, CAI, Messstationsinformationen |
Stufe 2 (dieses Projekt) |
| Luftqualitätsvorhersage, Wochenvorhersage für PM2,5, Vorhersage hoher Konzentrationen, Feinstaubwarnungen, Ozonwarnungen, Sandsturmwarnungen |
Stufe 3 |
| Statistiken nach Provinz/Messstation (Tages-/Monatsdurchschnitt), Messstationen mit CAI schlecht oder schlechter |
Lizenz
MIT (Code) / Einhaltung der Public-Nuri-Typ-1-Lizenz (Namensnennung) – Angabe der Datenquelle (Umweltministerium/Korea Environment Corporation)
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
- FlicenseBqualityDmaintenanceConnects to the Korea Meteorological Administration (KMA) Open API to provide short-term and ultra-short-term weather forecasts for South Korea. It enables users to query current weather conditions and future forecasts based on latitude and longitude.2
- AlicenseNot gradedqualityDmaintenanceEnables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.1MIT
- 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)
EPA AirNow MCP — official US real-time AQI + forecast (free key)
Korean government open data - weather, population, law search via data.go.kr
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-forecast-alert-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server