mcp-tour
by tjwodud04
README.md
> MCP integration for Korea Tourism Organization's API using Claude Desktop App with help from Cursor.
Example: Using Tourism API in Claude Desktop App
<div align="center">
<img src="https://github.com/user-attachments/assets/a5cd8ee6-e05a-4fdb-96bc-ceaffaca1a2e" width="500" style="margin-right: 300px;" />
<img src="https://github.com/user-attachments/assets/f84e9c7c-89a4-4799-a568-9e942630ef1a" width="500" />
</div>
## Description
This MCP server integrates the Korea Tourism Organization's public data API to provide related tourist spots information. It is designed to be used with Claude Desktop via the Model Context Protocol (MCP).
## Features
- Retrieve related tourist spot recommendations
- Get detailed tourist spot information
- Support for multiple content types: tourist attractions, food, and accommodation
## Data Source
We use two main data sources:
1. [Korea Tourism Organization API](https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15128560) - Provides up to 50 highly connected related tourist destinations by region and type
2. [National Standard Tourism Data API](https://www.data.go.kr/data/15101578/openapi.do) - Provides comprehensive information about tourist spots nationwide
## Setup
1. Get an API key from [Data.go.kr](https://www.data.go.kr)
2. Set the environment variable in a `.env` file:
```
TOUR_API_KEY=your-api-key
```
## Installation
### Regular Installation
```bash
pip install mcp-tour
```
### Claude Desktop Installation
Using uv (recommended):
```bash
uv pip install mcp-tour
# Method 1: Using environment variables directly
uv run python -m mcp_tour.hosts.claude_desktop \
-e TOUR_API_KEY=your-api-key
# Method 2: Using .env file
echo "TOUR_API_KEY=your-api-key" > .env
uv run python -m mcp_tour.hosts.claude_desktop
```
Using pip:
```bash
pip install mcp-tour
# Method 1: Using environment variables directly
python -m mcp_tour.hosts.claude_desktop \
-e TOUR_API_KEY=your-api-key
# Method 2: Using .env file
echo "TOUR_API_KEY=your-api-key" > .env
python -m mcp_tour.hosts.claude_desktop
```
## Usage
### get_area_based_list
Fetch related tourist spots for a region:
**Parameters**
- `area_code`: Area code for the region
- `signgu_code`: Signgu (city/district) code
- `content_type_id`: Optional content type ID (`12`: tourist spots, `39`: restaurants, `32`: accommodation)
- `size`: Number of results (up to 50)
### search_by_keyword
Search related tourist spots by keyword:
**Parameters**
- `keyword`: Search keyword
- `area_code`: Area code for the region
- `signgu_code`: Signgu (city/district) code
- `content_type_id`: Optional content type ID (`12`: tourist spots, `39`: restaurants, `32`: accommodation)
- `size`: Number of results (up to 50)
### get_standard_tour_list
Fetch tourist spots from the National Standard Tourism Data:
**Parameters**
- `page_no`: Page number (default: 1)
- `num_of_rows`: Number of results per page (default: 100)
- `tourist_spot_name`: Optional name of the tourist spot to search for
- `address`: Optional address to search for
## Acknowledgments
This project was inspired by:
- [pfldy2850/py-mcp-naver](https://github.com/pfldy2850/py-mcp-naver)
- [jlowin/fastmcp](https://github.com/jlowin/fastmcp)
- [DYTIS Tistory Blog](https://dytis.tistory.com/113)
- [Cursor](https://www.cursor.com/) – used as the main development environment for integrating the Claude Desktop Plugin
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues