๐ฐ๐ท **ํ๊ตญ์ด** ยท ๐ฌ๐ง [English](README.en.md)
# KORAIL ๊ณต๊ณต๋ฐ์ดํฐ MCP
ํ๊ตญ์ฒ ๋๊ณต์ฌ(KORAIL) ๊ณต๊ณต๋ฐ์ดํฐ๋ฅผ AI์ ์ฐ๊ฒฐํ๋ MCP(Model Context Protocol) ์๋ฒ ๋ชจ์์
๋๋ค.
์ค์น ํ Claude DesktopยทClaude CodeยทCursorยทAntigravityยทGitHub Copilot(CLI/VS Code) ๋ฑ์์ ์์ฐ์ด๋ก KORAIL ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
> โ
**API ํค ์ ์ฒญ ๋ถํ์** โ ์ ์ฉ ํ๋ก์ ์๋ฒ๊ฐ ๊ณต๊ณต๋ฐ์ดํฐ API ํธ์ถ์ ๋์ ์ฒ๋ฆฌํฉ๋๋ค.
>
> ๐ป **๋ก์ปฌ ์ค์นํ (stdio)** โ ๋ณ๋ ์๋ฒ ์์ด ๊ฐ์ธ PC์์ ์ง์ ์คํ๋ฉ๋๋ค. Claude DesktopยทClaude CodeยทCursorยทAntigravityยทGitHub Copilot(CLI/VS Code) ๋ฑ ๋ก์ปฌ MCP ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐํฉ๋๋ค. ChatGPTยทGrok ๊ฐ์ ์น ์๋น์ค๋ ์๊ฒฉ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค(ํ๋จ "๊ทธ ๋ฐ์ ๋ฐฉ์" ์ฐธ๊ณ ).
>
> ๐ฆ **ํ์ ๋์คํฌ ๊ณต๊ฐ** โ ์ฝ **100MB** (`uv`๊ฐ ๊ด๋ฆฌํ๋ Python๊ณผ ํจํค์ง ํฌํจ)
> ๐ **์ฒ์์ด์ ๊ฐ์?** ๋ฐ๋ก ์๋ "์ ์ผ ์ฌ์ด ๋ฐฉ๋ฒ"๋ถํฐ ์๋ํด๋ณด์ธ์. 98๊ฐ ๋๊ตฌ ์ ์ฒด ๋ชฉ๋ก์ ์ค์น๋ฅผ ๋ง์น ๋ค ํ์ํ ๋ ์ฐธ๊ณ ํ์ธ์.
---
## ๐ค ์ ์ผ ์ฌ์ด ๋ฐฉ๋ฒ โ AI์๊ฒ ๊ทธ๋๋ก ์ํค๊ธฐ
**Claude CodeยทCursorยทGitHub Copilot(CLI/VS Code)ยทAntigravity์ฒ๋ผ ํฐ๋ฏธ๋ ๋ช
๋ น์ ์ง์ ์คํํ ์ ์๋ AI**๋ฅผ ์ฐ๊ณ ์๋ค๋ฉด, ๊ทธ ์ฑํ
์ฐฝ์ ์๋ ๋ฌธ์ฅ์ ๊ทธ๋๋ก ๋ถ์ฌ๋ฃ์ผ์ธ์.
```
https://github.com/lovelyquality/korail-mcp ์ README๋ฅผ ์ฐธ๊ณ ํด์ ์ด MCP ์๋ฒ๋ฅผ ์ค์นํ๊ณ ๋ด ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐํด์ค.
```
AI๊ฐ README๋ฅผ ์ง์ ์ฝ๊ณ `uv` ์ค์น โ `korail-mcp` ์ค์น โ ํด๋ผ์ด์ธํธ ์ค์ ํ์ผ ๋ฑ๋ก๊น์ง ์์์ ์ฒ๋ฆฌํฉ๋๋ค. ์๋ฃ๋๋ฉด "์์ธ์ญ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋์?" ๊ฐ์ ์ง๋ฌธ์ผ๋ก ํ์ธํด๋ณด์ธ์.
> โ ๏ธ **ChatGPTยทGrok์ฒ๋ผ ๋ก์ปฌ ๋ช
๋ น์ ์คํํ์ง ๋ชปํ๋ AI**์์๋ ์ด ๋ฐฉ๋ฒ์ด ํตํ์ง ์์ต๋๋ค(์์ธ์ง๋ ํ๋จ "๊ทธ ๋ฐ์ ๋ฐฉ์" ์ฐธ๊ณ ). ๊ทธ๋ฆฌ๊ณ AI๊ฐ ์ค๊ฐ์ ๋งํ๊ฑฐ๋, ์ ์ด์ ์ด๋ฐ ๋ฐฉ์์ AI ๋๊ตฌ๊ฐ ์๋ค๋ฉด โ **๋ฐ๋ก ์๋ "์๋ ์ค์น"๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ ํ์๋ฉด ๋ฉ๋๋ค.**
---
## โ๏ธ ์๋ ์ค์น (Windows ยท 2๋จ๊ณ)
Python์ ๋ฐ๋ก ์ค์นํ๊ฑฐ๋ ์ ์ฅ์๋ฅผ ๋ค์ด๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค. **`uv`๊ฐ ํ์ํ ๊ฒ์ ์์์ ์ค๋นํฉ๋๋ค.**
### 1๋จ๊ณ โ uv ์ค์น (์ต์ด 1ํ)
PowerShell์ ์ด๊ณ ์๋๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค. **๊ด๋ฆฌ์ ๊ถํ์ด ํ์ ์์ต๋๋ค.**
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
์ค์น ํ PowerShell์ **์๋ก ์ด๊ณ ** `uv --version`์ด ์ถ๋ ฅ๋๋ฉด ์ฑ๊ณต์
๋๋ค.
### 2๋จ๊ณ โ KORAIL MCP ์ค์น (์ต์ด 1ํ)
```powershell
uv tool install --from git+https://github.com/lovelyquality/korail-mcp.git korail-mcp
```
๋ง์ง๋ง์ `Installed 1 executable: korail-mcp` ๊ฐ ๋์ค๋ฉด ์ฑ๊ณต์
๋๋ค.
> โณ ์ฒซ ์ค์น๋ 1~3๋ถ ๊ฑธ๋ฆฝ๋๋ค(Python๊ณผ ํจํค์ง๋ฅผ ๋ฐ๋ ์๊ฐ). ์ค์น ํ ์คํ์ **์ฝ 5์ด**์
๋๋ค.
>
> ๐ **์ต์ ๋ฒ์ ์ผ๋ก ๊ฐฑ์ ** โ `uv tool upgrade korail-mcp` ์คํ ํ ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์์ํ์ธ์.
>
> โ ๏ธ **๊ฐฑ์ ์ ์๋ korail-mcp๋ฅผ ์ฐ๋ ํด๋ผ์ด์ธํธ(Claude DesktopยทCursorยทAntigravityยทVS Code ๋ฑ)๋ฅผ ๋จผ์ ์์ ํ ์ข
๋ฃํ์ธ์.** ์คํ ์ค์ธ ์ํ๋ก ๊ฐฑ์ ํ๋ฉด ์คํํ์ผ์ด ์ ๊ฒจ ์์ด ๋ด๋ถ ํจํค์ง๋ง ์ ๋ฒ์ ์ผ๋ก ๋ฐ๋๊ณ ์คํํ์ผ์ ๊ทธ๋๋ก ๋จ์ **`ModuleNotFoundError: No module named 'gateway'`๋ก ๊นจ์ง ์ ์์ต๋๋ค** (2026-08-24 ์ค์ธก์ผ๋ก ์ฌํยทํ์ธ). ์ด๋ฏธ ์ด ์๋ฌ๊ฐ ๋๋ฉด `korail-mcp.exe`๋ฅผ ์ฐ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์์
๊ด๋ฆฌ์์์ ์ข
๋ฃํ ๋ค `uv tool install --from git+https://github.com/lovelyquality/korail-mcp.git korail-mcp --force`๋ก ์ฌ์ค์นํ์ธ์. **์ฌ๋ฌ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ ์ค์น๋ฅผ ๋์์ ์ฐ๋ ๊ฒ ์์ฒด๋ ๋ฌธ์ ์์ต๋๋ค** โ ์ถฉ๋์ ๊ฐฑ์ ํ๋ ๊ทธ ์๊ฐ์๋ง ์ผ์ด๋ฉ๋๋ค.
---
## ๐ 3๋จ๊ณ โ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ
์๋ JSON์ ํด๋ผ์ด์ธํธ ์ค์ ํ์ผ์ `mcpServers` ์์ ๋ฃ๊ณ , **`<์ฌ์ฉ์๋ช
>` ๋ถ๋ถ๋ง ๋ณธ์ธ ์๋์ฐ ๊ณ์ ๋ช
์ผ๋ก ๋ฐ๊ฟ๋๋ค.**
```json
{
"mcpServers": {
"korail-mcp": {
"command": "C:\\Users\\<์ฌ์ฉ์๋ช
>\\.local\\bin\\korail-mcp.exe"
}
}
}
```
> ๐ก ๊ณ์ ๋ช
์ ๋ชจ๋ฅด๋ฉด PowerShell์ `echo $env:USERNAME` ์ ์
๋ ฅํ์ธ์. ๊ฒฝ๋ก์ ์ญ์ฌ๋์๋ JSON ๊ท์น์ **๋ ๊ฐ(`\\`)** ๋ก ์๋๋ค.
>
> โ ๏ธ ์ด๋ฏธ ๋ค๋ฅธ MCP ์๋ฒ๋ฅผ ์ฐ๊ณ ์๋ค๋ฉด **`korail-mcp` ํญ๋ชฉ๋ง** ๊ธฐ์กด `mcpServers` ์์ ์ถ๊ฐํ์ธ์(์ ์ฒด๋ฅผ ๋ฎ์ด์ฐ๋ฉด ๊ธฐ์กด ์๋ฒ๊ฐ ์ฌ๋ผ์ง๋๋ค).
### ์ค์ ํ์ผ ์์น
| ํด๋ผ์ด์ธํธ | ์ค์ ํ์ผ |
|---|---|
| **Claude Desktop** | `%APPDATA%\Claude\claude_desktop_config.json` |
| **Claude Code** | `claude mcp add` ๋ช
๋ น์ผ๋ก ๋ฑ๋ก (์๋ ๋ณ๋ ์๋ด) |
| **Cursor** | `C:\Users\<์ฌ์ฉ์๋ช
>\.cursor\mcp.json` |
| **Antigravity** | `C:\Users\<์ฌ์ฉ์๋ช
>\.gemini\antigravity\mcp_config.json` |
| **GitHub Copilot CLI** | `copilot mcp add` ๋ช
๋ น์ผ๋ก ๋ฑ๋ก (์๋ ๋ณ๋ ์๋ด) |
| **VS Code (GitHub Copilot Chat)** | ์๋ ๋ณ๋ ์๋ด ์ฐธ๊ณ (JSON ํ์์ด ๋ค๋ฆ) |
Claude Desktop โ ํด๋๊ฐ ์์ ๋
1. ํ์๊ธฐ ์ฃผ์์ฐฝ์ `%APPDATA%` ์
๋ ฅ โ Enter
2. `Claude` ํด๋๊ฐ ์์ผ๋ฉด ์ง์ ๋ง๋์ธ์
3. ๊ทธ ์์ `claude_desktop_config.json` ํ์ผ์ ๋ง๋ค๊ณ ์ JSON์ ๋ฃ์ผ์ธ์
`AppData`๊ฐ ์ ๋ณด์ด๋ฉด ํ์๊ธฐ โ ๋ณด๊ธฐ โ **์จ๊ธด ํญ๋ชฉ**์ ์ฒดํฌํ์ธ์.
Claude Code โ ์ค์ ๊ณ์ ์ผ๋ก ๋๊ตฌ ํธ์ถ๊น์ง ์ค์ธก ์๋ฃ
ํฐ๋ฏธ๋์์ ์ฐ๋ **Claude Code CLI**(`claude`, VS Code๋ Claude Desktop ์์ด๋ ๋์)๋ก ์ค์ ๊ณ์ ๋ถ์ฌ์ ๊ฒ์ฆํ์ต๋๋ค.
```powershell
# 1) korail-mcp๋ฅผ MCP ์๋ฒ๋ก ๋ฑ๋ก (์ต์ด 1ํ)
claude mcp add korail-mcp -s user -- "C:\Users\<์ฌ์ฉ์๋ช
>\.local\bin\korail-mcp.exe"
# 2) ์ค์ ์ง๋ฌธ (ํด๋น ๋๊ตฌ๋ง ํ์ฉ)
claude -p "korail-mcp ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ์์ธ์ญ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋์ง ์๋ ค์ค" --allowedTools "mcp__korail-mcp__*"
```
> โ
**2026-08-24 ์ค์ธก ๊ฒฐ๊ณผ** โ ์ ๋ช
๋ น์ ์ค์ ๋ก ์คํํด์ ์ค๋ฐ์ดํฐ ๋ต๋ณ๊น์ง ํ์ธํ์ต๋๋ค:
>
> ```
> ์์ธ์ญ โ ์๋ฆฌ๋ฒ ์ดํฐ ์์ (18๊ฐ)
> ์์ค์ปฌ๋ ์ดํฐ: 23๊ฐ ยท ์ผ๋ฐํ์ฅ์ค: ์์ ยท ์์ ์ค: ์์ ยท ์ข
ํฉ์๋ด์ผํฐ: ์์
> (์ถ์ฒ: ํ๊ตญ์ฒ ๋๊ณต์ฌ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ ํธ์์์ค์ ๋ณด, ์ค์๊ฐ API ๊ธฐ์ค)
> ```
>
> `claude mcp list`๋ก ๋ฑ๋ก ํ์ธ, `claude mcp remove korail-mcp`๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๋ํํ์ผ๋ก ์ธ ๋๋ `--allowedTools` ์์ด ์คํํ๋ฉด ์ฒซ ๋๊ตฌ ํธ์ถ ์ ์น์ธ ์ฌ๋ถ๋ฅผ ๋ฌผ์ด๋ด
๋๋ค.
Cursor / Antigravity โ ํ์ผ์ด๋ ํด๋๊ฐ ์์ ๋
`.cursor` ๋๋ `.gemini\antigravity` ํด๋๋ ๊ทธ ์์ ์ค์ ํ์ผ์ด ์๋ค๋ฉด ์ง์ ๋ง๋ค๋ฉด ๋ฉ๋๋ค.
1. ํ์๊ธฐ ์ฃผ์์ฐฝ์ `%USERPROFILE%` ์
๋ ฅ โ Enter (๋ณธ์ธ ๊ณ์ ํด๋๋ก ์ด๋)
2. ์๋ ํด๋(`.cursor` ๋๋ `.gemini\antigravity`)๋ฅผ ์๋ก ๋ง๋์ธ์
3. ๊ทธ ์์ `mcp.json`(Cursor) ๋๋ `mcp_config.json`(Antigravity) ํ์ผ์ ๋ง๋ค๊ณ ์ JSON์ ๋ฃ์ผ์ธ์
Antigravity๋ ์ฑํ
์ ์ JSON์ ๋ถ์ฌ๋ฃ๊ณ "์ด MCP ์๋ฒ๋ฅผ ๋ฑ๋กํด์ค"๋ผ๊ณ ์์ฒญํ๋ ๋ฐฉ๋ฒ์ด ๋ ์ฝ์ต๋๋ค. ๋ฌด๋ฃ๋ก ์ค์น ๊ฐ๋ฅํ๋ฉฐ, KORAIL MCP ์ฐ๊ฒฐ์ ๋ณ๋ ๊ตฌ๋
์ด ํ์ ์์ต๋๋ค.
GitHub Copilot CLI โ ์ค์ ๊ณ์ ์ผ๋ก ๋๊ตฌ ํธ์ถ๊น์ง ์ค์ธก ์๋ฃ
ํฐ๋ฏธ๋์์ ์ฐ๋ ๊ณต์ **GitHub Copilot CLI**(`@github/copilot`, VS Code ์์ด๋ ๋์)๋ก ์ค์ ๊ณ์ ๋ถ์ฌ์ ๊ฒ์ฆํ์ต๋๋ค. **๋ฌด๋ฃ ํ๋์์๋ MCP ์๋ฒ ์ฐ๊ฒฐ์ด ๋ฉ๋๋ค** (๋ค๋ง ์ ์ฑํ
50ํ, ๋ชจ๋ธ์ Claude Haiku 4.5 / GPT-5 mini๋ก ์ ํ).
> โ ๏ธ **์ฌ์ ์ค๋น โ Node.js 22 ์ด์**์ด ํ์ํฉ๋๋ค. `node --version`์ผ๋ก ํ์ธํ๊ณ , ์์ผ๋ฉด [nodejs.org](https://nodejs.org)์์ LTS ๋ฒ์ ์ ์ค์นํ์ธ์(uv์ ๋ฌ๋ฆฌ ์๋์ผ๋ก ์ค๋น๋์ง ์์ต๋๋ค).
```powershell
# 1) ์ค์น (์ต์ด 1ํ)
npm install -g @github/copilot
# 2) korail-mcp๋ฅผ MCP ์๋ฒ๋ก ๋ฑ๋ก (์ต์ด 1ํ)
copilot mcp add korail-mcp -- "C:\Users\<์ฌ์ฉ์๋ช
>\.local\bin\korail-mcp.exe"
# 3) ์ค์ ์ง๋ฌธ (๋๊ตฌ ์๋ ์น์ธ)
copilot -p "์์ธ์ญ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋์ง korail-mcp ๋๊ตฌ๋ก ์กฐํํด์ค" --allow-all-tools
```
> โ
**2026-08-24 ์ค์ธก ๊ฒฐ๊ณผ** โ ์ ๋ช
๋ น์ ์ค์ ๋ก ์คํํด์ GitHub Copilot์ด `get_urban_accessibility` ๋๊ตฌ๋ฅผ ์ค์ค๋ก ํธ์ถํ๊ณ ์ค๋ฐ์ดํฐ๋ก ๋ต๋ณํ๋ ๊ฒ๊น์ง ํ์ธํ์ต๋๋ค:
>
> ```
> โ get_urban_accessibility (MCP: korail-mcp) ยท station_name: "์์ธ์ญ", facility_type: "elevator"
>
> ๋ค, ์์ธ์ญ์๋ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์์ต๋๋ค! ์ด 17๊ฐ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์ค์น๋์ด ์์ต๋๋ค.
> - ๊ณตํญ์ฒ ๋(AR): 9๊ฐ ยท ๊ฒฝ์์ค์์ (KR): 1๊ฐ ยท 1ํธ์ (S1): 4๊ฐ ยท 4ํธ์ (S1): 3๊ฐ
> ```
>
> ์ค์ ํ์ผ์ `~/.copilot/mcp-config.json`์ `mcpServers.korail-mcp`๋ก ์ ์ฅ๋๋ฉฐ, `copilot mcp list`๋ก ๋ฑ๋ก ํ์ธ, `copilot mcp remove korail-mcp`๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค.
VS Code (GitHub Copilot Chat) โ JSON ํ์์ด ๋ค๋ฆ
๋๋ค (์๋ฒ ํ๋กํ ์ฝ์ ์ค์ธก, VS Code GUI ์์ฒด๋ ๋ฏธํ์ธ)
VS Code ํ์ฅ ํํ์ Copilot Chat์ ์ CLI์ ๋ณ๊ฐ ์ ํ์ด๋ผ ์ค์ ํ์ผ์ด ๋ค๋ฆ
๋๋ค. ์ต์์ ํค๊ฐ `mcpServers`๊ฐ ์๋๋ผ **`servers`** ๋ผ์ ์ JSON์ ๊ทธ๋๋ก ์ธ ์ ์์ต๋๋ค.
1. ์ ์ฅ์(์์
ํด๋) ๋ฃจํธ์ `.vscode\mcp.json` ํ์ผ์ ๋ง๋ค๊ณ ์๋ ๋ด์ฉ์ ๋ฃ์ต๋๋ค.
(๋ชจ๋ ์์
ํด๋์์ ์ฐ๋ ค๋ฉด ๋ช
๋ น ํ๋ ํธ(Ctrl+Shift+P) โ **MCP: Open User Configuration** ์ผ๋ก ์ด๋ฆฌ๋ `%APPDATA%\Code\User\mcp.json` ์ ๋ฃ์ผ์ธ์.)
```json
{
"servers": {
"korail-mcp": {
"command": "C:\\Users\\<์ฌ์ฉ์๋ช
>\\.local\\bin\\korail-mcp.exe"
}
}
}
```
2. ํ์ผ์ ์ ์ฅํ๋ฉด ์๋จ์ ๋ํ๋๋ **Start** ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
3. Copilot Chat์ ์ด๊ณ **Agent ๋ชจ๋**๋ฅผ ์ ํ โ ๋๊ตฌ ์์ด์ฝ์์ `korail-mcp` 98๊ฐ ๋๊ตฌ๊ฐ ๋ณด์ด๋ฉด ์ฐ๊ฒฐ ์๋ฃ์
๋๋ค.
> โ ๏ธ **์ CLI ํ
์คํธ๋ก ์๋ฒ ์ชฝ(stdio ํ๋กํ ์ฝยท98๊ฐ ๋๊ตฌยท์ค๋ฐ์ดํฐ ์๋ต)์ ์ด๋ฏธ ๊ฒ์ฆ๋์ง๋ง, VS Code ํ๋ฉด์์ Start๋ฅผ ๋๋ฌ ์ค์ ๋ก ๋ถ๋์ง๋ GUI ์กฐ์ ๋๊ตฌ๊ฐ ์์ด ํ์ธํ์ง ๋ชปํ์ต๋๋ค.** ์ ๋๋ฉด ์๋ ค์ฃผ์ธ์.
### ์ฐ๊ฒฐ ํ ๋ฐ๋์ โ ํด๋ผ์ด์ธํธ๋ฅผ ์์ ํ ์ข
๋ฃํ๋ค ๋ค์ ์คํ
> โน๏ธ **Claude CodeยทGitHub Copilot CLI๋ ์ด ๋จ๊ณ๊ฐ ํ์ ์์ต๋๋ค** โ ๋ช
๋ น์ ์คํํ ๋๋ง๋ค ์ค์ ์ ์๋ก ์ฝ์ต๋๋ค. ์๋๋ Claude DesktopยทCursorยทAntigravityยทVS Code์ฒ๋ผ **์ฐฝ์ ๋์๋๋ ํด๋ผ์ด์ธํธ**์๋ง ํด๋นํฉ๋๋ค.
์ฐฝ์ X๋ฅผ ๋๋ฌ ๋ซ์๋ **ํธ๋ ์ด(์์
ํ์์ค ์ค๋ฅธ์ชฝ `^` ์)์ ๊ณ์ ์คํ ์ค**์ด๋ผ ์ค์ ์ด ์ ์ฉ๋์ง ์์ต๋๋ค.
โ ํธ๋ ์ด ์์ด์ฝ **์ฐํด๋ฆญ โ Quit / ์ข
๋ฃ** ํ ๋ค์ ์คํํ์ธ์.
์ ์ ์ฐ๊ฒฐ๋๋ฉด ์ค์ ์ MCP ์๋ฒ ๋ชฉ๋ก์ `korail-mcp`๊ฐ **running** ์ผ๋ก ํ์๋๊ณ , 98๊ฐ ๋๊ตฌ๋ฅผ ์ธ ์ ์์ต๋๋ค.
### ๐ฌ ์ค์น ํ์ธ โ ์ด๋ ๊ฒ ๋ฌผ์ด๋ณด์ธ์
```
์์ธ์ญ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋์?
2024๋
๊ฐ์ ์ฒ ๋ ์์ก์ค์ ์ ์๋ ค์ฃผ์ธ์.
KTX 101 ์ด์ฐจ์ ์ดํ ๊ณํ์ ์๋ ค์ฃผ์ธ์.
```
์ ์ ์๋ต์ด ์ค๋ฉด ์ค์น ์๋ฃ์
๋๋ค. ๋ ๋ง์ ์ฌ์ฉ ์์๋ ๋ฌธ์ ํ๋จ์ "์ฌ์ฉ ์์" ์น์
์ ์ฐธ๊ณ ํ์ธ์.
---
## ๐ฆ ์ ๊ณต ์๋ฒ (์ด 11๊ฐ ยท 98๊ฐ ๋๊ตฌ)
| ์๋ฒ | ๋๊ตฌ ์ | ์ ๊ณต ๋ฐ์ดํฐ |
|---|:-:|---|
| m-convenience | 6 | ์ญ์ฌ ํธ์์์คยท์ ๊ทผ์ฑยท์๋ฆฌ๋ฒ ์ดํฐยท์์น ์ ๋ณด |
| m-stats | 15 | ์์ก์ค์ ยท๋ฐ๊ถ ํต๊ณยท์ด์ฉ์ ํยทKTX ์ฅ๊ธฐ ํต๊ณ |
| m-train-ops | 4 | ์ด์ฐจ ์ดํ๊ณํยท์ดํ์ด๋ ฅ |
| m-codebook | 4 | ์ญ์ฝ๋ยท๋
ธ์ ์ฝ๋ ์กฐํ |
| m-freight | 11 | ํ๋ฌผยท์ปจํ
์ด๋ยท๋ฌผ๋ฅ์์คยทํ๋ชฉยท์ํ๋ฌผ |
| m-network | 8 | ๋
ธ์ ยท์ญ๊ฐ๊ฑฐ๋ฆฌยท์ด์ยท์ญ ์ ๋ก์ ์ |
| m-rolling-stock | 6 | ์ฐจ๋ ๋ณด์ ํํฉยทํ๋ณ์ ์ยท์ฐจ์ข
๋ณ ์ดํ์ค์ |
| m-voc-cs | 10 | ๊ณ ๊ฐ์๋น์คยท์ ๋ณด๊ณต๊ฐ |
| m-internal-svc | 14 | ์๋๋งค์ฅยท์ฌํ๊ณตํยท์ธ์ฌ ์ ๋ณด |
| m-procurement | 4 | ์์ฌ๊ทธ๋ฃนยทG2B ํ๋ช
ยท์์ฌ์์ฑยท๋์์ฅ๋น |
| m-urban-rail | 16 | ์ ๊ตญ ๋์์ฒ ๋ ์ญ์ฌยท๋
ธ์ ยท์ฐจ๋ ์์คยท์ ๊ทผ์ฑยท์์ ยทํ๊ฒฝยท์๊ฐํ |
### ์๋ฒ๋ณ ๋๊ตฌ ์์ธ (ํด๋ฆญํ์ฌ ํผ์น๊ธฐ)
m-convenience ยท 6๊ฐ ๋๊ตฌ โ ์ญ์ฌ ํธ์์์ค
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_station_facilities | ์ญ ์ด๋ฆ์ผ๋ก ํธ์์์ค ์ ๋ณด ์กฐํ |
| get_accessible_facilities | ์ญ ์ด๋ฆ์ผ๋ก ๊ตํต์ฝ์ ํธ์์์ค ์กฐํ |
| list_stations_with_elevator | ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์ค์น๋ ์ญ ๋ชฉ๋ก ์กฐํ |
| get_station_facilities_detail | ์ญ์ฌ ๋ด์ธ๋ถ ์์คํํฉ ์กฐํ |
| get_station_transfer_info | ์ญ๋ณ ํ ๊ตํต์๋จ ํ์นํํฉ ์กฐํ |
| get_station_location | ์ญ ์์น(์ขํ) ์ ๋ณด ์กฐํ |
m-stats ยท 15๊ฐ ๋๊ตฌ โ ์ฌ๊ฐยทํ๋ฌผ ์์กํต๊ณ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_mainline_station_per | ๊ฐ์ ์ด์ฐจ ์ญ๋ณ ์นํ์ฐจ ํต๊ณ |
| get_mainline_route_per | ๊ฐ์ ์ด์ฐจ ๋
ธ์ ๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_wide_rail_station_per | ๊ด์ญ์ฒ ๋ ์ญ๋ณ ์นํ์ฐจ ํต๊ณ |
| get_wide_rail_route_per | ๊ด์ญ์ฒ ๋ ๋
ธ์ ๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_mainline_distance_per | ๊ฐ์ ์ด์ฐจ ๊ฑฐ๋ฆฌ๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_mainline_model_per | ๊ฐ์ ์ด์ฐจ ์ฐจ๋๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_mainline_day_of_week_per | ๊ฐ์ ์ด์ฐจ ์์ผ๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_mainline_grade_per | ๊ฐ์ ์ด์ฐจ ๊ฐ์ค๋ณ ์ด์ฉ์ธ์ ํต๊ณ |
| get_mainline_ticketing_stat | ๊ฐ์ ์ด์ฐจ ๋ฐ๊ถ์ ํ ํต๊ณ |
| get_mainline_person_distance | ๊ฐ์ ์ด์ฐจ ๋
ธ์ ๋ณ ์ธ๊ฑฐ๋ฆฌ ํต๊ณ |
| get_ktx_long_term_stats | KTX ์ฅ๊ธฐ ํต๊ณ |
| get_mainline_carriage | ๊ฐ์ ์ฌ๊ฐ์ด์ฐจ ์์ก์ค์ ์กฐํ |
| get_wide_area_carriage | ๊ด์ญ ์ฌ๊ฐ์ด์ฐจ ์์ก์ค์ ์กฐํ |
| get_freight_carriage | ํ๋ฌผ์ด์ฐจ ์์ก์ค์ ์กฐํ |
| get_transport_stat_codes | ์์ก์ค์ ํต๊ณ ์ฝ๋์ ๋ณด ์กฐํ |
m-train-ops ยท 4๊ฐ ๋๊ตฌ โ ์ด์ฐจ ์ดํ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_train_codes | ์ด์ฐจ์ดํ ์ฝ๋์ ๋ณด ์กฐํ |
| get_train_run_plan | ์ฌ๊ฐ์ด์ฐจ ์ดํ๊ณํ ์กฐํ |
| get_train_run_info | ์ฌ๊ฐ์ด์ฐจ ์ค์ ์ดํ์ ๋ณด ์กฐํ |
| get_train_run_history | ์ฐจ์ธ๋์์ฝ๋ฐ๋งค ์ด์ฐจ ์ดํ๋ด์ญ ์กฐํ |
m-codebook ยท 4๊ฐ ๋๊ตฌ โ ์ญยท๋
ธ์ ์ฝ๋
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| search_station | ์ญ๋ช
์ผ๋ก ์ญ์ฝ๋ยท์๋ฌธ๋ช
ยท์ง์ญ๋ณธ๋ถ ํตํฉ ์กฐํ |
| decode_station_code | ์ญ์ฝ๋๋ก ์ญ๋ช
์กฐํ |
| search_route | ๋
ธ์ ๋ช
์ผ๋ก ๋
ธ์ ์ฝ๋ ์กฐํ |
| list_stations_by_region | ์ง์ญ๋ณธ๋ถ๋ช
์ผ๋ก ๊ดํ ์ญ ๋ชฉ๋ก ์กฐํ |
m-freight ยท 11๊ฐ ๋๊ตฌ โ ํ๋ฌผยท๋ฌผ๋ฅ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| search_freight_code | ๋ด์ ํ๋ฌผ์ฝ๋ ๊ฒ์ |
| decode_freight_code | ๋ด์ ํ๋ฌผ๋ถ๋ฅ์ฝ๋ ๋จ๊ฑด ๋์ฝ๋ฉ |
| search_container_record | ์ปจํ
์ด๋ ์ ์ฌ ์ด๋ ฅ ์กฐํ |
| list_freight_work_lines | ํ๋ฌผ์ ํ์์
์ ์ฉ ์์
์ ์ ๋ณด |
| list_standard_loading_time | ํ์ค ์ ํ์๊ฐ ๋ง์คํฐ ์กฐํ |
| search_loading_time_adjustment | ์ ํ์๊ฐ ์กฐ์ ์ด๋ ฅ ์กฐํ |
| search_consignment_change | ์ํ๋ณ๊ฒฝ์๊ธ ๊ฒ์ |
| search_consignment_change_per_wagon | ์ํ๋ณ๊ฒฝ์๊ธ ํ์ฐจ๋ณ ์กฐํ |
| get_logistics_facility | ๋ฌผ๋ฅ์์ค ์ ๋ณด ํตํฉ ์กฐํ |
| get_freight_items | ํ๋ฌผ ํ๋ชฉ์ ๋ณด ์กฐํ |
| get_hazardous_cargo | ์ํ๋ฌผ ์ ๋ณด ์กฐํ |
m-network ยท 8๊ฐ ๋๊ตฌ โ ๋
ธ์ ยท๊ฑฐ๋ฆฌยท์ด์
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| search_operation_patterns | ์ ๊ตญ ์ฒ ๋ ์ดํ๊ณํต ๊ฒ์ |
| get_station_distance | ๋ ์ญ ๊ฐ ์ต๋จ ์ดํ๊ฑฐ๋ฆฌ ์กฐํ |
| get_freight_minimum_fare | ํ๋ฌผ ์ด์ก ์ต์ ์ด์ ๊ธฐ์ค ์กฐํ |
| get_freight_rate | ์ฒ ๋ ํ๋ฌผ ์์จ ์ ๋ณด ์กฐํ |
| get_segment_info | ์ฒ ๋ ์ ๋์ฐจ ์ธ๊ทธ๋จผํธ ์ ๋ณด ์กฐํ |
| get_operation_distance | ๋
ธ์ ๋ณ ์ญ๊ฐ ์ดํ๊ฑฐ๋ฆฌ ์กฐํ |
| get_ktx_stations | KTX ๋
ธ์ ๋ณ ์ญ ์ ๋ณด ์กฐํ |
| get_station_track_info | ์ญ๋ณ ์ ๋กยท์์ค ์์ธ ์ ๋ณด ์กฐํ |
m-rolling-stock ยท 6๊ฐ ๋๊ตฌ โ ์ฒ ๋์ฐจ๋
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_train_type_specs | ๋๋ ฅ์ฐจ ํ๋ณ์ ์ ์กฐํ |
| get_rolling_stock_by_year | ์ฐ๋๋ณ ์ฐจ๋๋ณด์ ํํฉ ์กฐํ |
| get_wagon_by_weight_class | ํ์ฐจ ์์ค๋ณ ๋ณด์ ํํฉ ์กฐํ |
| get_wagon_by_load_capacity | ํ์ฐจ ์ ์ฌํ์ค๋ณ ๋ณด์ ํํฉ ์กฐํ |
| get_maintenance_equipment | ์ฒ ๋์ฐจ๋ ๊ฒ์์ฉ ๊ธฐ๊ณ ๋ณด์ ํํฉ ์กฐํ |
| get_train_operation_by_type | ์ฐจ์ข
๋ณ ์ฐ๊ฐ ์ดํ์ค์ ์กฐํ |
m-voc-cs ยท 10๊ฐ ๋๊ตฌ โ ๊ณ ๊ฐ์๋น์คยท์ ๋ณด๊ณต๊ฐ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_customer_satisfaction_stats | ๊ณ ๊ฐ์์๋ฆฌ ๋ง์กฑ๋ ์ผ๋ณ ํต๊ณ |
| get_consultation_types | ์ฒ ๋ ๊ณ ๊ฐ์ผํฐ ์๋ด์ ํ ์ฝ๋ ์กฐํ |
| get_consultation_departments | ์ฒ ๋ ๊ณ ๊ฐ์ผํฐ ๋ด๋น ๋ถ์ ๋ชฉ๋ก ์กฐํ |
| get_advance_disclosure | ํํ์ด์ง ์ฌ์ ์ ๋ณด๊ณตํ ๋ชฉ๋ก ์กฐํ |
| get_advance_disclosure_detail | ์ฌ์ ์ ๋ณด๊ณตํ ์ธ๋ถ ๋ด์ญ ์กฐํ |
| get_advance_disclosure_files | ์ฌ์ ์ ๋ณด๊ณตํ ์ฒจ๋ถํ์ผ ๋ชฉ๋ก ์กฐํ |
| get_info_disclosure_dept | ์ ๋ณด๊ณต๊ฐ ๋ด๋น ๋ถ์ ๋ชฉ๋ก ์กฐํ |
| get_info_disclosure_codes | ์ ๋ณด๊ณต๊ฐ ์์คํ
๊ณตํต์ฝ๋ ์กฐํ |
| get_homepage_dept | KORAIL ํํ์ด์ง ๋ถ์ ์ ๋ณด ์กฐํ |
| get_homepage_position | KORAIL ํํ์ด์ง ์ง์ฑ
์ฝ๋ ์กฐํ |
m-internal-svc ยท 14๊ฐ ๋๊ตฌ โ ์๋ยท์ฌํ๊ณตํยท์ธ์ฌ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| get_lease_stores | ์ญ์ฌ ๋ด ์๋๋งค์ฅ ์ด์์ ๋ณด ์กฐํ |
| get_lease_codes | ์๋ ์์คํ
์ฝ๋ ์กฐํ |
| get_leased_assets | ์๋์์ฐ ํํฉ ์กฐํ |
| get_dormitory_longterm_codes | ์ง์์์ฌ ์ฅ๊ธฐ์์ฝ ์ฌ์ ์ฝ๋ ์กฐํ |
| get_social_funds | ์ฌํ๊ณตํ ํ๋ ์ข
๋ฅ ์กฐํ |
| get_social_volunteer_fields | ์ฌํ๊ณตํ ๋ด์ฌ ๋ถ์ผ ์ฝ๋ ์กฐํ |
| get_social_donations | ์ฌ๋์ ์ฑ๊ธ ์ฌ์ฉ ๋ด์ญ ์กฐํ |
| get_social_volunteer_matching | ๋ด์ฌํ๋ ๋งค์นญ ์ง์ถ ๋ด์ญ ์กฐํ |
| get_social_org | ์ฌํ๊ณตํ ํฌํธ ์กฐ์ง์ ๋ณด ์กฐํ |
| get_support_facilities | ์ฌ์ฅ ๋ด ๋ถ๋์์ค ๋ชฉ๋ก ์กฐํ |
| get_support_departments | ์
๋ฌด์ง์ ๋ถ์๋ณ ์ธ์ ํํฉ ์กฐํ |
| get_office_meeting_rooms | ๋ณธ์ฌ ์ฌ์ฅ ํ์์ค ๋ชฉ๋ก ์กฐํ |
| get_job_grades | ์ง๊ธ ์ฝ๋ ์ ๋ณด ์กฐํ |
| get_cafeteria_menu_stats | ๊ตฌ๋ด์๋น ๋ฉ๋ด ๊ฑด์ ํํฉ ์กฐํ |
m-procurement ยท 4๊ฐ ๋๊ตฌ โ ์กฐ๋ฌยท์์ฌ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| search_material_group | ์์ฌ๊ทธ๋ฃน์ฝ๋ ๊ฒ์ |
| search_g2b_item | G2B ๋ถ๋ฅ๋ฒํธยทํ๋ช
๊ฒ์ |
| search_material_attr | ์์ฌ์์ฑ์ ๋ณด ์กฐํ |
| search_material_equipment | ์์ฌ๋์์ฅ๋น ์กฐํ |
m-urban-rail ยท 16๊ฐ ๋๊ตฌ โ ์ ๊ตญ ๋์์ฒ ๋ ์ญ์ฌยท๋
ธ์ ยท์ฐจ๋ ์ ๋ณด (๊ตญ๊ฐ์ฒ ๋๊ณต๋จ)
> ์๋๊ถ 1~9ํธ์ ยท์ ๋ถ๋นยท๊ณตํญ์ฒ ๋, ๋ถ์ฐยท๋๊ตฌยท๋์ ยท๊ด์ฃผยท์ธ์ฒ, ๊ฒฝ์ ์ฒ ยทGTX ๋ฑ ์ ๊ตญ 22๊ฐ ์ด์๊ธฐ๊ด 1,108๊ฐ ์ญ.
> ์ด์๊ธฐ๊ดยท์ ยท์ญ์ฝ๋๊ฐ ํ์ํ๋ฏ๋ก ๋จผ์ `search_urban_station`์ผ๋ก ์ญ์ ํน์ ํ์ธ์. ํ์น์ญ ๋ฑ ๋์ผ ์ญ๋ช
์ `operator`(์ด์๊ธฐ๊ด)๋ก ๊ตฌ๋ถํฉ๋๋ค.
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| search_urban_station | ์ญ๋ช
์ผ๋ก ์ด์๊ธฐ๊ดยท์ ยท์ญ์ฝ๋ ๊ฒ์ (๋ค๋ฅธ ์กฐํ์ ์ ํ ๋จ๊ณ) |
| get_urban_station_info | ์ญ์ฌ ๊ธฐ๋ณธ์ ๋ณด ์กฐํ (์ฃผ์ยท์ขํยท๋ค๊ตญ์ด ์ญ๋ช
) |
| get_urban_accessibility | ์ญ์ฌ ์ ๊ทผ์ฑ ์์ค ์กฐํ (์๋ฆฌ๋ฒ ์ดํฐยท์์ค์ปฌ๋ ์ดํฐยทํ ์ฒด์ด๋ฆฌํํธ ํํฉ/์์นยท์ด๋๋์ ยท์์ ๋ฐํยท์ด๊ฒฉ๊ฑฐ๋ฆฌยท์ ์ยท์ฅ์ ์ธํ์ฅ์คยท์ธ์ ๊ณ๋จ ์ฐจ๋๋ฒํธ ๋ฑ) |
| get_urban_amenity | ์ญ์ฌ ํธ์์์ค ์กฐํ (ํ์ฅ์คยท์์ ์คยท๋ฌผํ๋ณด๊ดํจยทATMยท์ ์ค๋ฌผ์ผํฐยท๋ฌด์ ์ธํฐ๋ท) |
| get_urban_safety | ์ญ์ฌ ์์ ์์ค ์กฐํ (์ ์ธ๋๊ธฐยท์ํ์ค๋นยท๋น์์ฝํฐยท๊ณต๊ธฐํธํก๊ธฐยท์คํฌ๋ฆฐ๋์ดยท์น๊ฐ์ฅ ์์ ํ์ค) |
| get_urban_surroundings | ์ญ ์ฃผ๋ณ ์์ค ์กฐํ (๋์ค๊ตํตยท์ฃผ์ฐจ์ฅยท์์ ๊ฑฐ ์ฃผ์ฐจ/๋์ฌ) |
| get_urban_exit_info | ์ญ์ฌ ์ถ๊ตฌ์ ๋ณด ์กฐํ (์ถ๊ตฌ๋ฒํธยท์ฃผ๋ณ์์คยท๊ฑฐ๋ฆฌ) |
| get_urban_transfer_info | ์ญ์ฌ ํ์น์ ๋ณด ์กฐํ (ํ์น๋
ธ์ ยทํ์น๊ฑฐ๋ฆฌยท๋์ ) |
| get_urban_movement | ๊ตํต์ฝ์ ์ถ์
๊ตฌโ์น๊ฐ์ฅ ์ด๋๊ฒฝ๋ก(๋ฌด์ฅ์ ๋์ ) ์กฐํ |
| get_urban_platform | ์ญ์ฌ ์น๊ฐ์ฅ ์ ๋ณด ์กฐํ (์น๊ฐ์ฅ ์ ํยท๋ณตํฉ์ฌ๋ถ ๋ฑ) |
| get_urban_environment | ์ญ์ฌ ํ๊ฒฝ์ธก์ ์กฐํ (๊ณต๊ธฐ์งยท์จ๋ยท์ต๋ยท์์) |
| get_urban_timetable | ์ญ์ฌ๋ณ ์ดํ์๊ฐํ ์กฐํ (ํ์ผ/ํด์ผยท๊ธํ ์ ํ) |
| get_urban_route | ๋
ธ์ ์ ์ฒด ์ญ ๊ตฌ์ฑ(์ํ~ํํ ์์) ์กฐํ โ ์ญ ๋ฌด๊ด |
| get_urban_train_composition | ์ด์๊ธฐ๊ด๋ณ ์ด์ฐจ ํธ์ฑ์ข
๋ฅ(ํธ์ฑ์ฝ๋ยทํธ์ฐจ) ์กฐํ โ ์ฐจ๋๋ณ ์กฐํ ์ ํ |
| get_urban_train_facility | ์ฐจ๋(ํธ์ฐจ)๋ณ ์์ค ์กฐํ (์ํ๊ธฐยท๋น์์ฝํฐยท์ ์ธ๋๊ธฐยท์์ฐ๋ถ์ยท๋
ธ์ฝ์์ยทํ ์ฒด์ด ๋ฑ) |
| get_urban_train_environment | ์ด์ฐจ๋ณ ์ฐจ๋ด ํ๊ฒฝ์ ๋ณด ์กฐํ (์จ๋ยท์ต๋ยท๋ฏธ์ธ๋จผ์ง ๋ฑ) |
---
## ๐งฉ ๊ทธ ๋ฐ์ ๋ฐฉ์
ChatGPT ยท Grok โ ์๊ฒฉ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค
ChatGPT์ Grok์ **๋ก์ปฌ MCP ์๋ฒ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.** ๊ณต๊ฐ HTTPS ์๋ํฌ์ธํธ๋ง ์ปค๋ฅํฐ๋ก ์ถ๊ฐํ ์ ์์ด, ์ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค.
๊ฒ์ดํธ์จ์ด์ ์๊ฒฉ(Streamable HTTP) ๋ชจ๋๊ฐ ๋ด์ฅ๋์ด ์์ด **๊ณต๊ฐ ์ฃผ์๋ก ๋
ธ์ถํ๋ฉด** ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ค๋ง ์๋ฒ ์ด์๊ณผ ๊ณต๊ฐ ๋ฒ์ ๋ฌธ์ ๊ฐ ๋ฐ๋ฅด๋ฏ๋ก ์์ธ๋ [gateway/README.md](gateway/README.md)๋ฅผ ์ฐธ๊ณ ํ์ธ์.
uvx ๋ก ์ค์น ์์ด ์คํ โ ๊ถ์ฅํ์ง ์์ต๋๋ค
์ค์น ๊ณผ์ ์์ด `uvx` ๋ก ๋ฐ๋ก ์คํํ ์๋ ์์ต๋๋ค.
```json
{
"mcpServers": {
"korail-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/lovelyquality/korail-mcp.git", "korail-mcp"]
}
}
}
```
๊ณ์ ๋ช
์ ๋ฃ์ง ์์๋ ๋๋ ์ฅ์ ์ด ์์ผ๋, **์คํํ ๋๋ง๋ค GitHub์ ์ต์ ์ปค๋ฐ์ด ์๋์ง ํ์ธ**ํ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ๋ฅผ ์ผค ๋๋ง๋ค ๊ธฐ๋์ด ๋๋ฆฝ๋๋ค.
| ๋ฐฉ์ | ๊ธฐ๋ ์๊ฐ(์ค์ธก) |
|---|---|
| `uv tool install` ํ ์คํ | **์ฝ 5์ด** |
| `uvx` (๋งค๋ฒ ์๊ฒฉ ํ์ธ) | ์ฝ 40์ด |
๊ธฐ๋์ด ๋๋ฆฌ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ค ๋์ณ ๋๊ตฌ๊ฐ ๋ํ๋์ง ์์ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์์ฉ โ ์ ์ฅ์๋ฅผ ์ง์ ๋ฐ์์ ์คํ
์๋ฒ ์ฝ๋๋ฅผ ์์ ํ๋ ค๋ฉด ์ ์ฅ์๋ฅผ clone ํด์ ์คํํฉ๋๋ค.
```bash
git clone https://github.com/lovelyquality/korail-mcp.git
cd korail-mcp
uv run gateway/server.py
```
์์กด์ฑ์ `gateway/server.py` ์๋จ์ ์ ์ธ๋์ด ์์ด `uv`๊ฐ ์๋์ผ๋ก ์ค๋นํฉ๋๋ค. ๋ณ๊ฒฝ ํ์๋
`python docker-test/smoke_test.py` ๋ก 11๊ฐ ์๋ฒยท98๊ฐ ๋๊ตฌยท๋ฐํ ํ์
์ ์ธ์ ํ ๋ฒ์ ๊ฒ์ฆํ์ธ์.
์์ธ๋ [gateway/README.md](gateway/README.md) ์ฐธ๊ณ .
---
## ๐ฌ ์ฌ์ฉ ์์
```
์์ธ์ญ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋์? (convenience)
2026๋
4์ KTX ๋ฐ๊ถ์ ํ ๋น์จ์ ์๋ ค์ฃผ์ธ์. (stats)
KTX 101 ์ด์ฐจ์ ์ดํ ๊ณํ์ ์๋ ค์ฃผ์ธ์. (train-ops)
์์ธ์ญ ์ฝ๋๊ฐ ๋ญ๊ฐ์? (codebook)
2024๋
๊ฐ์ ์ฒ ๋ ์์ก์ค์ ์ ์๋ ค์ฃผ์ธ์. (stats)
์ปจํ
์ด๋ ํ๋ฌผ ์ด์ก ์ด๋ ฅ์ ์กฐํํด์ฃผ์ธ์. (freight)
๊ฒฝ๋ถ์ KTX ์ ์ฐจ์ญ๊ณผ ์ญ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ์๋ ค์ฃผ์ธ์. (network)
KTX ์ฐจ๋ ํ๋ณ ์ ์์ ๋ณด์ฌ์ฃผ์ธ์. (rolling-stock)
์ฒ ๋ ๊ณ ๊ฐ์ผํฐ ์๋ด์ ํ ์ฝ๋๋ฅผ ์๋ ค์ฃผ์ธ์. (voc-cs)
์ญ์ฌ ์๋๋งค์ฅ ํํฉ์ ์๋ ค์ฃผ์ธ์. (internal-svc)
'EMU์ฉํ' ์์ฌ๊ทธ๋ฃน์ฝ๋๋ฅผ ๊ฒ์ํด์ฃผ์ธ์. (procurement)
๊ฐ๋จ์ญ(์์ธ๊ตํต๊ณต์ฌ) ์๋ฆฌ๋ฒ ์ดํฐ ์์น๋ฅผ ์๋ ค์ฃผ์ธ์. (urban-rail)
์์ธ์ญ ๋์์ฒ ๋ ์ญ์ฌ๋ค์ ์ด์๊ธฐ๊ด์ ์ฐพ์์ฃผ์ธ์. (urban-rail)
```
---
## ๐ ๋ฐ์ดํฐ ์ถ์ฒ
- ํ๊ตญ์ฒ ๋๊ณต์ฌ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ ([data.go.kr](https://www.data.go.kr))
- ๊ตญ๊ฐ์ฒ ๋๊ณต๋จ(KRIC) ์ฒ ๋์ฐ์
์ ๋ณด์ผํฐ ์คํAPI ([openapi.kric.go.kr](https://openapi.kric.go.kr)) โ ๋์์ฒ ๋ ์ญ์ฌ์ ๋ณด
- REST API(B551457) ยท odcloud ํ์ผ๋ณํ API ยท ๋ก์ปฌ CSV
## โ ๏ธ ์ฃผ์์ฌํญ
- ๋ฐ์ดํฐ ํธ์ถ์ ์ ์ฉ **Cloudflare Workers ํ๋ก์**๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ง์ ๊ฐ์ธ API ํค๊ฐ ํ์ ์์ต๋๋ค.
- ๊ฐ ๋ฐ์ดํฐ์
์ ๊ธฐ์ค์ผยท๊ฐฑ์ ์ฃผ๊ธฐ๋ ๋๊ตฌ ์๋ต์ `_meta` ํญ๋ชฉ์ ํ์๋ฉ๋๋ค.
---
๊ฐ ์๋ฒ์ ์์ธ ๋์์ ํด๋น ํด๋์ `server.py` docstring์ ์ฐธ์กฐํ์ธ์.