seoul-realtime-air-by-region-mcp
seoul-realtime-air-by-region-mcp
MCP-сервер для получения информации о состоянии атмосферного воздуха в реальном времени по районам Сеула (центральный/северо-восточный/юго-восточный/северо-западный/юго-западный).
Основан на API RealtimeCityAir от Seoul Open Data Plaza.
Организация/отдел: Департамент политики в области качества воздуха Климатического и экологического управления города Сеул
Исходные данные: Seoul Open Data Plaza — Состояние атмосферного воздуха в реальном времени по районам Сеула
Лицензия (данные): KOGL Type 1 (указание источника, разрешено коммерческое использование и изменение)
Лицензия (код): MIT
Предоставляемые инструменты
get_realtime_air_by_region
Получает информацию о состоянии атмосферного воздуха в реальном времени по районам (или конкретному району/станции).
Параметр | Обязательный | Описание |
| Необязательный | Название района — один из: центральный/северо-восточный/юго-восточный/северо-западный/юго-западный. Если опущено, все районы |
| Необязательный | Название станции. Нельзя использовать без |
| Необязательный | Диапазон запроса (по умолчанию 1–25, исходя из общего количества станций в Сеуле) |
Возвращаемые поля: Дата и время измерения (MSRMT_DT), Район (SAREA_NM), Станция (MSRSTN_NM), Мелкие частицы (PM, мкг/м³), Сверхмелкие частицы (FPM, мкг/м³), Озон (OZON, ppm), Диоксид азота (NTDX, ppm), Угарный газ (CBMX, ppm), Диоксид серы (SPDX, ppm), Комплексный класс качества воздуха (CAI_GRD), Комплексный индекс качества воздуха (CAI_IDX), Вещество, определяющее индекс (CRST_SBSTN)
list_available_regions
Возвращает фиксированный список из 5 доступных названий районов (центральный/северо-восточный/юго-восточный/северо-западный/юго-западный). Без вызова API.
Related MCP server: mcp-waqi
Ограничения, подтверждённые на практике
Ключ аутентификации передаётся как сегмент пути URL (
/{KEY}/json/RealtimeCityAir/...), а не как параметр запроса.msrstn_nmнельзя использовать отдельно безsarea_nm. Из-за структуры пути API необязательные параметры фиксированы в порядке: местоSAREA_NM→ местоMSRSTN_NM. Если опуститьsarea_nmи передать толькоmsrstn_nm, это значение будет интерпретировано какSAREA_NM, и будет возвращёнINFO-200(нет данных). Этот сервер отфильтровывает запросы, содержащие толькоmsrstn_nm, до вызова API и выдаёт понятную ошибку.Если расширить диапазон
start_index/end_index, фактически возвращается несколько записей (при полном запросе подтверждено 25 записей).Нормальные ответы — JSON, но некоторые ответы об ошибках (например, INFO-100 — неверный ключ) возвращаются в XML, даже если запрос был с TYPE=json. Этот сервер использует резервный парсер, который извлекает XML
<CODE>/<MESSAGE>при неудаче парсинга JSON.Значения
CAI_GRD(комплексный класс качества воздуха) на момент измерений были «хорошо» и «нормально» («плохо»/«очень плохо» не наблюдались, но по спецификации возможны).
Установка и запуск (локально)
git clone https://github.com/hlucent/seoul-realtime-air-by-region-mcp.git
cd seoul-realtime-air-by-region-mcp
pip install -r requirements.txt
cp .env.example .env # SEOUL_API_KEY 값 입력
python server.pyПеременные окружения
Имя переменной | Описание |
| Ключ аутентификации, полученный от Seoul Open Data Plaza |
| Порт сервера (по умолчанию 8000 при развёртывании на fly.io) |
Развёртывание (fly.io)
fly launch --no-deploy
fly secrets set SEOUL_API_KEY=<발급받은키>
flyctl deployПосле развёртывания при подключении коннектора Claude.ai регистрируйте с добавлением пути /mcp в следующем виде:
https://<앱이름>.fly.dev/mcpБезопасность
Сервер открыт без ключа аутентификации, применяется трёхуровневое ограничение частоты запросов на основе IP (3 запроса в минуту — при развёртывании на нескольких машинах может быть смягчено пропорционально количеству машин, при 5 нарушениях в час — блокировка на 24 часа, суточный лимит — 30 запросов).
IP определяется в первую очередь по заголовку Fly-Client-IP (устанавливается непосредственно edge-сервером fly.io, подделка клиентом невозможна). Счётчики ограничения частоты хранятся в памяти (dict) для каждого процесса и не разделяются между машинами, поэтому при распределении запросов fly.io между несколькими машинами фактическое ограничение для одного IP может быть смягчено до «3 запросов в минуту × количество работающих машин». Это компромисс в архитектуре, выбранный для реализации in-memory без внешнего хранилища.
Лицензия
Лицензия MIT. Исходные данные распространяются по лицензии KOGL Type 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
- Alicense-qualityDmaintenanceEnables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.1MIT
- Alicense-qualityCmaintenanceProvides real-time Air Quality Index data from the World Air Quality Index service, enabling queries by location, station, or keyword search.6MIT
- Flicense-qualityBmaintenanceMCP 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.
- AlicenseAqualityBmaintenanceProvides real-time Seoul city data including population congestion, traffic, parking, transit, bikes, EV chargers, weather, events, commercial, accidents, alerts, and news across 121 locations using Seoul Open Data API.301MIT
Related MCP Connectors
Find air-quality stations and read pollutant observations from government monitors via OpenAQ v3.
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
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/seoul-realtime-air-by-region-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server