LabscoMCP early access ↗
harimkangMCP SERVER

Korea Tourism API MCP Server

Search South Korean attractions, festivals, restaurants and accommodation from the official Korea Tourism Organization API, in eight languages.

by harimkang ↗Travel Booking, Transit & NavigationCommunity

LABSCO SUMMARY

Official data, and the content ID is what makes follow-ups work.

Search returns items with content IDs, and the detail and image tools take those IDs — so "tell me more about that one" and "show me pictures" are one call each, not another search. Two things to plan for: the KTO portal issues a separate key per language, so a multilingual deployment means several registrations, and the caching plus rate limiting exist because the upstream API has limits worth respecting.

What it is

A server over the Korea Tourism Organization's official TourAPI. It searches by keyword, by area, by GPS coordinates and by date, and returns full details and photos for anything it finds.

What you get

  • search_tourism_by_keyword searches by phrase — a palace name, a dish — filtered by content type and area code
  • get_tourism_by_area browses by geographic area code and district; get_area_codes returns those codes for cities, provinces and districts
  • find_nearby_attractions searches around a longitude and latitude with a radius and content-type filter
  • search_festivals_by_date finds festivals inside a YYYYMMDD date range, filtered by area
  • find_accommodations covers hotels and guesthouses by area and district
  • get_detailed_information returns the overview, usage time, parking and the rest for one item by content ID; get_tourism_images returns its photos
  • Eight languages are supported — English, Japanese, Simplified and Traditional Chinese, Russian, Spanish, German and French
  • Responses are cached with a TTL, rate-limited to respect the API, and retried automatically on transient failures

Requirements

Python 3.12 or higher with uv, or the Docker image. A Korea Tourism Organization service key goes in KOREA_TOURISM_API_KEY — note that each language is a separate API registration on the KTO data portal. It runs over stdio by default; --transport streamable-http or --transport sse serve it over HTTP with --host and --port, and a /health endpoint reports status and transport.

Setup effort

Run a container — build the image from the repository, then point your client at it