
Korail Mcp
io.github.lovelyqualityPublished by GitHub account lovelyqualityv1.0.1Updated Oct 25, 2026
한국철도공사(KORAIL) 공공데이터 MCP 서버 — 98개 도구, API 키 신청 불필요. 역·열차·화물·통계 데이터 자연어 조회.
Overview
A local MCP server that lets an assistant look up Korean railway (KORAIL) public data in natural language: stations, trains, freight, rolling stock and ridemost
- What you can do
- Look up station facilities, accessibility, elevators, transfers and coordinates, plus nationwide urban-rail station details, exits, safety and surroundings from the national rail authority data set. Query passenger and freight transport statistics, ticketing types, KTX long-term figures and train operation plans and histories. Search station, route, freight and material codes, and decode codes back to names. Retrieve freight, container, logistics facility and hazardous cargo records, plus route distances, fares and track specifications. Check rolling-stock holdings, type specifications and maintenance equipment, and KORAIL customer-service, disclosure, leasing, social-contribution and HR/pro
- When to use it
- Useful when you want an assistant to answer questions about Korean rail travel and operations from official public data, such as whether a station has elevators, what a train's schedule is, or how many passengers a line carried. Best suited to Korean-language research, accessibility planning and rail statistics rather than booking tickets.
- Requirements
- Runs locally as a Python package installed with uv (about 100 MB of disk, including the managed Python). No API key is needed because calls go through the project's proxy. Connect it to a local MCP client such as Claude Desktop, Claude Code, Cursor, Antigravity or GitHub Copilot; the Copilot CLI route additionally needs Node.js 22 or later. Web-only assistants such as ChatGPT or Grok cannot use it without exposing a remote endpoint.
Installation
In SourceWeft
- Open Korail Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🇰🇷 한국어 · 🇬🇧 English
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를 쓰고 있다면, 그 채팅창에 아래 문장을 그대로 붙여넣으세요.
AI가 README를 직접 읽고 uv 설치 → korail-mcp 설치 → 클라이언트 설정 파일 등록까지 알아서 처리합니다. 완료되면 "서울역에 엘리베이터가 있나요?" 같은 질문으로 확인해보세요.
⚠️ ChatGPT·Grok처럼 로컬 명령을 실행하지 못하는 AI에서는 이 방법이 통하지 않습니다(왜인지는 하단 "그 밖의 방식" 참고). 그리고 AI가 중간에 막히거나, 애초에 이런 방식의 AI 도구가 없다면 → 바로 아래 "수동 설치"를 그대로 따라 하시면 됩니다.
⚙️ 수동 설치 (Windows · 2단계)
Python을 따로 설치하거나 저장소를 다운로드할 필요가 없습니다. uv가 필요한 것을 알아서 준비합니다.
1단계 — uv 설치 (최초 1회)
PowerShell을 열고 아래를 붙여넣습니다. 관리자 권한이 필요 없습니다.
설치 후 PowerShell을 새로 열고 uv --version이 출력되면 성공입니다.
2단계 — KORAIL MCP 설치 (최초 1회)
마지막에 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 안에 넣고, <사용자명> 부분만 본인 윈도우 계정명으로 바꿉니다.
💡 계정명을 모르면 PowerShell에
echo $env:USERNAME을 입력하세요. 경로의 역슬래시는 JSON 규칙상 두 개(\\) 로 씁니다.⚠️ 이미 다른 MCP 서버를 쓰고 있다면
korail-mcp항목만 기존mcpServers안에 추가하세요(전체를 덮어쓰면 기존 서버가 사라집니다).
설정 파일 위치
Claude Desktop — 폴더가 없을 때
- 탐색기 주소창에
%APPDATA%입력 → Enter Claude폴더가 없으면 직접 만드세요- 그 안에
claude_desktop_config.json파일을 만들고 위 JSON을 넣으세요
AppData가 안 보이면 탐색기 → 보기 → 숨긴 항목을 체크하세요.
Claude Code — 실제 계정으로 도구 호출까지 실측 완료
터미널에서 쓰는 Claude Code CLI(claude, VS Code나 Claude Desktop 없이도 동작)로 실제 계정 붙여서 검증했습니다.
✅ 2026-08-24 실측 결과 — 위 명령을 실제로 실행해서 실데이터 답변까지 확인했습니다:
claude mcp list로 등록 확인,claude mcp remove korail-mcp로 제거할 수 있습니다. 대화형으로 쓸 때는--allowedTools없이 실행하면 첫 도구 호출 시 승인 여부를 물어봅니다.
Cursor / Antigravity — 파일이나 폴더가 없을 때
.cursor 또는 .gemini\antigravity 폴더나 그 안의 설정 파일이 없다면 직접 만들면 됩니다.
- 탐색기 주소창에
%USERPROFILE%입력 → Enter (본인 계정 폴더로 이동) - 없는 폴더(
.cursor또는.gemini\antigravity)를 새로 만드세요 - 그 안에
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에서 LTS 버전을 설치하세요(uv와 달리 자동으로 준비되지 않습니다).
✅ 2026-08-24 실측 결과 — 위 명령을 실제로 실행해서 GitHub Copilot이
get_urban_accessibility도구를 스스로 호출하고 실데이터로 답변하는 것까지 확인했습니다:설정 파일은
~/.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을 그대로 쓸 수 없습니다.
- 저장소(작업 폴더) 루트에
.vscode\mcp.json파일을 만들고 아래 내용을 넣습니다. (모든 작업 폴더에서 쓰려면 명령 팔레트(Ctrl+Shift+P) → MCP: Open User Configuration 으로 열리는%APPDATA%\Code\User\mcp.json에 넣으세요.)
- 파일을 저장하면 상단에 나타나는 Start 버튼을 클릭합니다.
- Copilot Chat을 열고 Agent 모드를 선택 → 도구 아이콘에서
korail-mcp98개 도구가 보이면 연결 완료입니다.
⚠️ 위 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개 도구를 쓸 수 있습니다.
💬 설치 확인 — 이렇게 물어보세요
정상 응답이 오면 설치 완료입니다. 더 많은 사용 예시는 문서 하단의 "사용 예시" 섹션을 참고하세요.
📦 제공 서버 (총 11개 · 98개 도구)
서버별 도구 상세 (클릭하여 펼치기)
m-convenience · 6개 도구 — 역사 편의시설
m-stats · 15개 도구 — 여객·화물 수송통계
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개 도구 — 조달·자재
m-urban-rail · 16개 도구 — 전국 도시철도 역사·노선·차량 정보 (국가철도공단)
수도권 1~9호선·신분당·공항철도, 부산·대구·대전·광주·인천, 경전철·GTX 등 전국 22개 운영기관 1,108개 역. 운영기관·선·역코드가 필요하므로 먼저
search_urban_station으로 역을 특정하세요. 환승역 등 동일 역명은operator(운영기관)로 구분합니다.
🧩 그 밖의 방식
ChatGPT · Grok — 원격 연결이 필요합니다
ChatGPT와 Grok은 로컬 MCP 서버를 지원하지 않습니다. 공개 HTTPS 엔드포인트만 커넥터로 추가할 수 있어, 위 방법으로는 연결되지 않습니다.
게이트웨이에 원격(Streamable HTTP) 모드가 내장되어 있어 공개 주소로 노출하면 연결이 가능합니다. 다만 서버 운영과 공개 범위 문제가 따르므로 상세는 gateway/README.md를 참고하세요.
uvx 로 설치 없이 실행 — 권장하지 않습니다
설치 과정 없이 uvx 로 바로 실행할 수도 있습니다.
계정명을 넣지 않아도 되는 장점이 있으나, 실행할 때마다 GitHub에 최신 커밋이 있는지 확인하기 때문에 클라이언트를 켤 때마다 기동이 느립니다.
기동이 느리면 클라이언트가 서버를 기다리다 놓쳐 도구가 나타나지 않을 수 있습니다.
개발자용 — 저장소를 직접 받아서 실행
서버 코드를 수정하려면 저장소를 clone 해서 실행합니다.
의존성은 gateway/server.py 상단에 선언되어 있어 uv가 자동으로 준비합니다. 변경 후에는
python docker-test/smoke_test.py 로 11개 서버·98개 도구·반환 타입 선언을 한 번에 검증하세요.
상세는 gateway/README.md 참고.
💬 사용 예시
📚 데이터 출처
- 한국철도공사 공공데이터포털 (data.go.kr)
- 국가철도공단(KRIC) 철도산업정보센터 오픈API (openapi.kric.go.kr) — 도시철도 역사정보
- REST API(B551457) · odcloud 파일변환 API · 로컬 CSV
⚠️ 주의사항
- 데이터 호출은 전용 Cloudflare Workers 프록시를 경유하므로 직원 개인 API 키가 필요 없습니다.
- 각 데이터셋의 기준일·갱신주기는 도구 응답의
_meta항목에 표시됩니다.
각 서버의 상세 동작은 해당 폴더의 server.py docstring을 참조하세요.
Source: README.md at commit c19a397
Tools
0Version history
1- v1.0.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts