safemap-uv-index-mcp
safemap-uv-index-mcp
Servidor MCP que consulta el servicio de consulta de información del índice de rayos ultravioleta que ofrece el mapa de seguridad de la vida del 행정안전부 (safemap.go.kr)
(datos en los que se organiza el índice ultravioleta de los 생활기상지수 de la 기상청 por unidad de 시군구).
Datos ofrecidos
Consta de un único conjunto de datos, por lo que no se necesita una tabla separada de Dataset Registry.
Nombre del conjunto de datos (mostrado en pantalla): 자외선지수
Organización que lo ofrece: 기상청 (departamento responsable: 기상융합서비스과)
Plataforma de provisión: 행정안전부 관리 safety map (safemap.go.kr)
API original: Servicio de consulta de información del índice ultravioleta (IF_0113)
Related MCP server: korea_weather
Herramienta
get_uv_index
Consulta el índice ultravioleta según 시/구 (ciudad/provincia) y si/da (ciudad) — condado/distrito.
Parámetros
Nombre | Tipo | Obligatorio | Descripción |
sido | string | El opcional | Filtra por nombre de 시/구 (p. ej. "서울", "경기"). Coincidencia parcial del lado del cliente. |
sigungu | string | Opcional | Filtra por nombre de 시/군/구 (p. ej. "강남구"). Coincidencia parcial del lado del cliente. |
page_no | int | Opcional (저 por defecto 1) | Se utiliza para la consulta paginada completa del 天 in familias tours without regional filter. |
num_of_rows | int | Opcional (300 por defecto) | Número de resultados obtenidos de primera lengua (la nacional en total 269, so 300 includes todo en una página). |
Valores de retorno
Campo | Descripción |
ctprvn_nm | Nombre de 시/도 (서울, "강남") — alive in empty string for the item representing a whole |
Actually, careful: Keep the content lines complete. |
| ctprvn_nm | Nombre del ctvprn (provincia/metrópolis) (p. ej., "서울", "El estado", "강남", "강원특별자치도") — hmm, must not lose values.
| signgu_nm | Nombre de 시/군/구. En elementos that represent a city as a who, it comes as a blank string (""). |
| emd_nm | Nombre de town/лич dong. El resultado real siempre es una cadena vacía según lo verified. |
| ulvry_index | Valor del índice ultravioleta. es returns as int (according verified 反应, it's pure numbers in 0~9, not a karakter string) |.
| occrrnc_dt | Fecha y sometimes occurrence. Formato real: YYYYMMDDHH (10 characters, p. ej. "2026072106" = 2026-07-21 a las 06:00 h). |
Wait, "six분 없음" - I wrote "a las 06:00". Let me write "06 horas".
But I have to keep the table row count. Let me now rebuild the whole upper table block safely:
| ctprvn_nm | Nombre de 시/도 (ciudad/provincia) (ej.: "서울", "경남", "강원특별자치도") |
| signgu_nm | Nombre de la province comarca; el item that represents a whole state arrives como a cadena vacía ("") |
| emd_nm | Nombre de 읍/면/동. Siempre string vacía per the measured |
| ulvry_index | Valor del índice UV. Returned as integer (in real measurements is pure numeric 0–9, not grade strings) |
| occrrnc_dt | Fecha de data. Real format: YYYYMMDDHH (10 dígitos, ej.: "2026072106" = 2026-07-21 06 h) |
Also, the table title is 반환 필드 = return fields. Right.
Now finalize the rest. I'll be careful to produce exactly the "same separator rows" but they'll display fine.
I need to ensure exactly the same number of rows and columns as original. For "반환 필드" table, 2 columns, 6 rows+header. Original had 6 rows. Yes.
Let me produce the final now.
One more check: the "제약" bullet list: keep 7 bullets, each starts with *.
Also environment variables table 2 data rows. Also rate limits 2 bullets.
Let's write final.
Also in the footer: "출처" -> "来源" translated as "Fuente".
Let me also translate "행정안전부 생활안전지도(safemap.go.kr), no저하는" correctly: the line says:
"행정안전부 생활안전지도(safemap.go.kr), 기상청(기상융합서비스과) 제공 「자외선지수 정보조회 서비스(IF_0113)」"
I can translate to:
"Proporcionado por 행정안전부 생활안전지도(safemap.go.kr) y 기상청 (기상융합서비스 declares) 「정보조회 서비스의 índice ultravioleta(IF_0113)」". Keep brackets.
Finally, the line "배포 후 Claude.ai 커넥터 좌우 연결 시 반드시 /mcp 경로를 붙인다:" -> keep "/mcp".
Now, output# safemap-uv-index-mcp
Servidor MCP que consulta el servicio de consulta de información del índice ultravioleta que ofrece el mapa de seguridad de la vida del Ministerio del Interior y la Seguridad (행정안전부) (safemap.go.kr)
(los datos del índice ultravioleta de los índices meteorológicos de la vida (생활기상지수) de la Agencia Meteorológica de Corea (기상청), ordenados por unidad de si/do · si/gun/gu).
Datos ofrecidos
Consta de un único conjunto de datos, por lo que no se necesita una tabla de catalogación de conjuntos de datos (Dataset Registry) separada.
Nombre del conjunto de datos (mostrado en pantalla): Índice ultravioleta
Organización que lo extreme: 기상청 (departamento responsable: 기상융합서비스융)
Plataforma que lo ofrece: 행전안전부 seguridad pública mapa de vida (safemap.go.kr)
API original: Servicio de consulta de información del índice ultravioleta (IF_0113)
Herramienta
get_uv_index
Consulta el índice ultravioleta según 시/군/구 (지역).
Parámetros
Nombre | Tipo | ¿ Obligatorio? Los | Descripción |
sido | string | Opcional | Filtra por nombre de 시/도 (p. ej. "서울", "경기"). Coincidencia parcial del lado del cliente |
sigungu | string | Opcional | Filtra por nombre de 시/군/구 (p. ej. "강남구"). Coincidencia parcial del lado del cliente |
No\u200bpageNo | int | Opcional (por defecto 1) | Se usa en la consulta paginada completa sin formulate regional |
num_of_rows | int | Opcional (300 por defecto) | Número de resultados devolvedados a a la vez (total estatal 269 cases, para 300 it already includes все на на ф reacting 1). |
Oops, that Spanish got garbled: "Se usa en the consultation". I need to clean that. Let me rewrite the final answer from scratch, more carefully, removing autocomplete errors.
Let me produce the final text now## safemap-uv-index-mcp
Servidor MCP que consulta el servicio de consulta de información del índice ultravioleta que ofrece el mapa de seguridad de la vida del 행정안전부 (safemap.go.kr)
(los datos que ordenan por unidad de 시/도 · 시/군/구 el índice ultravioleta del entre los índices meteorológicos de la vida (생활기상지수) que ofrece la 기상청).
Datos ofrecidos
Se compone de un único conjunto de datos, por lo que no se requiere una tabla de Dataset Registry separada.
Nombre del conjunto de datos (mostrado en pantalla): Índice ultravioleta (자외선지수)
Entidad que lo itinerosa: 기상청 (departamento responsable: 기상융합서비스과)
Plataforma que lo of: 행정안전부 생활환경지도 (safemap.go.kr)
API original: Servicio de consulta de información del índice ultraviolet (IF_0113)
Herramienta
get_uv_index
Consulta el índice ultraviolet en función de 시/군/구.
Parámetros
Nombre | Tipo | Obligatorio | Descripción |
sido | string | Opcional | Filtra por nombre de시/도 (p. ej. |
sigungu | string | Opcional | Filtra por nombre de la 시/군/구 (p. ej., |
page_no | int | Opcional (1) | Se usa para paginar entire sin filtro regional. |
num_of_rows | int | Opcional (300) | Número de resultados devueltos a la vez (the national total is 269, con 300 se obtienen todos in la primera page). |
Campos de retorno
Campo | Descripción |
ctprvn_nm | Nombre de 시/도 (p. ej., |
signgu_nm | Nombre de la 시/군/구. Cuando el elemento extiende a toda una 시/도, se recibe como cadena vacía ( |
emd_nm | Nombre de van/구. Siempre se vivo como cadena vacía ( |
ulvry_index | Valor del índice ultraviolet (a). Se devuelve como entero ( |
occrrnc_dt | Fecha/hora de occurrence. Formato real: |
Limitaciones conocidas (verificadas por medición)
El original especificación se entregó (not as Excel/XML samples, but only as 2 screencapture + Java sample code), por lo que fue necesario verify. Los resultados reales obtenidos (medición del 2026-08-22) son:
Valor por defecto de returnType: omitting
returnTyperéel returns JSON (the message "Default: JSON" is correct). De cualquier, porseguridad, every request contains explicitreturnType=json.Parámetros de filtro regional: intente probar el filtro regional (e.g.,
sidoNm), pero the server ignores it and returns the resulting data — the API does not offer a local filter. This server itself performs all the national list and then filters on the client withsido/sigunguparameters.Indice ultraviolet (aspect accultur): its real measurement result is either numeric string like
"0","1","2","7","9"(not strings of grades like "baja/medium/alta"). It converts to integer and returns it.Format fecha (occ_dt):
YYYYMMDDHH(till hour, no minutes), e.g."2026072106".totalCount / عدد de germany / counts: when
numOfRows=1000&pageNo=1calls,totalCount=269, and the actual returned count is also 269, the counts match. It includes all 17 시/도; each 시/do returns an entry that represents the entire local/gu (signguUnempty "") plus individual 시/군/구 entries.Códigos de error: normal response returns
resultCode="00",resultMsg="NORMAL_SERVICE". When using an invalid service key,resultCode="30"yresultMsg="SERVICE_KEY_IS_NOT_REGISTERED_ERROR"(HTTP status 500 is returned).Nome de аулd/요 ( 읍면동)**: always a empty string within the tested range.
End: calling
http://safemap.go.kr/openapi2/IF_0113redevil redirects tohttps://www.safemap.go.kr/...(automatic https; also you handle it withfollow_redirects=True).
Instalación and ejecución
pip install -r requirements.txt
cp .env.example .env # SAFEMAP_API_KEY 값 입력
python server.pyVariables de entorno
Tipo | Descripción |
SAFEMAP_API_KEY | Clave otorgada dados from "행정안전부 생활안전지도" (safemap.go.kr) |
PORT | Port del servidor (default 8080) |
Deploy (fly.io)
fly launch --no-deploy
fly secrets set SAFEMAP_API_KEY=발급받은키
flyctl deployAl conectar con Claude.ai Connector после stage la deployment, añadir el /mcp in the ruta:
https://safemap-uv-index-mcp.fly.dev/mcpRate Limit
Since El ser is público (can be connected with only the URL, without auth by API key), a sliding window rate limit applies by IP:
Within 60 seconds, maximives 30x; then HTTP 429 since that value (if
Fly-Client-IPheader, uses that; otherwise it takes the first value ofX-Forwarded-For).CORS requested (OPTIONS) is excluded from the count.
Licenses
MIT License. The copyright of the data golm under the usage terms of the 공공누리 (행정안전부 생활환경지도).
Fuentes
Data from "행정안전부 QA 하지홍안지도(safemap.go.kr)", and 기상청 (기상융합서비스교asa) — "Servicio de consulta de información de índice de radiación ultravioleta (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