airkorea-statistics-mcp
airkorea-statistics-mcp
Предоставляет OpenAPI службы статистики загрязнения воздуха 에어코리아 (ArpltnStatsSvc) от 한국환경공단 в виде MCP(Model Context Protocol) сервера, который может использовать Claude. Можно запрашивать информацию о средних значениях в реальном времени по городам/провинциям и городам/уездам/районам, а также суточную и месячную статистику по измерительным станциям.
Это последний этап трёхэтапной раздельной разработки 에어코리아; предполагается использование вместе с 1 этапом (airkorea-realtime-mcp) и 2 этапом (airkorea-forecast-alert-mcp).
Предоставляемые функции
Имя инструмента | Описание |
| Запрос средних значений в реальном времени по городам/провинциям (часовые/суточные) |
| Запрос средних значений в реальном времени по городам/уездам/районам (часовые/суточные) |
| Запрос суточных средних значений в реальном времени по станциям (за период) |
| Запрос месячных средних значений в реальном времени по станциям (за период) |
Единицы измерения: SO2/CO/O3/NO2 = ppm, PM10/PM2.5 = ㎍/㎥
О границах этого MCP (важно)
Включены только четыре операции из службы статистики загрязнения воздуха (ArpltnStatsSvc). Следующие две операции изначально были кандидатами в третий этап, но фактически относятся к другим группам служб и исключены из текущего объёма (основание см. в DEVPLAN.md § 0-1, ход решения — в DEVLOG.md):
getTMStdrCrdnt(запрос стандартных координат TM) — принадлежит службе запроса информации об измерительных станциях (MsrstnInfoInqireSvc), той же группе служб, что и 1 этап (airkorea-realtime-mcp)getUnityAirEnvrnIdexSnstiveAboveMsrstnList(запрос списка измерительных станций, имеющих комплексный индекс качества воздуха «плохо» или выше) — принадлежит службе запроса информации о загрязнении воздуха (ArpltnInfoInqireSvc), той же группе служб, что и 1-й и 2-й этапы
Будет ли добавлены обе операции в репозитории 1-го и 2-го этапов, обсуждается отдельно (статус отложен).
Установка и запуск
pip install -r requirements.txt
cp .env.example .env # AIRKOREA_SERVICE_KEY 입력
python server.pyПеременные окружения
Имя переменной | Описание |
| Сервисный ключ AirKorea, выданный на портале 공공데이터포털 |
| Порт сервера (автоматически задаётся при развёртывании fly.io) |
Внимание: Для вызова этого MCP необходимо отдельно подать заявку на использование службы статистикизагрязнения воздуха (ArpltnStatsSvc) на портале 공공데이터포털 (требуется отдельная заявка на использование по каждому ServiceID). После подачи заявки требуется 1–2 часа на фактическое отражение.
Развертывание (fly.io)
fly launch --no-deploy
fly secrets set AIRKOREA_SERVICE_KEY=발급받은키
flyctl deployАдрес подключения коннектора после развёртывания:
https://airkorea-statistics-mcp.fly.dev/mcpRate Limit
Поскольку это публичный сервер, доступный без аутентификации, применяется трёхуровневое ограничение частоты запросов по IP:
При более чем 3 запросах в минуту — 429
При 5 и более нарушениях за час — блокировка на 24 часа
При более чем 30 запросах в сутки (скользящие 24 часа) — 429
При мультимашинном развёртывании внутрипроцессорные счётчики разделяются по машинам, поэтому фактическое ограничение может смягчиться пропорционально количеству машин.
Известные ограничения (подтверждено реальными измерениями, 2026-08-23)
Числовые поля приходят в виде строк JSON, в коде безопасно преобразуются в float. Отсутствующие значения, как выяснено, могут быть не
"-", а пустой строкой ("") (наблюдается вkhaiValue,pm10Value, и т. д.).Подтверждено, что ответ
getCtprvnMesureSidoLIstдействительно содержит полеkhaiValue.При передаче только
sidoName=광주или전남возвращаетсяtotalCount=0(нет данных). Для этих двух регионов необходимо передавать объединённое значение전남광주, чтобы получить корректные данные (фактическое поведение различается со спецификацией).Ошибочные ответы в пределах фактически проверенного диапазона (коды 30, 10) возвращаются как JSON. XML fallback-парсер реализован, но реальный XML-ответ с ошибкой не воспроизводится — если в будущем встретится случай с XML, это будет дополнительно отмечено в DEVLOG.md.
SERVICETIMEOUT(504)не воспроизвёлся в локальных тестах; логика повтора (максимум 3) реализована, но поведение при реальном таймауте не проверено.
Источник данных
Предоставляющая организация: 한국환경공단 (организация, выполняющая работу по поручению환경부)
Платформа: 공공데이터포털 (data.go.kr)
Название API: 한국환경공단_에어코리아_대기오염통계 현황 (ArplStatsSvc)
Лицензия: 공공누리 제1유형 (указание автора — запрет изменений)
Лицензия
MIT License (код самого). Исходные данные распространяются по вышеуказанной лицензии 공공누ри.
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 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)
Find air-quality stations and read pollutant observations from government monitors via OpenAQ v3.
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-statistics-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server