Labsco
harimkang logo

Korea Tourism API MCP Server

โ˜… 9

from harimkang

Search for South Korean tourism information, including festivals, temples, and restaurants, using the official Korea Tourism Organization API.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

Korea Tourism API MCP Server โœˆ๏ธ

smithery badge

Unlock the wonders of South Korean tourism directly within your AI assistant! This project provides a Model Context Protocol (MCP) server powered by the official Korea Tourism Organization (KTO) API. Equip your AI with the ability to discover vibrant festivals, serene temples, delicious restaurants, comfortable accommodations, and much more across Korea.

Links:

โœจ Features

  • Comprehensive Search: Find tourist spots, cultural sites, events, food, lodging, and shopping via keywords, area, or location.
  • Rich Details: Access descriptions, operating hours, admission fees, photos, addresses, and contact information.
  • Location-Aware: Discover attractions near specific GPS coordinates.
  • Timely Information: Find festivals and events based on date ranges.
  • Multilingual Support: Get information in various languages supported by the KTO API (including English).
    • Supported Languages: English, Japanese, Simplified Chinese, Traditional Chinese, Russian, Spanese, German, French
  • Efficient & Resilient:
    • Response Caching: Uses time-to-live (TTL) caching to store results and reduce redundant API calls, improving speed.
    • Rate Limiting: Respects API usage limits to prevent errors.
    • Automatic Retries: Automatically retries requests in case of temporary network or server issues.
  • MCP Standard: Seamlessly integrates with AI assistants supporting the Model Context Protocol.

๐Ÿ› ๏ธ Integrating with Cursor

To use this MCP server within Cursor:

  1. Ensure the Docker container is runnable: Follow the Docker installation steps above to build the image (mcp-korea-tourism-api). You don't need to manually run the container; Cursor will do that.

  2. Locate your mcp.json file: This file configures MCP tools for Cursor. You can usually find it via Cursor's settings or potentially in a path like ~/.cursor/mcp.json or similar.

  3. Add or Update the MCP Configuration: Add the following JSON object to the list within your mcp.json file. If you already have an entry for this tool, update its command. Replace "YOUR_KTO_API_KEY" with your actual key. cursor_integrations

    {
      "mcpServers": {
        "korea-tourism": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "-e",
            "KOREA_TOURISM_API_KEY=YOUR_KTO_API_KEY",
            "mcp-korea-tourism-api"
          ]
        }
      }
    }

    OR Use uv [local directory]

    {
      "mcpServers": {
        "korea-tourism": {
          "command": "uv",
          "args": [
            "--directory",
            "{LOCAL_PATH}/mcp-korea-tourism-api",
            "run",
            "-m",
            "mcp_tourism.server"
          ],
          "env": {
            "KOREA_TOURISM_API_KEY": "YOUR_KTO_API_KEY"
          }
        }
      }
    }
  4. Save mcp.json.

  5. Restart Cursor or Reload MCP Tools: Cursor should now detect the tool and use Docker to run it when needed.

๐Ÿ› ๏ธ MCP Tools Provided

This server exposes the following tools for AI assistants:

  1. search_tourism_by_keyword: Search for tourism information using keywords (e.g., "Gyeongbokgung", "Bibimbap"). Filter by content type, area code. search_tourism_by_keyword
  2. get_tourism_by_area: Browse tourism information by geographic area codes (e.g., Seoul='1'). Filter by content type, district code. get_tourism_by_area
  3. find_nearby_attractions: Discover tourism spots near specific GPS coordinates (longitude, latitude). Filter by radius and content type. find_nearby_attractions
  4. search_festivals_by_date: Find festivals occurring within a specified date range (YYYYMMDD). Filter by area code. search_festivals_by_date
  5. find_accommodations: Search for hotels, guesthouses, etc. Filter by area and district code. find_accommodations
  6. get_detailed_information: Retrieve comprehensive details (overview, usage time, parking, etc.) for a specific item using its Content ID. Filter by content type. get_detailed_information
  7. get_tourism_images: Get image URLs associated with a specific tourism item using its Content ID. get_tourism_images
  8. get_area_codes: Retrieve area codes (for cities/provinces) and optionally sub-area (district) codes. get_area_codes