airkorea-realtime-mcp
airkorea-realtime-mcp
MCP-сервер для запроса данных о загрязнении воздуха в реальном времени, комплексного индекса качества воздуха (CAI) и информации о станциях мониторинга через OpenAPI AirKorea Корейской экологической корпорации.
Предоставляемые инструменты (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); этот сервер автоматически выполняет преобразование 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, полученный на портале открытых государственных данных (декодированный ключ) |
Установка и запуск (локально)
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 (этот проект) |
| Данные измерений в реальном времени, CAI, информация о станциях |
Этап 2 |
| Прогноз качества воздуха, оповещения о мелкодисперсной пыли, предупреждения об озоне и жёлтой пыли |
Этап 3 |
| Статистика по регионам и станциям (среднее за день/месяц), станции с CAI уровня «плохо» и выше |
Лицензия
MIT (код) / соблюдение лицензии «공공누리» (KOGL) Тип 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