MCP server for getting around Korea: English subway routes, fares, holidays. No API key.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add korea-mcp -- npx -y korea-mcp{
"mcpServers": {
"korea-mcp": {
"command": "npx",
"args": ["-y", "korea-mcp"]
}
}
}MCP Servers overview
# korea-mcp 🇰🇷
**English** · [한국어](#한국어)
**Let your AI agent get you around Korea.** Subway routes in English, fares, public holidays and practical tips, as an [MCP](https://modelcontextprotocol.io) 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**
```bash
claude mcp add korea -- npx -y korea-mcp
```
**Claude Desktop, one click.** Download [korea-mcp.mcpb](https://github.com/Leegwangwoon/korea-mcp/releases/latest/download/korea-mcp.mcpb) and open it. Claude Desktop installs it as an extension.
**Claude Desktop (manual), Cursor and other MCP clients.** Add this to your MCP config (`claude_desktop_config.json`, `.cursor/mcp.json`, …):
```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](../../issues) 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](docs/api-keys.md) for how keys will work.
## Development
```bash
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`](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`](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](https://github.com/GyeongHoKim/naeryeo): Korean transit routing CLI and MCP using ODsay
- [seoul-essentials](https://github.com/do-droid/seoul-essentials): public facilities for foreign visitors in Seoul
- [kakao-navigation-mcp-server](https://github.com/CaChiJ/kakao-navigation-mcp-server), [mcp-server-kakao-map](https://github.com/cgoinglove/mcp-server-kakao-map), and the Naver Maps MCP servers
- [awesome-mcp-korea](https://github.com/darjeeling/awesome-mcp-korea): a list of Korean MCP servers
## License
The code is [MIT](LICENSE). The subway data is © OpenStreetMap contributors, under [ODbL 1.0](DATA_LICENSE.md).
---
## 한국어
[English](#korea-mcp-) · **한국어**
**외국인 친구가 AI한테 "명동에서 성수 어떻게 가?"라고 물으면, 제대로 된 답이 나오게 하는 MCP 서버입니다.**
지하철 경로와 요금, 공휴일, 생활 정보를 영어·한국어·일본어·중국어로 알려줍니다. Claude, Cursor, ChatGPT 등 MCP를 지원하는 모든 AI 에이전트에서 쓸 수 있어요.
**API 키 없이, 한국 휴대폰 번호 없이, 오프라인에서 동작합니다.**
### 왜 만들었나
한국에서는 구글 지도로 도보·자동차 길찾기를 할 수 없고, 대중교통 정보도 부정확한 경우가 많습니다. 지도 데이터의 국외 반출 제한 때문이에요. 그래서 한국 사람들은 네이버 지도와 카카오맵을 씁니다.
그런데 AI 에이전트에게는 이게 문제입니다. 네이버와 카카오는 **대중교통 길찾기 API를 외부에 공개하지 않고**, 다른 API도 한국 개발자 계정이 있어야 쓸 수 있어요. 결국 AI가 경로를 지어내게 됩니다.
`korea-mcp`는 **공개 데이터를 패키지에 내장해서** 이 문제를 해결합니다.
- 수도권(서울·인천·경기) 25개 노선, 660개 역과 4개 국어 역명
- 환승, 탈 승강장 방향, 예상 소요 시간을 알려주는 경로 탐색
- 공식 거리비례 요금 계산
- 대체공휴일까지 포함한 한국 공휴일
- 티머니, 공항 이동, 긴급전화, 한국에서 쓸 만한 앱 안내
### 설치
**Claude Code**
```bash
claude mcp add korea -- npx -y korea-mcp
```
**Claude Desktop 원클릭 설치.** [korea-mcp.mcpb](https://github.com/Leegwangwoon/korea-mcp/releases/latest/download/korea-mcp.mcpb)를 내려받아 열면 Claude Desktop에 확장 프로그램으로 설치됩니다.
**Claude Desktop(직접 설정), Cursor 등.** MCP 설정 파일에 아래 내용을 추가하세요.
```json
{
"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` 옵션을 켜세요.
틀린 경로를 발견하면 출발역과 도착역을 적어서 [이슈](../../issues)로 알려주세요. 가장 도움이 되는 제보입니다.
### 로드맵
아래 기능은 무료 API 키가 있으면 쓸 수 있는 **선택 기능**으로 추가할 예정입니다. 키가 없어도 기존 기능은 그대로 동작해요.
- [ ] 실시간 지하철 도착 정보 (서울 열린데이터광장)
- [ ] 장소 검색 ("성수 근처 카페", "지금 문 연 약국"), 카카오 로컬 API 사용
- [ ] 버스를 포함한 출발지→도착지 경로 (ODsay)
- [ ] 설치 없이 쓰는 원격 서버
- [ ] 부산·대구·대전·광주 도시철도
- [ ] 장기 체류자용 가이드: 외국인등록증, 은행 계좌, 휴대폰 개통, 건강보험
키 사용 방식은 [docs/api-keys.md](docs/api-keys.md)를 참고하세요.
### 개발
```bash
npm install
npm test # 경로·요금·공휴일 테스트
npm run dev # tsx로 서버 실행
npm run data:subway # OpenStreetMap에서 data/subway.json 다시 생성
```
이슈와 PR은 한국어로 남기셔도 됩니다. 영어 역명 오류, 빠진 노선, 가이드 내용 보완 같은 기여를 특히 환영해요.
### 참고 프로젝트
이 분야를 먼저 다룬 프로젝트들입니다. 위의 [Credits](#credits--related-projects) 목록을 참고하세요.
### 라이선스
코드는 [MIT](LICENSE), 지하철 데이터는 © OpenStreetMap contributors이며 [ODbL 1.0](DATA_LICENSE.md)을 따릅니다.
What people ask about korea-mcp
What is Leegwangwoon/korea-mcp?
+
Leegwangwoon/korea-mcp is mcp servers for the Claude AI ecosystem. MCP server for getting around Korea: English subway routes, fares, holidays. No API key. It has 0 GitHub stars and its last recorded update is dated 2026-10-14.
How do I install korea-mcp?
+
You can install korea-mcp by cloning the repository (https://github.com/Leegwangwoon/korea-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is Leegwangwoon/korea-mcp safe to use?
+
Our security agent has analyzed Leegwangwoon/korea-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains Leegwangwoon/korea-mcp?
+
Leegwangwoon/korea-mcp is maintained by Leegwangwoon. The last recorded GitHub activity is dated 2026-10-14, with 0 open issues.
Are there alternatives to korea-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy korea-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/leegwangwoon-korea-mcp)<a href="https://claudewave.com/repo/leegwangwoon-korea-mcp"><img src="https://claudewave.com/api/badge/leegwangwoon-korea-mcp" alt="Featured on ClaudeWave: Leegwangwoon/korea-mcp" width="320" height="64" /></a>More MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev