safemap-uv-index-mcp
safemap-uv-index-mcp
MCP-сервер для запроса сервиса информации об индексе ультрафиолета (данные об индексе ультрафиолета из индексов жизненной погоды Корейской метеорологической администрации, сгруппированные по городам и районам), предоставляемого через карту безопасности жизнедеятельности Министерства внутренних дел и безопасности (safemap.go.kr).
Предоставляемые данные
Состоит из единого набора данных, отдельная таблица реестра наборов данных не требуется.
Название набора данных (отображаемое): Индекс ультрафиолета
Предоставляющая организация: Корейская метеорологическая администрация (ответственный отдел: Отдел служб метеорологической конвергенции)
Платформа предоставления: Карта безопасности жизнедеятельности Министерства внутренних дел и безопасности (safemap.go.kr)
Исходный API: Сервис информации об индексе ультрафиолета (IF_0113)
Related MCP server: korea_weather
Инструменты
get_uv_index
Запрашивает индекс ультрафиолета по провинции/городу и району.
Параметры
Имя | Тип | Обязательность | Описание |
sido | string | необязательный | Фильтр по названию провинции (напр.: "서울", "경기"). Частичное совпадение на стороне клиента |
sigungu | string | необязательный | Фильтр по названию города/района (напр.: "강남구"). Частичное совпадение на стороне клиента |
page_no | int | необязательный (по умолчанию 1) | Используется при постраничном запросе всех данных без фильтра по региону |
num_of_rows | int | необязательный (по умолчанию 300) | Количество результатов, получаемых за один раз (всего по стране 269 записей, поэтому при 300 все данные помещаются на одну страницу) |
Возвращаемые поля
Поле | Описание |
ctprvn_nm | Название провинции (напр.: "서울", "경남", "강원특별자치도") |
signgu_nm | Название города/района. Для записей, представляющих всю провинцию, возвращается пустая строка ("") |
emd_nm | Название города/уезда/района. По результатам фактических проверок всегда пустая строка |
ulvry_index | Значение индекса ультрафиолета. Возвращается как целое число (int) (по результатам фактических проверок — чисто числовое значение в диапазоне 0~9, не строка уровня) |
occrrnc_dt | Дата и время возникновения. Фактический формат: |
Известные ограничения (проверено фактически)
Поскольку исходная спецификация была предоставлена не в виде образцов Excel/XML, а в виде 2 скриншотов экрана + образца кода на Java, фактические результаты проверки элементов, требовавших проверки, следующие (проверено 2026-08-22):
Значение по умолчанию returnType: даже если опустить
returnType, фактически возвращается JSON (информационное сообщение "Default: JSON" верно). Однако для надёжности в каждый запрос явно включаетсяreturnType=json.Параметры фильтра по региону: были попытки использовать параметры фильтра по региону, такие как
sidoNm, но сервер игнорирует их и возвращает все данные как есть — API не поддерживает собственный фильтр по региону. Этот сервер сначала запрашивает все данные по стране, а затем выполняет фильтрацию на стороне клиента с помощью параметровsido/sigungu.Индекс ультрафиолета (ulvry_index): по результатам фактических проверок подтверждено, что это чистые числовые строки, такие как
"0","1","2","7","9"(не строки уровня, такие как "низкий/средний/высокий"). Сервер безопасно преобразует их в целые числа и возвращает.Формат даты и времени возникновения (occrrnc_dt):
YYYYMMDDHH(с точностью до часа, без минут). Напр.:"2026072106".totalCount / количество городов и районов по стране: при вызове с
numOfRows=1000, pageNo=1totalCount=269, фактическое количество возвращаемых записей также совпадает — 269. Включены все 17 провинций, для каждой провинции возвращаются как запись, представляющая "все города и районы" (signgu_nm=""), так и отдельные записи городов и районов.Коды ошибок: при нормальном ответе
resultCode="00",resultMsg="NORMAL_SERVICE". При вызове с неверным ключом сервисаresultCode="30",resultMsg="SERVICE_KEY_IS_NOT_REGISTERED_ERROR"(подтверждено, что код состояния HTTP — 500).Название города/уезда/района (emd_nm): в пределах фактически проверенного диапазона всегда пустая строка.
Конечная точка: при вызове
http://safemap.go.kr/openapi2/IF_0113происходит перенаправление наhttps://www.safemap.go.kr/...(автоматическое переключение на https, обрабатывается с помощьюfollow_redirects=Trueв httpx).
Установка и запуск
pip install -r requirements.txt
cp .env.example .env # SAFEMAP_API_KEY 값 입력
python server.pyПеременные окружения
Имя переменной | Описание |
SAFEMAP_API_KEY | Ключ аутентификации, выданный картой безопасности жизнедеятельности Министерства внутренних дел и безопасности (safemap.go.kr) |
PORT | Порт сервера (по умолчанию 8080) |
Развёртывание (fly.io)
fly launch --no-deploy
fly secrets set SAFEMAP_API_KEY=발급받은키
flyctl deployПри подключении коннектора Claude.ai после развёртывания обязательно добавьте путь /mcp:
https://safemap-uv-index-mcp.fly.dev/mcpОграничение частоты запросов
Поскольку это открытый сервер, к которому можно подключить коннектор просто по URL без аутентификации по ключу API, применяется ограничение частоты запросов по методу скользящего окна на основе IP:
При превышении 30 запросов за 60 секунд возвращается 429 (приоритет у заголовка
Fly-Client-IP, при его отсутствии используется первое значениеX-Forwarded-For)Запросы CORS preflight (OPTIONS) не учитываются в счётчике
Лицензия
Лицензия MIT. Авторские права на сами данные регулируются условиями использования Open Government License (карта безопасности жизнедеятельности Министерства внутренних дел и безопасности).
Источник
Предоставлено картой безопасности жизнедеятельности Министерства внутренних дел и безопасности (safemap.go.kr), Корейской метеорологической администрацией (Отдел служб метеорологической конвергенции) — «Сервис информации об индексе ультрафиолета (IF_0113)».
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
- AlicenseBqualityDmaintenanceMCP server that provides Korean weather information using grid coordinates and the Korea Meteorological Administration API, allowing users to query current weather conditions and forecasts for specific locations in Korea.27Apache 2.0
- FlicenseAqualityDmaintenanceAn MCP server that provides Korean weather information from the Korea Meteorological Administration's short-term forecast API, enabling natural language queries about weather conditions such as current weather, rain forecasts, and suitability for outdoor activities.312
- FlicenseNot gradedqualityBmaintenanceA read-only MCP server providing access to various Korean public data such as subway arrivals, weather, fine dust, bike availability, real estate, and more.
- FlicenseNot gradedqualityCmaintenanceThis MCP server integrates South Korea's national law information, building registers from MOLIT, and KOSIS statistics for housing development research. It enables searching laws, retrieving building details, and accessing statistical data through natural language.
Related MCP Connectors
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
MCP server for live, sourced Brazilian public data from the official IBGE APIs.
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
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/safemap-uv-index-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server