Korea MCP
Get around Korea: subway routes in English, fares, public holidays and guides. No API key.
- 01Stars
- 0
- 02Version
- 0.1.0
- 03License
- MIT
- 04Review
- Passed
- Language
- TypeScript
- Last commit
- 2h ago
- Forks
- 0
- Open issues
- 0
- Registry update
- Oct 14, 2026
Connect
npm$claude mcp add korea-mcp \ -- npx -y [email protected]
Environment variables
Nothing to configure — it works as is.
Security review
Review passedReviewed 1h ago.
- metadata
- scanned
- packages
- 1 checked
No findings.
Tools
This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.
korea-mcp 🇰🇷
English · 한국어
Let your AI agent get you around Korea. Subway routes in English, fares, public holidays and practical tips, as an MCP server for Claude, Cursor, ChatGPT and any MCP client.
No API key. No Korean phone number. Works offline.

You: How do I get from Myeongdong to Seongsu by subway?
Agent: Take Line 4 from Myeongdong (명동) on the platform whose next stop is
Chungmuro (충무로). Ride 2 stops to Dongdaemun History & Culture Park.
Transfer to Line 2 towards Sindang (신당) and ride 6 stops to Seongsu (성수).
About 22 minutes, ₩1,550 with a T-money card.
Why Google Maps fails in Korea
If you have visited Korea, you know: Google Maps can't give you walking or driving directions here, and its transit results are often incomplete. Korea restricts exporting map data, so locals use Naver Map and KakaoMap instead.
That's fine for people, but bad for AI agents. Naver and Kakao don't offer a public transit-routing API, and their other APIs need a Korean developer account. So when you ask an AI "how do I get to Seongsu?", it guesses.
korea-mcp fixes the basics with open data bundled in the package:
- 660 stations on 25 lines across Seoul, Incheon and Gyeonggi, with names in English, Korean, Japanese and Chinese
- a route planner that knows transfers, platform direction and estimated time
- the official distance-based fare formula
- Korean public holidays, including substitute holidays
- short, practical guides on T-money, airport transfers, emergency numbers and the apps that work
Install
Claude Code
claude mcp add korea -- npx -y korea-mcp
Claude Desktop, Cursor and other MCP clients. Add this to your MCP config (claude_desktop_config.json, .cursor/mcp.json, …):
{
"mcpServers": {
"korea": {
"command": "npx",
"args": ["-y", "korea-mcp"]
}
}
}
Requires Node.js 20+.
Tools
| Tool | What it does |
|---|---|
subway_route | Route between two stations: lines, transfers, the platform to use, stops, minutes and fare. Accepts English, 한국어, 日本語, 中文 and landmarks ("Hongdae", "COEX", "Incheon Airport T1"). Tolerates typos. |
subway_station | Look up and translate a station name. Returns every language, the lines that serve it and coordinates. |
korea_holidays | Public holidays in a date range, or "is this date a holiday?". Includes substitute holidays and the 2026 additions (Labour Day, Constitution Day). |
korea_guide | Practical guides: transit-card, airport, emergency, apps. |
Things to ask
- "I land at Incheon T2 at 9pm. How do I get to my hotel near Hongdae?"
- "What's the fastest way from Gangnam to Gyeongbokgung, and how much is it?"
- "Is anything closed in Korea the week of September 24, 2026?"
- "How do I top up a T-money card?"
- "What does 을지로입구 mean in English, and which lines stop there?"
Accuracy
Here is what this server knows, and what it only estimates:
- Station order and transfers come from OpenStreetMap and are reliable.
- Ride times are estimates. They're based on distance, line speed and about 7 minutes per transfer, calibrated against published journey times. There is no live timetable.
- Fares use the official integrated distance formula for adults (₩1,550 base with a card, effective 2025-06-28). Lines with their own surcharges (Shinbundang, AREX, GTX-A) are flagged in the response, not added to the total.
- Express trains are off by default because express stopping patterns in OSM are incomplete. Turn them on with
allow_express.
Found a wrong route? Open an issue with the two stations. That's the most useful bug report there is.
Roadmap
These are planned optional extras that need free API keys. Everything above keeps working without them.
- Real-time train arrivals (Seoul Open Data)
- Place search ("cafés near Seongsu", "pharmacy open now") via the Kakao Local API
- Bus and door-to-door routing via ODsay
- A hosted remote server, so there is nothing to install
- Busan, Daegu, Daejeon and Gwangju metros
- Guides for longer stays: ARC, bank accounts, phone plans, health insurance
See docs/api-keys.md for how keys will work.
Development
npm install
npm test # route, fare and holiday tests
npm run dev # run the server with tsx
npm run data:subway # rebuild data/subway.json from OpenStreetMap
The subway dataset is generated by scripts/build-subway.mjs from OpenStreetMap route relations. Line definitions and name overrides are in that script. The speed model is in src/subway/route.ts.
Contributions in any language are welcome. Issues and PRs in Korean are fine too.
Credits & related projects
These projects explored parts of this space first. Go give them a star:
- naeryeo: Korean transit routing CLI and MCP using ODsay
- seoul-essentials: public facilities for foreign visitors in Seoul
- kakao-navigation-mcp-server, mcp-server-kakao-map, and the Naver Maps MCP servers
- awesome-mcp-korea: a list of Korean MCP servers
License
The code is MIT. The subway data is © OpenStreetMap contributors, under ODbL 1.0.
한국어
English · 한국어
외국인 친구가 AI한테 "명동에서 성수 어떻게 가?"라고 물으면, 제대로 된 답이 나오게 하는 MCP 서버입니다.
지하철 경로와 요금, 공휴일, 생활 정보를 영어·한국어·일본어·중국어로 알려줍니다. Claude, Cursor, ChatGPT 등 MCP를 지원하는 모든 AI 에이전트에서 쓸 수 있어요.
API 키 없이, 한국 휴대폰 번호 없이, 오프라인에서 동작합니다.
왜 만들었나
한국에서는 구글 지도로 도보·자동차 길찾기를 할 수 없고, 대중교통 정보도 부정확한 경우가 많습니다. 지도 데이터의 국외 반출 제한 때문이에요. 그래서 한국 사람들은 네이버 지도와 카카오맵을 씁니다.
그런데 AI 에이전트에게는 이게 문제입니다. 네이버와 카카오는 대중교통 길찾기 API를 외부에 공개하지 않고, 다른 API도 한국 개발자 계정이 있어야 쓸 수 있어요. 결국 AI가 경로를 지어내게 됩니다.
korea-mcp는 공개 데이터를 패키지에 내장해서 이 문제를 해결합니다.
- 수도권(서울·인천·경기) 25개 노선, 660개 역과 4개 국어 역명
- 환승, 탈 승강장 방향, 예상 소요 시간을 알려주는 경로 탐색
- 공식 거리비례 요금 계산
- 대체공휴일까지 포함한 한국 공휴일
- 티머니, 공항 이동, 긴급전화, 한국에서 쓸 만한 앱 안내
설치
Claude Code
claude mcp add korea -- npx -y korea-mcp
Claude Desktop, Cursor 등. MCP 설정 파일에 아래 내용을 추가하세요.
{
"mcpServers": {
"korea": {
"command": "npx",
"args": ["-y", "korea-mcp"]
}
}
}
Node.js 20 이상이 필요합니다.
도구
| 도구 | 기능 |
|---|---|
subway_route | 두 역 사이 경로: 노선, 환승역, 탈 승강장, 정거장 수, 예상 시간, 요금. 영어·한국어·일본어·중국어 역명과 랜드마크("Hongdae", "COEX")를 알아듣고, 오타도 처리합니다. |
subway_station | 역 검색과 역명 번역. 언어별 이름, 지나는 노선, 좌표를 알려줍니다. |
korea_holidays | 기간 내 공휴일 조회, 특정 날짜가 공휴일인지 확인. 대체공휴일과 2026년에 새로 생긴 노동절·제헌절도 포함합니다. |
korea_guide | 생활 가이드: transit-card(교통카드), airport(공항), emergency(긴급전화), apps(앱) |
정확도
- 역 순서와 환승 정보는 OpenStreetMap 기반이라 신뢰할 수 있습니다.
- 소요 시간은 추정치입니다. 역 간 거리, 노선별 속도, 환승 약 7분으로 계산하고 공개된 소요 시간에 맞춰 보정했어요. 실시간 시간표는 아닙니다.
- 요금은 2025년 6월 28일부터 적용된 수도권 통합 거리비례제(교통카드 성인 기본 1,550원)를 따릅니다. 신분당선, 공항철도, GTX-A처럼 별도 요금이 붙는 노선은 응답에 안내만 하고 합계에는 넣지 않습니다.
- 급행은 기본으로 꺼져 있습니다. OSM의 급행 정차 정보가 불완전하기 때문이에요. 쓰려면
allow_express옵션을 켜세요.
틀린 경로를 발견하면 출발역과 도착역을 적어서 이슈로 알려주세요. 가장 도움이 되는 제보입니다.
로드맵
아래 기능은 무료 API 키가 있으면 쓸 수 있는 선택 기능으로 추가할 예정입니다. 키가 없어도 기존 기능은 그대로 동작해요.
- 실시간 지하철 도착 정보 (서울 열린데이터광장)
- 장소 검색 ("성수 근처 카페", "지금 문 연 약국"), 카카오 로컬 API 사용
- 버스를 포함한 출발지→도착지 경로 (ODsay)
- 설치 없이 쓰는 원격 서버
- 부산·대구·대전·광주 도시철도
- 장기 체류자용 가이드: 외국인등록증, 은행 계좌, 휴대폰 개통, 건강보험
키 사용 방식은 docs/api-keys.md를 참고하세요.
개발
npm install
npm test # 경로·요금·공휴일 테스트
npm run dev # tsx로 서버 실행
npm run data:subway # OpenStreetMap에서 data/subway.json 다시 생성
이슈와 PR은 한국어로 남기셔도 됩니다. 영어 역명 오류, 빠진 노선, 가이드 내용 보완 같은 기여를 특히 환영해요.
참고 프로젝트
이 분야를 먼저 다룬 프로젝트들입니다. 위의 Credits 목록을 참고하세요.
라이선스
코드는 MIT, 지하철 데이터는 © OpenStreetMap contributors이며 ODbL 1.0을 따릅니다.
From the server's repository — third-party content, read it before running anything it suggests.
More in Travel & maps
Agent Account Index
io.github.mycelium-being
Can an AI agent hold an account at a service? Verdict, owner of record, quoted terms clause.
Uruguay: datos públicos
io.github.manusabbath-arch
Uruguayan public data from primary sources: BCU rates, CPI, fuel, weather, IDE.uy geocoding, RUT.
Lemma Park
com.lemmapark
Read-only: the open math problems Lemma Park's agents work on, every attempt, and how to join.
Socials Homes
homes.socials
Find a rental home in a new city: supported cities, plans, live listing counts and a signup link.
unicum.gg
gg.unicum
World of Tanks stats for players, clans and tanks across EU, NA, and Asia.
Parclick
com.parclick
Find parkings across Europe, get firm prices and ready-to-pay booking links.
Listing from the official MCP Registry · repository facts from GitHub, 1h ago.