Skip to main content
Glama
hlucent

safemap-uv-index-mcp

by hlucent

safemap-uv-index-mcp

An MCP server that queries the UV Index Information Inquiry Service (ultraviolet index data from the Korea Meteorological Administration's living weather index, organized by city/county/district) provided by the Ministry of the Interior and Safety's Life Safety Map (safemap.go.kr).

Provided Data

Single dataset structure, so no separate Dataset Registry table is needed.

  • Dataset name (display): UV Index

  • Provider: Korea Meteorological Administration (Managing department: Meteorological Convergence Service Division)

  • Platform: Ministry of the Interior and Safety Life Safety Map (safemap.go.kr)

  • Original API: UV Index Information Inquiry Service (IF_0113)

Related MCP server: korea_weather

Tools

get_uv_index

Queries the UV index by province/city/county/district.

Parameters

Name

Type

Required

Description

sido

string

Optional

Filter by province name (e.g., "Seoul", "Gyeonggi"). Client-side partial match

sigungu

string

Optional

Filter by city/county/district name (e.g., "Gangnam-gu"). Client-side partial match

page_no

int

Optional (default 1)

Used when paging through all data without a region filter

num_of_rows

int

Optional (default 300)

Number of results to fetch at once (269 nationwide total, so 300 includes all on one page)

Return Fields

Field

Description

ctprvn_nm

Province name (e.g., "Seoul", "South Gyeongsang", "Gangwon Special Self-Governing Province")

signgu_nm

City/county/district name. Items representing an entire province come as an empty string ("")

emd_nm

Town/neighborhood name. Confirmed to always be an empty string in actual measurements

ulvry_index

UV index value. Returned as an integer (confirmed to be pure numbers in the 0~9 range in actual measurements, not grade strings)

occrrnc_dt

Occurrence date/time. Actual format: YYYYMMDDHH (10 digits, e.g., "2026072106" = 2026-07-21 06:00)

Known Limitations (Measurement Complete)

The original specification was provided only as 2 screen captures + Java sample code rather than Excel/XML samples, so the actual verification results for items requiring measurement are as follows (measured 2026-08-22):

  • returnType default value: Even when returnType is omitted, JSON is actually returned (the notice "Default: JSON" is correct). However, to be safe, returnType=json is explicitly included in every request.

  • Region filter parameters: Tried region filter parameters such as sidoNm, but the server ignores them and returns all data as-is — the API does not support built-in region filtering. This server fetches all nationwide data and then performs client-side filtering with the sido/sigungu parameters.

  • UV index (ulvry_index): Confirmed in actual measurements to be pure numeric strings such as "0", "1", "2", "7", "9" (not grade strings like "Low/Moderate/High"). The server safely converts these to integers before returning.

  • Occurrence date/time (occrrnc_dt) format: YYYYMMDDHH (down to the hour, no minutes). Example: "2026072106".

  • totalCount / nationwide city/county/district count: When called with numOfRows=1000, pageNo=1, totalCount=269 and the actual number of returned items is also 269, matching. All 17 provinces are included, with each province having an item representing the "entire province" (signgu_nm="") along with individual city/county/district items.

  • Error codes: Normal responses have resultCode="00", resultMsg="NORMAL_SERVICE". When called with an invalid service key, resultCode="30", resultMsg="SERVICE_KEY_IS_NOT_REGISTERED_ERROR" (HTTP status code confirmed as 500).

  • Town/neighborhood name (emd_nm): Confirmed to always be an empty string within the measured range.

  • Endpoint: Calling http://safemap.go.kr/openapi2/IF_0113 redirects to https://www.safemap.go.kr/... (automatic HTTPS conversion, handled with httpx follow_redirects=True).

Installation and Execution

pip install -r requirements.txt
cp .env.example .env  # SAFEMAP_API_KEY 값 입력
python server.py

Environment Variables

Variable

Description

SAFEMAP_API_KEY

Authentication key issued from the Ministry of the Interior and Safety Life Safety Map (safemap.go.kr)

PORT

Server port (default 8080)

Deployment (fly.io)

fly launch --no-deploy
fly secrets set SAFEMAP_API_KEY=발급받은키
flyctl deploy

When connecting via the Claude.ai connector after deployment, be sure to append the /mcp path:

https://safemap-uv-index-mcp.fly.dev/mcp

Rate Limit

Since this is a public server that can be connected via URL alone without API key authentication, an IP-based sliding window rate limit is applied:

  • More than 30 requests within 60 seconds returns 429 (Fly-Client-IP header takes priority; if absent, the first value of X-Forwarded-For is used)

  • CORS preflight (OPTIONS) requests are excluded from the count

License

MIT License. The copyright of the data itself follows the usage terms of the Public Data license (Ministry of the Interior and Safety Life Safety Map).

Source

Provided by the Ministry of the Interior and Safety Life Safety Map (safemap.go.kr), Korea Meteorological Administration (Meteorological Convergence Service Division) 「UV Index Information Inquiry Service (IF_0113)」

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    MCP 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.
    2
    7
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    An 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.
    3
    12
  • F
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server providing access to various Korean public data such as subway arrivals, weather, fine dust, bike availability, real estate, and more.
  • F
    license
    Not graded
    quality
    C
    maintenance
    This 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.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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