https://github.com/harimkang/mcp-korea-tourism-api
Model Context Protocol (MCP) server that provides tools for accessing the Korea Tourism API
https://github.com/harimkang/mcp-korea-tourism-api
Last synced: 5 days ago
JSON representation
Model Context Protocol (MCP) server that provides tools for accessing the Korea Tourism API
- Host: GitHub
- URL: https://github.com/harimkang/mcp-korea-tourism-api
- Owner: harimkang
- License: mit
- Created: 2025-04-11T05:28:05.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-07-09T05:11:19.000Z (4 months ago)
- Last Synced: 2025-07-09T06:25:23.028Z (4 months ago)
- Language: Python
- Size: 624 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.ko.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - harimkang/mcp-korea-tourism-api
- awesome-mcp-servers - **mcp-korea-tourism-api** - Model Context Protocol (MCP) server that provides tools for accessing the Korea Tourism API `api` `http` `ai` `git` `github` `pip install git+https://github.com/harimkang/mcp-korea-tourism-api` (๐ฆ Other)
- awesome-mcp-servers - **mcp-korea-tourism-api** - Model Context Protocol (MCP) server that provides tools for accessing the Korea Tourism API `api` `http` `ai` `git` `github` `pip install git+https://github.com/harimkang/mcp-korea-tourism-api` (Other)
- metorial-index - Korea Tourism API - Access information about South Korea's tourism attractions, including festivals, temples, restaurants, and accommodations through an API powered by the Korea Tourism Organization. (Cloud Services)
README
# ํ๊ตญ ๊ด๊ด API MCP ์๋ฒ โ๏ธ
[](https://smithery.ai/interface/@harimkang/mcp-korea-tourism-api)
[](https://badge.fury.io/py/mcp-korea-tourism-api)
[](https://opensource.org/licenses/MIT)
[](https://github.com/harimkang/mcp-korea-tourism-api/actions/workflows/ci.yml)
AI ์ด์์คํดํธ ๋ด์์ ์ง์ ๋ํ๋ฏผ๊ตญ ๊ด๊ด์ ๊ฒฝ์ด๋ก์์ ๊ฒฝํํ์ธ์! ์ด ํ๋ก์ ํธ๋ ๊ณต์ ํ๊ตญ๊ด๊ด๊ณต์ฌ(KTO) API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ชจ๋ธ ์ปจํ
์คํธ ํ๋กํ ์ฝ(MCP) ์๋ฒ๋ฅผ ์ ๊ณตํฉ๋๋ค. AI๊ฐ ํ๊ตญ ์ ์ญ์ ํ๊ธฐ์ฐฌ ์ถ์ , ๊ณ ์ํ ์ฌ์ฐฐ, ๋ง์๋ ๋ ์คํ ๋, ํธ์ํ ์๋ฐ ์์ค ๋ฑ์ ๋ฐ๊ฒฌํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
**๋งํฌ:**
- **PyPI ํจํค์ง:** [https://pypi.org/project/mcp-korea-tourism-api/](https://pypi.org/project/mcp-korea-tourism-api/)
- **GitHub ์ ์ฅ์:** [https://github.com/harimkang/mcp-korea-tourism-api](https://github.com/harimkang/mcp-korea-tourism-api)
- **๋ฆด๋ฆฌ์ค:** [https://github.com/harimkang/mcp-korea-tourism-api/releases](https://github.com/harimkang/mcp-korea-tourism-api/releases)
## โจ ํน์ง
- **ํฌ๊ด์ ์ธ ๊ฒ์:** ํค์๋, ์ง์ญ ๋๋ ์์น๋ฅผ ํตํด ๊ด๊ด์ง, ๋ฌธํ ์ ์ ์ง, ํ์ฌ, ์์, ์๋ฐ, ์ผํ ์ ๋ณด๋ฅผ ์ฐพ์๋ณด์ธ์.
- **ํ๋ถํ ์์ธ ์ ๋ณด:** ์ค๋ช
, ์ด์ ์๊ฐ, ์
์ฅ๋ฃ, ์ฌ์ง, ์ฃผ์, ์ฐ๋ฝ์ฒ ์ ๋ณด๋ฅผ ํ์ธํ์ธ์.
- **์์น ๊ธฐ๋ฐ:** ํน์ GPS ์ขํ ๊ทผ์ฒ์ ๋ช
์๋ฅผ ์ฐพ์๋ณด์ธ์.
- **์๊ธฐ์ ์ ํ ์ ๋ณด:** ๋ ์ง ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ถ์ ๋ฐ ํ์ฌ๋ฅผ ์ฐพ์๋ณด์ธ์.
- **๋ค๊ตญ์ด ์ง์:** KTO API์์ ์ง์ํ๋ ๋ค์ํ ์ธ์ด(์์ด ํฌํจ)๋ก ์ ๋ณด๋ฅผ ์ป์ผ์ธ์.
- **์ง์ ์ธ์ด**: ์์ด, ์ผ๋ณธ์ด, ์ค๊ตญ์ด ๊ฐ์ฒด, ์ค๊ตญ์ด ๋ฒ์ฒด, ๋ฌ์์์ด, ์คํ์ธ์ด, ๋
์ผ์ด, ํ๋์ค์ด
- **ํจ์จ์ฑ ๋ฐ ๋ณต์๋ ฅ:**
- **์๋ต ์บ์ฑ:** TTL(Time-To-Live) ์บ์ฑ์ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ์ค๋ณต API ํธ์ถ์ ์ค์ฌ ์๋๋ฅผ ํฅ์์ํต๋๋ค.
- **์๋ ์ ํ:** API ์ฌ์ฉ ์ ํ์ ์ค์ํ์ฌ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
- **์๋ ์ฌ์๋:** ์ผ์์ ์ธ ๋คํธ์ํฌ ๋๋ ์๋ฒ ๋ฌธ์ ๋ฐ์ ์ ์๋์ผ๋ก ์์ฒญ์ ์ฌ์๋ํฉ๋๋ค.
- **MCP ํ์ค:** ๋ชจ๋ธ ์ปจํ
์คํธ ํ๋กํ ์ฝ์ ์ง์ํ๋ AI ์ด์์คํดํธ์ ์ํํ๊ฒ ํตํฉ๋ฉ๋๋ค.
## โ ๏ธ ์ฌ์ ์ค๋น ์ฌํญ
์์ํ๊ธฐ ์ ์ **๋ฐ๋์** **ํ๊ตญ๊ด๊ด๊ณต์ฌ(KTO) ๋ฐ์ดํฐ ํฌํธ**์์ API ํค๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํฉ๋๋ค.
1. [KTO ๋ฐ์ดํฐ ํฌํธ](https://www.data.go.kr/) (๋๋ ํด๋น ๊ด๊ด API์ ํน์ ํฌํธ)์ ๋ฐฉ๋ฌธํฉ๋๋ค.
2. "TourAPI" ์๋น์ค(์: `areaBasedList`, `searchKeyword`, `detailCommon` ๋ฑ ์ ๋ณด ์ ๊ณต ์๋น์ค)์ ๋ํ API ํค๋ฅผ ๋ฑ๋กํ๊ณ ์์ฒญํฉ๋๋ค.
3. **์๋น์ค ํค(API ํค)**๋ฅผ ์์ ํ๊ฒ ๋ณด๊ดํฉ๋๋ค. ์ค์น ๋๋ ๋ฐํ์ ์ ํ์ํฉ๋๋ค.
> ๊ฐ ์ธ์ด๋ณ ์์ฒญ์ ์ํด์๋ ์๋ API๋ฅผ ์ ์ฒญํด์ผ ํฉ๋๋ค.
>
> - ์์ด: https://www.data.go.kr/data/15101753/openapi.do
> - ์ผ๋ณธ์ด: https://www.data.go.kr/data/15101760/openapi.do
> - ์ค๊ตญ์ด ๊ฐ์ฒด: https://www.data.go.kr/data/15101764/openapi.do
> - ์ค๊ตญ์ด ๋ฒ์ฒด: https://www.data.go.kr/data/15101769/openapi.do
> - ๋ฌ์์์ด: https://www.data.go.kr/data/15101831/openapi.do
> - ์คํ์ธ์ด: https://www.data.go.kr/data/15101811/openapi.do
> - ๋
์ผ์ด: https://www.data.go.kr/data/15101805/openapi.do
> - ํ๋์ค์ด: https://www.data.go.kr/data/15101808/openapi.do
## ๐ ์ค์น ๋ฐ ์คํ
`uv` (๋น ๋ฅธ Python ํจํค์ง ์ค์น ๋ฐ ์คํ ๋๊ตฌ) ๋๋ `Docker`๋ฅผ ์ฌ์ฉํ์ฌ ์ด MCP ์๋ฒ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
### Smithery๋ฅผ ํตํ ์ค์น
[Smithery](https://smithery.ai/server/@harimkang/mcp-korea-tourism-api)๋ฅผ ํตํด Claude ๋ฐ์คํฌํฑ์ฉ ํ๊ตญ ๊ด๊ด API MCP ์๋ฒ๋ฅผ ์๋์ผ๋ก ์ค์นํ๋ ค๋ฉด:
```bash
npx -y @smithery/cli install @harimkang/mcp-korea-tourism-api --client claude
```
### ์ต์
1: `uv` ์ฌ์ฉ (๋ก์ปฌ ๊ฐ๋ฐ์ ๊ถ์ฅ)
1. **์ ์ฅ์ ๋ณต์ :**
```bash
git clone https://github.com/harimkang/mcp-korea-tourism-api.git
cd mcp-korea-tourism-api
```
2. **API ํค ํ๊ฒฝ ๋ณ์ ์ค์ :**
`"YOUR_KTO_API_KEY"`๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ค์ ํค๋ก ๋ฐ๊พธ์ธ์.
```bash
# macOS/Linux
export KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY"
# Windows (๋ช
๋ น ํ๋กฌํํธ)
# set KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY"
# Windows (PowerShell)
# $env:KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY"
```
_์ฐธ๊ณ : ์๊ตฌ ์ ์ฅ์ ์ํด ์ด ์ค์ ์
ธ ์ค์ ํ์ผ(์: `.zshrc`, `.bashrc`)์ ์ถ๊ฐํ๊ฑฐ๋ ์์คํ
ํ๊ฒฝ ๋ณ์ ์ค์ ์ ์ฌ์ฉํ์ธ์._
3. **์์กด์ฑ ์ค์น ๋ฐ ์๋ฒ ์คํ:**
์ด ๋ช
๋ น์ด๋ `uv`๋ฅผ ์ฌ์ฉํ์ฌ `uv.lock` (์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ) ๋๋ `pyproject.toml`์ ๊ธฐ๋ฐ์ผ๋ก ์์กด์ฑ์ ์ค์นํ ๋ค์ ์๋ฒ ๋ชจ๋์ ์คํํฉ๋๋ค.
```bash
# ์์กด์ฑ ์ค์น
uv sync
# ๊ธฐ๋ณธ๊ฐ: stdio ์ ์ก ๋ฐฉ์ (MCP ํด๋ผ์ด์ธํธ์ฉ)
uv run -m mcp_tourism.server
# HTTP ์ ์ก ๋ฐฉ์ (์น ์ ํ๋ฆฌ์ผ์ด์
์ฉ)
uv run -m mcp_tourism.server --transport streamable-http --host 127.0.0.1 --port 8000
# SSE ์ ์ก ๋ฐฉ์ (์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ฉ)
uv run -m mcp_tourism.server --transport sse --host 127.0.0.1 --port 8080
# ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ
export MCP_TRANSPORT=streamable-http
export MCP_HOST=0.0.0.0
export MCP_PORT=3000
uv run -m mcp_tourism.server
```
์๋ฒ๊ฐ ์์๋๊ณ ์ง์ ๋ ์ ์ก ํ๋กํ ์ฝ์ ํตํด MCP ์์ฒญ์ ์์ ๋๊ธฐํฉ๋๋ค.
### ์ต์
2: Docker ์ฌ์ฉ (๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ/๋ฐฐํฌ์ ๊ถ์ฅ)
1. **์ ์ฅ์ ๋ณต์ :**
```bash
git clone https://github.com/harimkang/mcp-korea-tourism-api.git
cd mcp-korea-tourism-api
```
2. **Docker ์ด๋ฏธ์ง ๋น๋:**
๋ค์ํ ์ ์ก ๊ตฌ์ฑ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค:
```bash
# ๊ธฐ๋ณธ ๋น๋ (stdio ์ ์ก ๋ฐฉ์)
docker build -t mcp-korea-tourism-api .
# HTTP ์ ์ก ๊ตฌ์ฑ์ผ๋ก ๋น๋
docker build -t mcp-korea-tourism-api \
--build-arg MCP_TRANSPORT=streamable-http \
--build-arg MCP_HOST=0.0.0.0 \
--build-arg MCP_PORT=8000 \
--build-arg MCP_PATH=/mcp \
--build-arg MCP_LOG_LEVEL=INFO \
.
# SSE ์ ์ก ๊ตฌ์ฑ์ผ๋ก ๋น๋
docker build -t mcp-korea-tourism-api \
--build-arg MCP_TRANSPORT=sse \
--build-arg MCP_HOST=0.0.0.0 \
--build-arg MCP_PORT=8080 \
.
```
3. **Docker ์ปจํ
์ด๋ ์คํ:**
๋ค์ํ ์ ์ก ๊ตฌ์ฑ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์คํํ ์ ์์ต๋๋ค:
- **Stdio ์ ์ก ๋ฐฉ์ (๊ธฐ๋ณธ๊ฐ - MCP ํด๋ผ์ด์ธํธ์ฉ):**
```bash
docker run --rm -it \
-e KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY" \
mcp-korea-tourism-api
```
- **HTTP ์ ์ก ๋ฐฉ์ (์น ์ ํ๋ฆฌ์ผ์ด์
์ฉ):**
```bash
# ๋ฐํ์ ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ
docker run --rm -p 8000:8000 \
-e KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY" \
-e MCP_TRANSPORT=streamable-http \
-e MCP_HOST=0.0.0.0 \
-e MCP_PORT=8000 \
mcp-korea-tourism-api
# ์ํ ํ์ธ: curl http://localhost:8000/health
```
- **SSE ์ ์ก ๋ฐฉ์ (์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ฉ):**
```bash
docker run --rm -p 8080:8080 \
-e KOREA_TOURISM_API_KEY="YOUR_KTO_API_KEY" \
-e MCP_TRANSPORT=sse \
-e MCP_HOST=0.0.0.0 \
-e MCP_PORT=8080 \
mcp-korea-tourism-api
```
- **Docker Compose ์ฌ์ฉ (๊ถ์ฅ):**
```bash
# ํ๊ฒฝ ๋ณ์ ๋ณต์ฌ ๋ฐ ๊ตฌ์ฑ
cp docker.env.example .env
# .env ํ์ผ์ ํธ์งํ์ฌ API ํค์ ์ ํธํ๋ ์ค์ ์ ์
๋ ฅ
# HTTP ์ ์ก ๋ฐฉ์์ผ๋ก ์คํ (๊ธฐ๋ณธ ํ๋กํ)
docker-compose up mcp-tourism-http
# SSE ์ ์ก ๋ฐฉ์์ผ๋ก ์คํ
docker-compose --profile sse up mcp-tourism-sse
# ๋๋ฒ๊ทธ ๋ก๊น
์ ํฌํจํ ๊ฐ๋ฐ ์ค์ ์ผ๋ก ์คํ
docker-compose --profile dev up mcp-tourism-dev
```
## ๐ง ์ ์ก ๋ฐฉ์ ๊ตฌ์ฑ
ํ๊ตญ ๊ด๊ด API MCP ์๋ฒ๋ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๋ ์ฌ๋ฌ ์ ์ก ํ๋กํ ์ฝ์ ์ง์ํฉ๋๋ค:
### ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ก ๋ฐฉ์
1. **`stdio`** (๊ธฐ๋ณธ๊ฐ): MCP ํด๋ผ์ด์ธํธ์ ์ง์ ํตํฉ์ ์ํ ํ์ค ์
๋ ฅ/์ถ๋ ฅ ์ ์ก ๋ฐฉ์
- ์ ํฉํ ์ฉ๋: Claude Desktop, Cursor ๋ฐ ๊ธฐํ MCP ํธํ AI ์ด์์คํดํธ
- ๊ตฌ์ฑ: ์ถ๊ฐ ์ค์ ๋ถํ์
2. **`streamable-http`**: ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ HTTP ๊ธฐ๋ฐ ์ ์ก ๋ฐฉ์
- ์ ํฉํ ์ฉ๋: ์น ์ ํ๋ฆฌ์ผ์ด์
, REST API ํตํฉ, ๋ก๋ ๋ฐธ๋ฐ์
- ํน์ง: HTTP ์๋ํฌ์ธํธ, ์ํ ํ์ธ, JSON ์๋ต
- ๊ธฐ๋ณธ ์๋ํฌ์ธํธ: `http://localhost:8000/mcp`
3. **`sse`**: ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ Server-Sent Events ์ ์ก ๋ฐฉ์
- ์ ํฉํ ์ฉ๋: ์ค์๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
, ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ
- ํน์ง: ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ, ์ง์์ ์ฐ๊ฒฐ
- ๊ธฐ๋ณธ ์๋ํฌ์ธํธ: `http://localhost:8080/mcp`
### ๊ตฌ์ฑ ์ต์
๋ช
๋ น์ค ์ธ์ ๋๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค:
| ์ค์ | CLI ์ธ์ | ํ๊ฒฝ ๋ณ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช
|
| --------- | ------------- | --------------- | ----------- | ---------------------------- |
| ์ ์ก ๋ฐฉ์ | `--transport` | `MCP_TRANSPORT` | `stdio` | ์ฌ์ฉํ ์ ์ก ํ๋กํ ์ฝ |
| ํธ์คํธ | `--host` | `MCP_HOST` | `127.0.0.1` | HTTP ์ ์ก์ ์ํ ํธ์คํธ ์ฃผ์ |
| ํฌํธ | `--port` | `MCP_PORT` | `8000` | HTTP ์ ์ก์ ์ํ ํฌํธ |
| ๊ฒฝ๋ก | `--path` | `MCP_PATH` | `/mcp` | HTTP ์๋ํฌ์ธํธ ๊ฒฝ๋ก |
| ๋ก๊ทธ ๋ ๋ฒจ | `--log-level` | `MCP_LOG_LEVEL` | `INFO` | ๋ก๊น
๋ ๋ฒจ |
### ๋ช
๋ น์ค ์์
```bash
# ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ต์
์ ๋ํ ๋์๋ง ๋ณด๊ธฐ
python -m mcp_tourism.server --help
# ์ฌ์ฉ์ ์ ์ ํฌํธ์์ HTTP ์ ์ก ๋ฐฉ์์ผ๋ก ์คํ
python -m mcp_tourism.server --transport streamable-http --port 3000 --log-level DEBUG
# SSE ์ ์ก ๋ฐฉ์์ผ๋ก ์คํ
python -m mcp_tourism.server --transport sse --host 0.0.0.0 --port 8080
```
### ํ๊ฒฝ ๋ณ์ ์์
```bash
# ํ๊ฒฝ ๋ณ์ ์ค์
export MCP_TRANSPORT=streamable-http
export MCP_HOST=0.0.0.0
export MCP_PORT=8000
export MCP_LOG_LEVEL=INFO
export KOREA_TOURISM_API_KEY="your_api_key_here"
# ์๋ฒ ์คํ
python -m mcp_tourism.server
```
### ์ํ ํ์ธ
HTTP ๋ฐ SSE ์ ์ก ๋ฐฉ์์ ๊ฒฝ์ฐ `/health` ์๋ํฌ์ธํธ์์ ์ํ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค:
```bash
# ์๋ฒ ์ํ ํ์ธ
curl http://localhost:8000/health
# ์์ ์๋ต
{
"status": "healthy",
"service": "Korea Tourism API MCP Server",
"transport": "streamable-http",
"timestamp": 1640995200.0
}
```
## ๐ ๏ธ Cursor์ ํตํฉํ๊ธฐ
Cursor ๋ด์์ ์ด MCP ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด:
1. **Docker ์ปจํ
์ด๋ ์คํ ๊ฐ๋ฅ ํ์ธ:** ์์ Docker ์ค์น ๋จ๊ณ๋ฅผ ๋ฐ๋ผ ์ด๋ฏธ์ง(`mcp-korea-tourism-api`)๋ฅผ ๋น๋ํฉ๋๋ค. ์ปจํ
์ด๋๋ฅผ ์๋์ผ๋ก ์คํํ ํ์๋ ์์ต๋๋ค. Cursor๊ฐ ์์์ ํฉ๋๋ค.
2. **`mcp.json` ํ์ผ ์ฐพ๊ธฐ:** ์ด ํ์ผ์ Cursor์ฉ MCP ๋๊ตฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก Cursor ์ค์ ์ด๋ `~/.cursor/mcp.json`๊ณผ ๊ฐ์ ๊ฒฝ๋ก์์ ์ฐพ์ ์ ์์ต๋๋ค.
3. **MCP ๊ตฌ์ฑ ์ถ๊ฐ ๋๋ ์
๋ฐ์ดํธ:** `mcp.json` ํ์ผ ๋ด ๋ชฉ๋ก์ ๋ค์ JSON ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด ๋๊ตฌ์ ๋ํ ํญ๋ชฉ์ด ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ `command`๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค. `"YOUR_KTO_API_KEY"`๋ฅผ ์ค์ ํค๋ก ๋ฐ๊พธ์ธ์.

```json
{
"mcpServers": {
"korea-tourism": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"KOREA_TOURISM_API_KEY=YOUR_KTO_API_KEY",
"mcp-korea-tourism-api"
]
}
}
}
```
๋๋ uv ์ฌ์ฉ [๋ก์ปฌ ๋๋ ํ ๋ฆฌ]
```json
{
"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. **`mcp.json` ์ ์ฅ**.
5. **Cursor ์ฌ์์ ๋๋ MCP ๋๊ตฌ ์๋ก๊ณ ์นจ:** Cursor๊ฐ ์ด์ ๋๊ตฌ๋ฅผ ๊ฐ์งํ๊ณ ํ์ํ ๋ Docker๋ฅผ ์ฌ์ฉํ์ฌ ์คํํฉ๋๋ค.
## ๐ ๏ธ ์ ๊ณต๋๋ MCP ๋๊ตฌ
์ด ์๋ฒ๋ AI ์ด์์คํดํธ๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค:
1. `search_tourism_by_keyword`: ํค์๋(์: "๊ฒฝ๋ณต๊ถ", "๋น๋น๋ฐฅ")๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๊ด ์ ๋ณด๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ฝํ
์ธ ์ ํ, ์ง์ญ ์ฝ๋๋ก ํํฐ๋งํฉ๋๋ค.

2. `get_tourism_by_area`: ์ง์ญ ์ฝ๋(์: ์์ธ='1')๋ก ๊ด๊ด ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ์ฝํ
์ธ ์ ํ, ์๊ตฐ๊ตฌ ์ฝ๋๋ก ํํฐ๋งํฉ๋๋ค.

3. `find_nearby_attractions`: ํน์ GPS ์ขํ(๊ฒฝ๋, ์๋) ๊ทผ์ฒ์ ๊ด๊ด ๋ช
์๋ฅผ ์ฐพ์ต๋๋ค. ๋ฐ๊ฒฝ ๋ฐ ์ฝํ
์ธ ์ ํ์ผ๋ก ํํฐ๋งํฉ๋๋ค.

4. `search_festivals_by_date`: ์ง์ ๋ ๋ ์ง ๋ฒ์(YYYYMMDD) ๋ด์ ์ด๋ฆฌ๋ ์ถ์ ๋ฅผ ์ฐพ์ต๋๋ค. ์ง์ญ ์ฝ๋๋ก ํํฐ๋งํฉ๋๋ค.

5. `find_accommodations`: ํธํ
, ๊ฒ์คํธํ์ฐ์ค ๋ฑ์ ๊ฒ์ํฉ๋๋ค. ์ง์ญ ๋ฐ ์๊ตฐ๊ตฌ ์ฝ๋๋ก ํํฐ๋งํฉ๋๋ค.

6. `get_detailed_information`: ์ฝํ
์ธ ID๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํญ๋ชฉ์ ๋ํ ํฌ๊ด์ ์ธ ์์ธ ์ ๋ณด(๊ฐ์, ์ด์ฉ ์๊ฐ, ์ฃผ์ฐจ ๋ฑ)๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ฝํ
์ธ ์ ํ์ผ๋ก ํํฐ๋งํฉ๋๋ค.

7. `get_tourism_images`: ์ฝํ
์ธ ID๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๊ด๊ด ํญ๋ชฉ๊ณผ ๊ด๋ จ๋ ์ด๋ฏธ์ง URL์ ๊ฐ์ ธ์ต๋๋ค.

8. `get_area_codes`: ์ง์ญ ์ฝ๋(์/๋) ๋ฐ ์ ํ์ ์ผ๋ก ํ์ ์ง์ญ(์๊ตฐ๊ตฌ) ์ฝ๋๋ฅผ ๊ฒ์ํฉ๋๋ค.

## โ๏ธ ์๊ตฌ ์ฌํญ (`uv` ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ)
- Python 3.12 ์ด์
- `uv` ์ค์น๋จ (`pip install uv`)
## ์ฌ์ฉ ์์
์ด MCP์ ํตํฉ๋ AI ์ด์์คํดํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค:
- "๋ช
๋์ญ ๊ทผ์ฒ ์๋น ์ฐพ์์ค."
- "๋ถ๊ตญ์ฌ ์ฌ์ง ๋ณด์ฌ์ค."
- "๋ค์ ๋ฌ ๋ถ์ฐ์ ์ถ์ ์์ด?"
- "๊ฒฝ๋ณต๊ถ(์ฝํ
์ธ ID 264337)์ ๋ํด ๋ ์์ธํ ์๋ ค์ค."