1.3kโ
by dukbong
seoul-metro โ OpenClaw Skill
seoul-metro is an OpenClaw Skills integration for coding workflows. Seoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English)
Skill Snapshot
| name | seoul-metro |
| description | Seoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English) OpenClaw Skills integration. |
| owner | dukbong |
| repository | dukbong/seoul-metro |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @dukbong/seoul-metro |
| last updated | Feb 7, 2026 |
Maintainer

name: seoul-metro description: Seoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English) metadata: {"moltbot":{"emoji":"๐","requires":{"bins":["curl","jq"],"env":["SEOUL_OPENAPI_KEY","DATA_GO_KR_KEY"]},"primaryEnv":"SEOUL_OPENAPI_KEY"}} homepage: https://github.com/dukbong/seoul-metro user-invocable: true
Seoul Metro Skill
Query real-time Seoul Metro information.
Features
| Feature | Description | Trigger Example (KO) | Trigger Example (EN) |
|---|---|---|---|
| Real-time Arrival | Train arrival times by station | "๊ฐ๋จ์ญ ๋์ฐฉ์ ๋ณด" | "Gangnam station arrivals" |
| Station Search | Line and station code lookup | "๊ฐ๋จ์ญ ๋ชํธ์ ?" | "What line is Gangnam?" |
| Route Search | Shortest path with time/fare | "์ ๋๋ฆผ์์ ์์ธ์ญ" | "Sindorim to Seoul Station" |
| Service Alerts | Delays, incidents, non-stops | "์งํ์ฒ ์ง์ฐ ์์ด?" | "Any subway delays?" |
Environment Variables
| Variable | Usage | Provider |
|---|---|---|
SEOUL_OPENAPI_KEY | Arrival info, station search | data.seoul.go.kr |
DATA_GO_KR_KEY | Route search, alerts | data.go.kr |
How to get API keys:
- SEOUL_OPENAPI_KEY: Sign up at data.seoul.go.kr, go to "My Page" > "API Key Management"
- DATA_GO_KR_KEY: Sign up at data.go.kr, search for the API service, and request access
API Reference
1. Real-time Arrival Info
Endpoint
http://swopenAPI.seoul.go.kr/api/subway/{KEY}/json/realtimeStationArrival/{start}/{end}/{station}
Response Fields
| Field | Description |
|---|---|
subwayId | Line ID (1002=Line 2, 1077=Sinbundang) |
trainLineNm | Direction (e.g., "์ฑ์ํ - ์ญ์ผ๋ฐฉ๋ฉด") |
arvlMsg2 | Arrival time (e.g., "4๋ถ 20์ด ํ") |
arvlMsg3 | Current location |
btrainSttus | Train type (์ผ๋ฐ/๊ธํ) |
lstcarAt | Last train (0=No, 1=Yes) |
2. Station Search
Endpoint
http://openapi.seoul.go.kr:8088/{KEY}/json/SearchInfoBySubwayNameService/{start}/{end}/{station}
Response Fields
| Field | Description |
|---|---|
STATION_CD | Station code |
STATION_NM | Station name |
LINE_NUM | Line name (e.g., "02ํธ์ ") |
FR_CODE | External station code |
3. Route Search
Endpoint
https://apis.data.go.kr/B553766/path/getShtrmPath
Parameters
| Parameter | Required | Description |
|---|---|---|
serviceKey | Yes | DATA_GO_KR_KEY |
dptreStnNm | Yes | Departure station |
arvlStnNm | Yes | Arrival station |
searchDt | Yes | Datetime (yyyy-MM-dd HH:mm:ss) |
dataType | Yes | JSON |
searchType | No | duration / distance / transfer |
Response Fields
| Field | Description |
|---|---|
totalDstc | Total distance (m) |
totalreqHr | Total time (seconds) |
totalCardCrg | Fare (KRW) |
paths[].trainno | Train number |
paths[].trainDptreTm | Departure time |
paths[].trainArvlTm | Arrival time |
paths[].trsitYn | Transfer flag |
4. Service Alerts
Endpoint
https://apis.data.go.kr/B553766/ntce/getNtceList
Parameters
| Parameter | Required | Description |
|---|---|---|
serviceKey | Yes | DATA_GO_KR_KEY |
dataType | Yes | JSON |
pageNo | No | Page number |
numOfRows | No | Results per page |
lineNm | No | Filter by line |
Response Fields
| Field | Description |
|---|---|
noftTtl | Alert title |
noftCn | Alert content |
noftOcrnDt | Timestamp |
lineNmLst | Affected line(s) |
nonstopYn | Non-stop flag |
xcseSitnBgngDt | Incident start |
xcseSitnEndDt | Incident end |
Line ID Mapping
| Line | ID | Line | ID |
|---|---|---|---|
| Line 1 | 1001 | Line 6 | 1006 |
| Line 2 | 1002 | Line 7 | 1007 |
| Line 3 | 1003 | Line 8 | 1008 |
| Line 4 | 1004 | Line 9 | 1009 |
| Line 5 | 1005 | Sinbundang | 1077 |
| Gyeongui-Jungang | 1063 | Gyeongchun | 1067 |
| Airport Railroad | 1065 | Suin-Bundang | 1075 |
Station Name Mapping (English โ Korean)
์ฃผ์ ์ญ ์ด๋ฆ์ ์์ด-ํ๊ธ ๋งคํ ํ ์ด๋ธ์ ๋๋ค. API ํธ์ถ ์ ์์ด ์ ๋ ฅ์ ํ๊ธ๋ก ๋ณํํด์ผ ํฉ๋๋ค.
Line 1 (1ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Seoul Station | ์์ธ์ญ | City Hall | ์์ฒญ |
| Jonggak | ์ข ๊ฐ | Jongno 3-ga | ์ข ๋ก3๊ฐ |
| Jongno 5-ga | ์ข ๋ก5๊ฐ | Dongdaemun | ๋๋๋ฌธ |
| Cheongnyangni | ์ฒญ๋๋ฆฌ | Yongsan | ์ฉ์ฐ |
| Noryangjin | ๋ ธ๋์ง | Yeongdeungpo | ์๋ฑํฌ |
| Guro | ๊ตฌ๋ก | Incheon | ์ธ์ฒ |
| Bupyeong | ๋ถํ | Suwon | ์์ |
Line 2 (2ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Gangnam | ๊ฐ๋จ | Yeoksam | ์ญ์ผ |
| Samseong | ์ผ์ฑ | Jamsil | ์ ์ค |
| Sindorim | ์ ๋๋ฆผ | Hongdae (Hongik Univ.) | ํ๋์ ๊ตฌ |
| Hapjeong | ํฉ์ | Dangsan | ๋น์ฐ |
| Yeouido | ์ฌ์๋ | Konkuk Univ. | ๊ฑด๋์ ๊ตฌ |
| Seolleung | ์ ๋ฆ | Samsung | ์ผ์ฑ |
| Sports Complex | ์ข ํฉ์ด๋์ฅ | Gangbyeon | ๊ฐ๋ณ |
| Ttukseom | ๋์ฌ | Seongsu | ์ฑ์ |
| Wangsimni | ์์ญ๋ฆฌ | Euljiro 3-ga | ์์ง๋ก3๊ฐ |
| Euljiro 1-ga | ์์ง๋ก์ ๊ตฌ | City Hall | ์์ฒญ |
| Chungjeongno | ์ถฉ์ ๋ก | Ewha Womans Univ. | ์ด๋ |
| Sinchon | ์ ์ด | Sadang | ์ฌ๋น |
| Nakseongdae | ๋์ฑ๋ | Seoul Nat'l Univ. | ์์ธ๋์ ๊ตฌ |
| Guro Digital Complex | ๊ตฌ๋ก๋์งํธ๋จ์ง | Mullae | ๋ฌธ๋ |
Line 3 (3ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Gyeongbokgung | ๊ฒฝ๋ณต๊ถ | Anguk | ์๊ตญ |
| Jongno 3-ga | ์ข ๋ก3๊ฐ | Chungmuro | ์ถฉ๋ฌด๋ก |
| Dongguk Univ. | ๋๋์ ๊ตฌ | Yaksu | ์ฝ์ |
| Apgujeong | ์๊ตฌ์ | Sinsa | ์ ์ฌ |
| Express Bus Terminal | ๊ณ ์ํฐ๋ฏธ๋ | Gyodae | ๊ต๋ |
| Nambu Bus Terminal | ๋จ๋ถํฐ๋ฏธ๋ | Yangjae | ์์ฌ |
| Daehwa | ๋ํ | Juyeop | ์ฃผ์ฝ |
Line 4 (4ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Myeongdong | ๋ช ๋ | Hoehyeon | ํํ |
| Seoul Station | ์์ธ์ญ | Sookmyung Women's Univ. | ์๋์ ๊ตฌ |
| Dongdaemun History & Culture Park | ๋๋๋ฌธ์ญ์ฌ๋ฌธํ๊ณต์ | Hyehwa | ํํ |
| Hansung Univ. | ํ์ฑ๋์ ๊ตฌ | Mia | ๋ฏธ์ |
| Mia Sageori | ๋ฏธ์์ฌ๊ฑฐ๋ฆฌ | Gireum | ๊ธธ์ |
| Chongshin Univ. | ์ด์ ๋์ ๊ตฌ | Sadang | ์ฌ๋น |
Line 5 (5ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Gwanghwamun | ๊ดํ๋ฌธ | Jongno 3-ga | ์ข ๋ก3๊ฐ |
| Dongdaemun History & Culture Park | ๋๋๋ฌธ์ญ์ฌ๋ฌธํ๊ณต์ | Cheonggu | ์ฒญ๊ตฌ |
| Wangsimni | ์์ญ๋ฆฌ | Haengdang | ํ๋น |
| Yeouido | ์ฌ์๋ | Yeouinaru | ์ฌ์๋๋ฃจ |
| Mapo | ๋งํฌ | Gongdeok | ๊ณต๋ |
| Gimpo Airport | ๊นํฌ๊ณตํญ | Banghwa | ๋ฐฉํ |
Line 6 (6ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Itaewon | ์ดํ์ | Samgakji | ์ผ๊ฐ์ง |
| Noksapyeong | ๋ น์ฌํ | Hangang | ํ๊ฐ์ง |
| Sangsu | ์์ | Hapjeong | ํฉ์ |
| World Cup Stadium | ์๋์ปต๊ฒฝ๊ธฐ์ฅ | Digital Media City | ๋์งํธ๋ฏธ๋์ด์ํฐ |
Line 7 (7ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Gangnam-gu Office | ๊ฐ๋จ๊ตฌ์ฒญ | Cheongdam | ์ฒญ๋ด |
| Konkuk Univ. | ๊ฑด๋์ ๊ตฌ | Children's Grand Park | ์ด๋ฆฐ์ด๋๊ณต์ |
| Junggok | ์ค๊ณก | Ttukseom Resort | ๋์ฌ์ ์์ง |
| Express Bus Terminal | ๊ณ ์ํฐ๋ฏธ๋ | Nonhyeon | ๋ ผํ |
| Hakdong | ํ๋ | Bogwang | ๋ณด๊ด |
| Jangam | ์ฅ์ | Dobongsan | ๋๋ด์ฐ |
Line 8 (8ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Jamsil | ์ ์ค | Mongchontoseong | ๋ชฝ์ดํ ์ฑ |
| Gangdong-gu Office | ๊ฐ๋๊ตฌ์ฒญ | Cheonho | ์ฒํธ |
| Bokjeong | ๋ณต์ | Sanseong | ์ฐ์ฑ |
| Moran | ๋ชจ๋ | Amsa | ์์ฌ |
Line 9 (9ํธ์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Sinnonhyeon | ์ ๋ ผํ | Express Bus Terminal | ๊ณ ์ํฐ๋ฏธ๋ |
| Dongjak | ๋์ | Noryangjin | ๋ ธ๋์ง |
| Yeouido | ์ฌ์๋ | National Assembly | ๊ตญํ์์ฌ๋น |
| Dangsan | ๋น์ฐ | Yeomchang | ์ผ์ฐฝ |
| Gimpo Airport | ๊นํฌ๊ณตํญ | Gaehwa | ๊ฐํ |
| Olympic Park | ์ฌ๋ฆผํฝ๊ณต์ | Sports Complex | ์ข ํฉ์ด๋์ฅ |
Sinbundang Line (์ ๋ถ๋น์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Gangnam | ๊ฐ๋จ | Sinsa | ์ ์ฌ |
| Yangjae | ์์ฌ | Yangjae Citizen's Forest | ์์ฌ์๋ฏผ์์ฒ |
| Pangyo | ํ๊ต | Jeongja | ์ ์ |
| Dongcheon | ๋์ฒ | Suji District Office | ์์ง๊ตฌ์ฒญ |
| Gwanggyo | ๊ด๊ต | Gwanggyo Jungang | ๊ด๊ต์ค์ |
Gyeongui-Jungang Line (๊ฒฝ์์ค์์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Seoul Station | ์์ธ์ญ | Hongdae (Hongik Univ.) | ํ๋์ ๊ตฌ |
| Gongdeok | ๊ณต๋ | Hyochang Park | ํจ์ฐฝ๊ณต์์ |
| Yongsan | ์ฉ์ฐ | Oksu | ์ฅ์ |
| Wangsimni | ์์ญ๋ฆฌ | Cheongnyangni | ์ฒญ๋๋ฆฌ |
| DMC | ๋์งํธ๋ฏธ๋์ด์ํฐ | Susaek | ์์ |
| Ilsan | ์ผ์ฐ | Paju | ํ์ฃผ |
Airport Railroad (๊ณตํญ์ฒ ๋)
| English | Korean | English | Korean |
|---|---|---|---|
| Seoul Station | ์์ธ์ญ | Gongdeok | ๊ณต๋ |
| Hongdae (Hongik Univ.) | ํ๋์ ๊ตฌ | Digital Media City | ๋์งํธ๋ฏธ๋์ด์ํฐ |
| Gimpo Airport | ๊นํฌ๊ณตํญ | Incheon Airport T1 | ์ธ์ฒ๊ณตํญ1ํฐ๋ฏธ๋ |
| Incheon Airport T2 | ์ธ์ฒ๊ณตํญ2ํฐ๋ฏธ๋ | Cheongna Int'l City | ์ฒญ๋ผ๊ตญ์ ๋์ |
Suin-Bundang Line (์์ธ๋ถ๋น์ )
| English | Korean | English | Korean |
|---|---|---|---|
| Wangsimni | ์์ญ๋ฆฌ | Seolleung | ์ ๋ฆ |
| Gangnam-gu Office | ๊ฐ๋จ๊ตฌ์ฒญ | Seonjeongneung | ์ ์ ๋ฆ |
| Jeongja | ์ ์ | Migeum | ๋ฏธ๊ธ |
| Ori | ์ค๋ฆฌ | Jukjeon | ์ฃฝ์ |
| Suwon | ์์ | Incheon | ์ธ์ฒ |
Usage Examples
Real-time Arrival
curl "http://swopenAPI.seoul.go.kr/api/subway/${SEOUL_OPENAPI_KEY}/json/realtimeStationArrival/0/10/๊ฐ๋จ"
Station Search
curl "http://openapi.seoul.go.kr:8088/${SEOUL_OPENAPI_KEY}/json/SearchInfoBySubwayNameService/1/10/๊ฐ๋จ"
Route Search
curl -G "https://apis.data.go.kr/B553766/path/getShtrmPath?serviceKey=${DATA_GO_KR_KEY}&dataType=JSON" \
--data-urlencode "dptreStnNm=์ ๋๋ฆผ" \
--data-urlencode "arvlStnNm=์์ธ์ญ" \
--data-urlencode "searchDt=$(date '+%Y-%m-%d %H:%M:%S')"
Service Alerts
curl "https://apis.data.go.kr/B553766/ntce/getNtceList?serviceKey=${DATA_GO_KR_KEY}&dataType=JSON&pageNo=1&numOfRows=10"
Output Format Guide
Real-time Arrival
Korean:
[๊ฐ๋จ์ญ ๋์ฐฉ ์ ๋ณด]
| ํธ์ | ๋ฐฉํฅ | ๋์ฐฉ | ์์น | ์ ํ |
|------|------|------|------|------|
| 2ํธ์ | ์ฑ์ํ | 3๋ถ | ์ญ์ผ | ์ผ๋ฐ |
English:
[Gangnam Station Arrivals]
| Line | Direction | Arrival | Location | Type |
|------|-----------|---------|----------|------|
| Line 2 | Seongsu-bound | 3 min | Yeoksam | Regular |
Station Search
Korean:
[๊ฐ๋จ์ญ]
| ํธ์ | ์ญ์ฝ๋ | ์ธ๋ถ์ฝ๋ |
|------|--------|----------|
| 2ํธ์ | 222 | 0222 |
English:
[Gangnam Station]
| Line | Station Code | External Code |
|------|--------------|---------------|
| Line 2 | 222 | 0222 |
Route Search
Korean:
[๊ฐ๋จ -> ํ๋์
๊ตฌ]
์์์๊ฐ: 38๋ถ | ๊ฑฐ๋ฆฌ: 22.1 km | ์๊ธ: 1,650์ | ํ์น: 1ํ
1. 09:03 ๊ฐ๋จ ์ถ๋ฐ (2ํธ์ ์ฑ์๋ฐฉ๋ฉด)
2. 09:18 ์ ๋๋ฆผ ํ์น (2ํธ์ -> 1ํธ์ )
3. 09:42 ํ๋์
๊ตฌ ๋์ฐฉ
English:
[Gangnam -> Hongdae]
Time: 38 min | Distance: 22.1 km | Fare: 1,650 KRW | Transfers: 1
1. 09:03 Depart Gangnam (Line 2 towards Seongsu)
2. 09:18 Transfer at Sindorim (Line 2 -> Line 1)
3. 09:42 Arrive Hongdae
Service Alerts
Korean:
[์ดํ ์๋ฆผ]
[1ํธ์ ] ์ข
๋ก3๊ฐ์ญ ๋ฌด์ ์ฐจ (15:00 ~ 15:22)
- ์ฝ๋ ์ผ ์ด์ฐจ ์ฐ๊ธฐ ๋ฐ์์ผ๋ก ์ธํจ
[2ํธ์ ] ์ ์ ์ดํ
English:
[Service Alerts]
[Line 1] Jongno 3-ga Non-stop (15:00 ~ 15:22)
- Due to smoke from Korail train
[Line 2] Normal operation
Error
Korean:
์ค๋ฅ: ์ญ์ ์ฐพ์ ์ ์์ต๋๋ค.
"๊ฐ๋จ" (์ญ ์ด๋ฆ๋ง)์ผ๋ก ๊ฒ์ํด ๋ณด์ธ์.
English:
Error: Station not found.
Try searching with "Gangnam" (station name only).
API Key Errors
Korean:
์ค๋ฅ: API ์ธ์ฆํค๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค.
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ฃผ์ธ์: SEOUL_OPENAPI_KEY
๋ฐ๊ธ ์๋ด:
- ์์ธ์ด๋ฆฐ๋ฐ์ดํฐ๊ด์ฅ: https://data.seoul.go.kr
- ๊ณต๊ณต๋ฐ์ดํฐํฌํธ: https://www.data.go.kr
English:
Error: API key is not configured.
Please set environment variable: SEOUL_OPENAPI_KEY
Get your API key:
- Seoul Open Data Plaza: https://data.seoul.go.kr
- Korea Public Data Portal: https://www.data.go.kr
Korean:
์ค๋ฅ: API ์ธ์ฆํค๊ฐ ์ ํจํ์ง ์์ต๋๋ค.
์ธ์ฆํค๋ฅผ ํ์ธํด์ฃผ์ธ์.
English:
Error: Invalid API key.
Please verify your API key.
seoul-metro
Seoul Metro information skill for Claude.
Features
- Real-time Arrival - Train arrival times by station
- Station Search - Line and station code lookup
- Route Search - Shortest path, travel time, fare
- Service Alerts - Delays, incidents, express stops
Environment Variables
| Variable | Provider | Required Data |
|---|---|---|
SEOUL_OPENAPI_KEY | data.seoul.go.kr | ์ค์๊ฐ ์งํ์ฒ ์ธ์ฆํค |
DATA_GO_KR_KEY | data.go.kr | ์์ธ๊ตํต๊ณต์ฌ_์งํ์ฒ ์๋ฆผ์ ๋ณด, ์์ธ๊ตํต๊ณต์ฌ_์ต๋จ๊ฒฝ๋ก์ด๋์ ๋ณด |
Usage
"๊ฐ๋จ์ญ ๋์ฐฉ์ ๋ณด"
"๊ฐ๋จ์ญ ๋ชํธ์ ?"
"์ ๋๋ฆผ์์ ์์ธ์ญ"
"์งํ์ฒ ์ง์ฐ ์์ด?"
License
MIT
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install seoul-metro?
Run openclaw add @dukbong/seoul-metro in your terminal. This installs seoul-metro into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/dukbong/seoul-metro. Review commits and README documentation before installing.
