Skip to main content
Glama
hlucent

airkorea-realtime-mcp

by hlucent

airkorea-realtime-mcp

MCP-сервер для запроса данных о загрязнении воздуха в реальном времени, комплексного индекса качества воздуха (CAI) и информации о станциях мониторинга через OpenAPI AirKorea Корейской экологической корпорации.

Предоставляемые инструменты (5)

Инструмент

Описание

get_station_realtime_air_quality

Получение данных о загрязнении воздуха в реальном времени (SO2/CO/O3/NO2/PM10/PM2.5, комплексный индекс качества воздуха) для станции по её названию

get_sido_realtime_air_quality

Получение данных реального времени по всем станциям указанного региона (сидо) по его названию

get_station_cai

Получение комплексного индекса качества воздуха (CAI) в реальном времени по названию станции

search_stations

Поиск списка и координат станций по адресу или названию станции

get_nearby_stations

Поиск ближайших станций и расстояния до них по заданным координатам

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); этот сервер автоматически выполняет преобразование WGS84→EPSG:5181 с помощью pyproj и только затем вызывает API (пользователю достаточно ввести широту и долготу). При вводе координат управы района Каннам (37.515336, 127.049357) станция в районе Каннам возвращается первой с расстоянием 0.4 км, что подтверждает точность преобразования.

  • Поля ответа CAI (get_station_cai): в отличие от таблицы спецификации (khaiValue/khaiGrade/khaiItem), реальные имена полей — caiValue/caiGrade/caiItem. Полный набор полей: stationCode, stationName, mangName, dataTime, caiValue, caiGrade, caiItem (поля отдельных загрязнителей, например so2Value, в ответ этой операции не включаются).

  • Код успешного ответа для CAI: у остальных 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). Сервер автоматически выполняет до 3 повторных попыток только для кода 05.

  • sidoName "전남광주": запрос обрабатывается нормально (отражает создание Особого самоуправляющегося города Чоннам-Кванджу в 2026 году, подтверждено totalCount = 64).

Переменные окружения

Имя переменной

Описание

AIRKOREA_SERVICE_KEY

Сервисный ключ AirKorea, полученный на портале открытых государственных данных (декодированный ключ)

Установка и запуск (локально)

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 deploy

Подключение через коннектор Claude.ai

После завершения развёртывания подключитесь, добавив /mcp в конец адреса.

https://airkorea-realtime-mcp.fly.dev/mcp

Политика Rate Limit

Это публичный сервер, к которому можно подключаться по URL без API-ключа, поэтому применяется трёхуровневое ограничение частоты запросов (rate limit) на основе IP.

  • При превышении 3 запросов в минуту возвращается 429 (при многосерверном развёртывании ограничение может фактически смягчаться пропорционально числу серверов)

  • Если в течение 1 часа получено 5 или более ответов 429, доступ блокируется на 24 часа

  • При превышении суммарно 30 запросов в сутки (скользящие 24 часа) возвращается 429

Коды ошибок

Этот API использует стандартную систему кодов ошибок портала открытых государственных данных (отличается от системы INFO-000/ERROR-3xx, принятой на открытой площадке данных города Сеула).

Код

Значение

00

Нормально

03

No Data (нет данных)

10

Неверный параметр запроса

11

Отсутствует обязательный параметр

20

Отказ в доступе к сервису (не запрошено использование)

22

Превышение суточного лимита трафика

30

Незарегистрированный сервисный ключ

31

Истёк срок действия сервисного ключа

Связанные проекты

Поскольку OpenAPI AirKorea имеет большой объём, он разрабатывается в виде трёх независимых MCP:

Этап

Репозиторий

Включённая область

Этап 1 (этот проект)

airkorea-realtime-mcp

Данные измерений в реальном времени, CAI, информация о станциях

Этап 2

airkorea-forecast-alert-mcp

Прогноз качества воздуха, оповещения о мелкодисперсной пыли, предупреждения об озоне и жёлтой пыли

Этап 3

airkorea-statistics-mcp

Статистика по регионам и станциям (среднее за день/месяц), станции с CAI уровня «плохо» и выше

Лицензия

MIT (код) / соблюдение лицензии «공공누리» (KOGL) Тип 1 (указание авторства) — с указанием источника данных (Министерство окружающей среды / Корейская экологическая корпорация).

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP 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.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Retrieves hourly average air quality data (PM10, PM2.5, ozone, NO2, CO, SO2) from Seoul's open data platform, filtered by station or district.
    MIT

View all related MCP servers

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)

View all MCP Connectors

Latest Blog Posts

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