io.github.lovelyquality/korail-mcp
PYPI · KORAIL-MCP · SCANNED SEP 21
한국철도공사(KORAIL) 공공데이터 MCP 서버 — 98개 도구, API 키 신청 불필요. 역·열차·화물·통계 데이터 자연어 조회.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security82
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects starlette 0.52.1, a direct dependency. A fixed version is available. View diagnostics → Fail
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 36 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 26 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability63
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 18422 tokens (~187/item across 98 items; 98 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (77% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_station_transfer_info" implies "transfer" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 98 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.lovelyquality/korail-mcp server?
io.github.lovelyquality/korail-mcp runs locally as a PyPI package, launched with uvx korail-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · korail-mcp
claude mcp add lovelyquality-korail-mcp -- uvx korail-mcp
{
"mcpServers": {
"lovelyquality-korail-mcp": {
"command": "uvx",
"args": [
"korail-mcp"
]
}
}
} {
"servers": {
"lovelyquality-korail-mcp": {
"command": "uvx",
"args": [
"korail-mcp"
]
}
}
} codex mcp add lovelyquality-korail-mcp -- uvx korail-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"lovelyquality-korail-mcp": {
"type": "local",
"command": [
"uvx",
"korail-mcp"
],
"enabled": true
}
}
} openclaw mcp add lovelyquality-korail-mcp --command uvx --arg korail-mcp
mcp_servers:
lovelyquality-korail-mcp:
command: "uvx"
args: ["korail-mcp"] {
"McpServers": {
"lovelyquality-korail-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"korail-mcp"
]
}
}
} assistant mcp add lovelyquality-korail-mcp -t stdio -c uvx -a korail-mcp
{
"mcpServers": {
"lovelyquality-korail-mcp": {
"command": "uvx",
"args": [
"korail-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/korail-mcp@1.0.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 10 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-82w8-qh3p-5jfq | CVE-2026-54283 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-86qp-5c8j-p5mr | CVE-2026-48710 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N | yes |
| GHSA-jp82-jpqv-5vv3 | CVE-2026-54282 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-wqp7-x3pw-xc5r | CVE-2026-48818 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
| GHSA-x746-7m8f-x49c | CVE-2026-48817 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| PYSEC-2026-161 | CVE-2026-48710 | none | yes | |
| PYSEC-2026-2280 | CVE-2026-48817 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| PYSEC-2026-2281 | CVE-2026-48818 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
| PYSEC-2026-248 | CVE-2026-54282 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| PYSEC-2026-249 | CVE-2026-54283 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 36 packages
| Packages resolved | 36 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
decode_freight_code ~40
내적화물분류코드 → 한글명/영문명 단건 디코딩.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
No output schema declared.
No examples provided.
decode_station_code ~88
역코드(숫자)로 역명을 조회. 다른 MCP 응답에서 코드가 나왔을 때 사용. 차세대예약발매(75역)와 철도운영정보(1255역) 두 시스템 동시 검색. 예: code='3900023'(서울), code='390'(부분매칭 가능)
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_accessible_facilities ~167
역 이름으로 교통약자(장애인) 편의시설 조회 (B551457 실시간 API). 휠체어리프트·장애인경사로·장애인화장실 유무. station_name: 역 이름 부분일치 (예: '서울', '부산') (EN: accessible/accessibility facilities for disabled and mobility-impaired passengers - wheelchair lift, accessible ramp, accessible restroom. JA: 交通弱者・障害者向け便宜施設 - 車椅子リフト、スロープ、障害者トイレ) ※ 데이터기준일: 실시간 API. 현장 변경이 즉시 반영되지 않을 수 있음.
| Name | Type | Req | Description |
|---|---|---|---|
| station_name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_advance_disclosure ~74
홈페이지 사전정보공표 목록 조회. 공표대상, 공표시기, 담당부서 코드를 제공한다. 경영 투명성 확인 또는 특정 공표 항목 탐색에 활용. keyword: 공표대상 부분일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_advance_disclosure_detail ~77
홈페이지 사전정보공표 세부 내역 조회. 공표대상 제목, 담당부서코드, 조회수를 제공한다. keyword: 제목 부분일치 필터 dept_code: 담당부서 코드 일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| dept_code | string | – | – |
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_advance_disclosure_files ~63
홈페이지 사전정보공표 첨부파일 목록 조회. 첨부파일명, 파일 확장자, 연결된 공표대상 번호를 제공한다. keyword: 파일명 부분일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_cafeteria_menu_stats ~173
구내식당 메뉴 건수 현황 조회 (33건). 각 구내식당의 조식·중식·석식 식단 라인 수(등록된 식단 항목 건수)를 제공한다. 용산역·서울역·대전충남본부·부산역·인재개발원 등 전국 식당 포함. ※ '메뉴 건수'는 실제 요리 가짓수가 아닌 식단 제공 라인 수임에 유의. (예: 중식 2라인 = A코스·B코스 2종 제공) location: 식단지역명 부분일치 필터 (예: "서울역", "부산", "대전", "본사")
| Name | Type | Req | Description |
|---|---|---|---|
| location | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_consultation_departments ~75
철도 고객센터 담당 부서(역) 목록 조회. 본부명, 담당센터명(역명), 표기명을 제공한다. headquarter: 본부명 부분일치 필터 (예: "강원", "대구", "서울")
| Name | Type | Req | Description |
|---|---|---|---|
| headquarter | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_consultation_types ~91
철도 고객센터 상담유형 코드 조회. 상담 대분류(MAJOR_COUNSEL), 중분류(MINOR_COUNSEL), 그룹명, 상담코드(COUNSEL_CODE), 유형명을 제공한다. keyword: 그룹명 또는 유형명 부분일치 필터 (예: "운임", "예매", "분실")
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_customer_satisfaction_stats ~130
고객의소리 만족도 일별 통계 조회. 철도 고객센터 만족도 조사 결과를 일별로 제공한다. 참여수와 평균 점수(100점 만점)를 확인할 수 있다. date_from / date_to: 조사일자 범위 (예: "2025-01-01", "2025-03-31") day_of_week: 요일 필터 (예: "월요일", "토요일")
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | – |
| date_to | string | – | – |
| day_of_week | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_dormitory_longterm_codes ~113
직원숙사 장기예약 사유 코드 조회 (15건). 장기숙박 예약 시 사용되는 사유코드(그룹·값·명칭)를 제공한다. '장기'(교육생·출장자·비연고지 발령 등)와 '기타'(2급이상·야간근무 등) 구분. group: 코드그룹 필터 (예: "장기", "기타")
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_freight_carriage ~396
화물열차 수송실적 조회. 발송역~도착역 구간별 화물 발송톤·운송연톤키로를 제공합니다. 화물구분·품목(대/중/소분류)별 필터링 가능. Args: crtr_ymd: 특정 기준일자 (YYYYMMDD). 입력 시 해당 날짜만 조회. crtr_ymd_gte: 기준일자 시작 (YYYYMMDD, 이후) crtr_ymd_lte: 기준일자 종료 (YYYYMMDD, 이전) sndng_stn_cd: 발송역코드 (예: "3900090"=약목) sndng_stn_nm: 발송역명 (예: "약목") arvl_stn_cd: 도착역코드 (예: "3900113"=부산진) arvl_stn_nm: 도착역명 (예: "부산진") item_lclsf_cd: 품목대분류코드 (예: "110") item_mclsf_cd: 품목중분류코드 (예: "111") item_sclsf_cd: 품목소분류코드 (예: "1111")
| Name | Type | Req | Description |
|---|---|---|---|
| arvl_stn_cd | string | – | – |
| arvl_stn_nm | string | – | – |
| crtr_ymd | string | – | – |
| crtr_ymd_gte | string | – | – |
| crtr_ymd_lte | string | – | – |
| item_lclsf_cd | string | – | – |
| item_mclsf_cd | string | – | – |
| item_sclsf_cd | string | – | – |
| sndng_stn_cd | string | – | – |
| sndng_stn_nm | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_freight_items ~99
화물 품목정보 조회 (총 861건, 로컬 CSV). 품목코드·품목명·품목약어명·최저톤수율 정보. 계층형 코드 구조 (상위 0000, 중위 00, 하위 01~99). 빈 query시 상위 항목부터 limit 반환.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | – | – |
No output schema declared.
No examples provided.
get_freight_minimum_fare ~171
화물 운송 최저운임 기준 정보를 조회합니다. (총 7건 — 역사적 이력 포함) Args: fare_type: 운임요금유형 (예: "최저운임"). 없으면 전체. classification_no: 분류번호 (예: "10", "20", "30"). 없으면 전체. current_only: True면 적용종료일자가 2100년 이후인 현재 유효 운임만 반환. Returns: 운임요금유형, 분류번호, 분류번호내용, 적용최저운임(원), 적용시작일자, 적용종료일자.
| Name | Type | Req | Description |
|---|---|---|---|
| classification_no | – | – | – |
| current_only | boolean | – | – |
| fare_type | – | – | – |
No output schema declared.
No examples provided.
get_freight_rate ~214
철도 화물 임율(ton-km 기준 운임 요율) 정보를 조회합니다. (전체 249건, 현재 유효 약 123건) Args: category: 신청구분 (예: "일반", "컨테이너"). 없으면 전체. classification_no: 분류번호 (예: "10", "1001", "1021"). 없으면 전체. current_only: True면 현재 적용 중인 임율만 반환 (적용종료일자 2100 이후). 기본 True. ※ 분류번호 1xxx는 컨테이너 임율. 10~80번대는 일반 화물 임율. Returns: 신청구분, 분류번호, 분류번호내용(화물 유형 설명), 적용임율(원/ton-km), 컨테이너규격내용, 적용기간.
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | – |
| classification_no | – | – | – |
| current_only | boolean | – | – |
No output schema declared.
No examples provided.
get_hazardous_cargo ~259
위험물 정보 조회 (로컬 CSV, 2025.09.15 기준). 위험물분류기준(52건) + 위험물코드상세(2301건) 두 테이블을 통합 조회. - query: 유엔위험물 한글명 또는 번호 부분일치 검색 (예: '가스', '아세틸렌', '1001') - grade: 위험물등급번호 정확일치 필터 (예: '1'=폭발물, '2'=가스, '3'=인화성액체) - limit: 최대 반환 건수 (기본 50) 위험물 등급 안내: 1=폭발물, 2=가스(인화성·독성), 3=인화성액체, 4=가연성고체, 5=산화성물질, 6=독성물질, 7=방사성물질, 8=부식성물질, 9=기타위험물
| Name | Type | Req | Description |
|---|---|---|---|
| grade | string | – | – |
| limit | integer | – | – |
| query | string | – | – |
No output schema declared.
No examples provided.
get_homepage_dept ~127
KORAIL 홈페이지 부서 정보 조회 (전체 약 500건). 부서명(DEPT_NM), 부서코드(DEPT_CODE), 상위부서코드(UPPER_DEPT_CODE)를 제공한다. keyword: 부서명 부분일치 필터 (예: "본부", "처", "단", "TF") ※ 전체 데이터가 크므로 keyword 없이 호출하면 처음 200건만 반환됨. 전체 조회가 필요하면 keyword를 여러 번 나눠 호출할 것.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_homepage_position ~52
KORAIL 홈페이지 직책 코드 조회. 직책 ID, 직책명, 직책코드를 제공한다. keyword: 직책명 부분일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_info_disclosure_codes ~68
정보공개 시스템 공통코드 조회. 분류코드(CODETYPE), 분류코드명(CODENAME), 사용여부를 제공한다. code_type: CODETYPE 일치 필터 (빈값=전체)
| Name | Type | Req | Description |
|---|---|---|---|
| code_type | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_info_disclosure_dept ~60
정보공개 담당 부서 목록 조회. 부서코드, 부서명, 상위부서명(영문)을 제공한다. keyword: 부서명 부분일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_job_grades ~148
직급 코드 정보 조회 (109건). 직급등급(1~10급), 직급명, 직급코드를 제공한다. 사무·기술·차량·운전·전기통신·토목·건축·특수·열차승무·물류영업 등 직종별 구분. grade_level: 직급등급 정확일치 필터 (예: 3 → 3급 전체) keyword: 직급명 부분일치 필터 (예: "운전", "차량", "사무영업")
| Name | Type | Req | Description |
|---|---|---|---|
| grade_level | integer | – | – |
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_ktx_long_term_stats ~279
KTX 장기 통계 조회 (2004~2023년, 로컬 XLSX). 경부선(서울-부산)·호남선(용산-목포) 2개 노선의 20년 역사 데이터. category 선택: "운행횟수_주중" — 화요일 기준 편도 운행 횟수 (단위: 회) "운행횟수_주말" — 토요일 기준 편도 운행 횟수 (단위: 회) "운임_원" — 해당 연도 운임 (단위: 원, 서울-부산·용산-목포 기준) "이용객_천명월" — 월평균 이용객 수 (단위: 천명/월) 빈값 — 위 4개 카테고리 전체 반환 route: "경부선" | "호남선" 부분일치 필터 (빈값=전체) year_from / year_to: 연도 범위 필터 (예: year_from=2010, year_to=2019)
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| route | string | – | – |
| year_from | integer | – | – |
| year_to | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_ktx_stations ~151
KTX 노선별 역 정보(역명, 도로명주소, 정차 순번)를 조회합니다. (총 102건) Args: line_name: KTX 노선명 부분 일치 (예: "경부선", "호남선", "경전선"). 없으면 전체. station_name: 역명 부분 일치 (예: "서울", "부산", "광명"). 없으면 필터 없음. Returns: 고속철도명, 철도운영기관, 노선명, 순번, 역명, 주소(도로명) 목록.
| Name | Type | Req | Description |
|---|---|---|---|
| line_name | – | – | – |
| station_name | – | – | – |
No output schema declared.
No examples provided.
get_lease_codes ~107
임대 시스템 코드 조회 (실시간 REST API). 임대 관련 분류 코드표를 제공한다. 코드타입(type), 코드값(code), 코드설명(value)으로 구성된다. code_type: 코드타입 정확일치 필터 code: 코드 정확일치 필터 value: 코드설명 부분일치 필터
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | – | – |
| code_type | string | – | – |
| value | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_lease_stores ~163
역사 내 임대매장 운영정보 조회 (실시간 REST API). 역사 내 임대매장의 매장명, 매장위치, 역명, 본부, 개업일자, 계약기간, 승인면적, 평일·휴일 영업시간 등을 제공한다. store_name: 매장명 부분일치 필터 (예: "파리바게뜨", "GS25") station_code: 역코드 정확일치 필터 (예: "0001") station_name: 역명 정확일치 필터 (예: "서울역", "부산역")
| Name | Type | Req | Description |
|---|---|---|---|
| station_code | string | – | – |
| station_name | string | – | – |
| store_name | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_leased_assets ~190
한국철도공사 임대자산 현황 조회 (1,773건). 철도공사가 관리 중인 임대 자산의 소재지, 시설명, 계약기간, 임대면적(㎡), 연간임대료(부가세 별도)를 제공한다. 역사 내 상업공간·건물·유휴부지 등 실제 임대 중인 부동산 자산 정보. B551457 /stores(매장 운영정보)와 다름 — 이 도구는 자산/재무 관점. location: 자산소재지 부분일치 필터 (예: "서울", "대전", "경기") facility_name: 시설명 부분일치 필터 (예: "서울역", "용산역")
| Name | Type | Req | Description |
|---|---|---|---|
| facility_name | string | – | – |
| location | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_logistics_facility ~113
물류시설 정보 통합 조회 (기본 210건 + 규모 71건 + 사진 457건). 역명 또는 지역본부명 부분일치 필터. 기본정보(시설 면적·요금·수입 등), 규모(싸이로 용량·수), 사진(첨부파일명·설명)을 역명 기준으로 결합 반환.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| region | string | – | – |
| station_name | string | – | – |
No output schema declared.
No examples provided.
get_mainline_carriage ~277
간선 여객열차 수송실적 조회. 역별 승하차 인원수를 제공합니다. 운행일자, 주운행선(경부선·호남선 등), 역 기준으로 필터링 가능. Args: run_ymd: 특정 운행일자 (YYYYMMDD). 입력 시 해당 날짜만 조회. run_ymd_gte: 운행일자 시작 (YYYYMMDD, 이후) run_ymd_lte: 운행일자 종료 (YYYYMMDD, 이전) mrnt_cd: 주운행선코드 (예: "01"=경부선) mrnt_nm: 주운행선명 (예: "경부선", "호남선") stn_cd: 역코드 (예: "3900023"=서울) stn_nm: 역명 (예: "서울", "부산")
| Name | Type | Req | Description |
|---|---|---|---|
| mrnt_cd | string | – | – |
| mrnt_nm | string | – | – |
| run_ymd | string | – | – |
| run_ymd_gte | string | – | – |
| run_ymd_lte | string | – | – |
| stn_cd | string | – | – |
| stn_nm | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_day_of_week_per ~76
간선열차 요일별 이용인원 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM), rte_nm=노선명
| Name | Type | Req | Description |
|---|---|---|---|
| rte_nm | string | – | – |
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_distance_per ~58
간선열차 거리별 이용인원 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM)
| Name | Type | Req | Description |
|---|---|---|---|
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_grade_per ~79
간선열차 객실별 이용인원 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM), carmdl=차종명(예:KTX)
| Name | Type | Req | Description |
|---|---|---|---|
| carmdl | string | – | – |
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_model_per ~78
간선열차 차량별 이용인원 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM), carmdl=차종명(예:KTX)
| Name | Type | Req | Description |
|---|---|---|---|
| carmdl | string | – | – |
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_person_distance ~73
간선열차 노선별 인거리 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM), rte_nm=노선명
| Name | Type | Req | Description |
|---|---|---|---|
| rte_nm | string | – | – |
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_route_per ~74
간선열차 노선별 이용인원 통계 (갱신: 매월 1일, M-2). run_ym=운행연월(YYYYMM), rte_nm=노선명
| Name | Type | Req | Description |
|---|---|---|---|
| rte_nm | string | – | – |
| run_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_station_per ~112
간선열차 역별 승하차 통계 (갱신: 매일 D-2~D-1). opr_ymd=특정일자(YYYYMMDD), opr_ymd_gte/lte=기간, stn_nm=역명
| Name | Type | Req | Description |
|---|---|---|---|
| opr_ymd | string | – | – |
| opr_ymd_gte | string | – | – |
| opr_ymd_lte | string | – | – |
| stn_nm | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_mainline_ticketing_stat ~76
간선열차 발권유형 통계 (갱신: 매월 1일, M-1). ntsl_ym=판매연월(YYYYMM), ise_type=발권유형명
| Name | Type | Req | Description |
|---|---|---|---|
| ise_type | string | – | – |
| ntsl_ym | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_maintenance_equipment ~181
철도차량 검수용 기계 보유현황 조회 (2024.12.31 기준, 16개 지역). 지역(정비단·지역본부)별 공작기계·원동기계·시험기계·유체기계·양물기계· 공기기계·토목기계·계중기계·차량이동기계·전기기계·로기계·잡기계·고속시험기계 수량. region: 지역 ���분일치 (예: '수도권', '부산', '대전', '강원'). '정비단' 또는 '지역본부'로 구분 가능. 미입력 시 전체 16개 지역 반환.
| Name | Type | Req | Description |
|---|---|---|---|
| region | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_office_meeting_rooms ~133
본사 사옥 회의실 목록 조회 (11건). 회의실코드, 수용인원, 회의실사양(명칭·좌석수)을 제공한다. 대회의실(160석)부터 소회의실(18석), 영상회의실, 디지털허브 랩 포함. ※ 2024년 이후 최신화 이력 없음. 현재 운영 현황과 다를 수 있음. min_capacity: 최소 수용인원 필터 (예: 30 → 30인 이상 회의실만)
| Name | Type | Req | Description |
|---|---|---|---|
| min_capacity | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_operation_distance ~409
전국 철도 노선별 역간 운행거리를 조회합니다. (20개 노선 그룹) 열차가 실제로 주행하는 선로 거리 기준입니다. 운임 계산용 여객최단운행거리와 다를 수 있습니다. (예: 서울↔부산 KTX 운행거리 417.4 km, 여객최단운행거리 441.7 km) ⚠️ 이 데이터는 철도운행거리_전체 XLSX(노선별 삼각행렬)에 수록된 역만 포함합니다. KTX 전용선 경유 역(경부KTX: 서울·영등포·광명·천안아산·오송·대전·김천구미·동대구·부산 등)만 있고, 같은 KTX가 경유해도 행신·수원처럼 별도 인입선·재래선 역은 미포함일 수 있습니다. Args: line_name: 노선명 부분 일치 (예: "경부", "호남", "전라", "강릉", "영동", "중앙", "태백"). 없으면 전체 노선 그룹 목록 반환. from_station: 출발역명 (정확 일치). 해당 역에서 출발하는 모든 거리 반환. to_station: 도착역명 (정확 일치). from_station과 함께 지정 시 두 역 간 거리 반환. Returns: line_name 없음: available_lines 목록. line_name만: 매칭 노선과 역 목록. from_station 추가: 출발역에서 각 역까지의 거리 목록(거리 오름차순 정렬). from+to 모두: 두 역 간 거리(km). ※ 최초 호출 시 XLSX 파싱에 수 초 소요됩니다.
| Name | Type | Req | Description |
|---|---|---|---|
| from_station | – | – | – |
| line_name | – | – | – |
| to_station | – | – | – |
No output schema declared.
No examples provided.
get_rolling_stock_by_year ~183
연도별 차량보유현황 조회 (2024.12.31 기준, 2016~2024년 9개 연도). KTX·SRT·KTX-이음·디젤기관차·전기기관차·디젤동차·전기동차·간선형전기동차· ITX-청춘·객차·발전차·화차·기중기 차종별 연도별 보유 대수 포함. year: 조회 연도 (예: '2024', '2020'). 미입력 시 전체 9개 연도 반환. ※ SRT는 SR(수서고속철도) 소속으로 KORAIL 보유 수치에 포함된 것으로 표기됨.
| Name | Type | Req | Description |
|---|---|---|---|
| year | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_segment_info ~218
철도 전동차 세그먼트(구간) 정보를 조회합니다. 세그먼트는 노선을 운행 분석 최소 단위로 분리한 구간입니다. Args: segment_code: 세그먼트코드 (예: "100", "200", "300"). region: 운행지역본부 부분 일치 (예: "서울", "대전", "수도권서부", "부산"). station: 세그먼트 시작역·종료역·경유역명 부분 일치 (예: "서울", "대전"). Returns: basic: 세그먼트 기본 정보 (코드, 기간, 지역본부, 시작역, 종료역, 거리(km)). detail: 해당 세그먼트 구성 역 상세 (역명, 역일련번호, 누적거리). total_segments: 매칭된 세그먼트 수.
| Name | Type | Req | Description |
|---|---|---|---|
| region | – | – | – |
| segment_code | – | – | – |
| station | – | – | – |
No output schema declared.
No examples provided.
get_social_donations ~163
사회공헌 '사랑의 성금' 사용 내역 조회 (1,053건). 성금 지출 관리번호, 순번, 지출일자, 금액(원), 사용내역을 제공한다. 온누리상품권 구매, 해피트레인 여행상품비, 후원물품 구입 등. date_from: 지출일자 시작 (예: "2025-01-01") date_to: 지출일자 종료 keyword: 내역 부분일치 필터 (예: "온누리", "해피트레인", "헌혈")
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | – |
| date_to | string | – | – |
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_social_funds ~79
사회공헌 펀드 종류 조회 (6건). 사회공헌 재원 펀드 유형(종류명, 기본값여부, 분류순서)을 제공한다. '사랑의 성금', '매칭그랜트', '자체성금', '러브포인트' 등 구분.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_social_org ~193
사회공헌 포털 조직정보 조회 (6,306건). 한국철도공사 전체 조직 현황(본부·역·사업소·팀 등)을 제공한다. 조직명은 'KORAIL/강원본부/강릉역' 형식의 계층 경로. 메모1·메모2·메모3에 본부명·소속 정보 포함. ※ 전체 조회 시 최대 200건 반환. org_name 또는 headquarter 필터 권장. org_name: 조직명 부분일치 필터 (예: "강릉역", "차량사업소", "AI전략본부") headquarter: 본부명 부분일치 필터 (예: "강원본부", "서울본부", "대전")
| Name | Type | Req | Description |
|---|---|---|---|
| headquarter | string | – | – |
| org_name | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_social_volunteer_fields ~96
사회공헌 봉사 분야 코드 조회 (7건). 봉사분야 구분코드, 분야명, 분야설명을 제공한다. 내일하우스·해피트레인·복지단체·환경봉사·헌혈 등. keyword: 분야명 부분일치 필터 (예: "헌혈", "환경", "해피")
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_social_volunteer_matching ~157
사회공헌 봉사활동 매칭 지출 내역 조회 (877건). 봉사활동 매칭 관련 지출의 관리번호, 순번, 지출일자, 사용금액(원), 사용내역을 제공한다. 매칭그랜트·온누리상품권·봉사요원 간식비 등. date_from: 지출일자 시작 date_to: 지출일자 종료 keyword: 사용내역 부분일치 필터 (예: "매칭그랜트", "봉사자", "온누리")
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | – |
| date_to | string | – | – |
| keyword | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_station_distance ~333
두 역 간 최단 운행거리(km)를 조회합니다. 여객·화물 거리를 구분하며 경유역 정보 포함. Args: from_station: 출발역명 (정확한 역명 권장, 부분 일치도 지원. 예: "서울", "부산"). to_station: 도착역명 (부분 일치). 없으면 출발역에서 출발하는 모든 구간 거리 반환. current_only: True면 현재 유효 데이터(적용종료일자=9999-12-31)만 반환. 기본 True. Returns: 출발역명, 도착역명, 여객최단운행거리(km), 화물운행거리(km), 구간거리내용(경유역), 적용기간. ※ 총 220,782건. 최초 호출 시 로딩에 수 초가 소요됩니다. 최대 200건 반환. ※ 출발역명 기준 인덱스만 존재. "특정 역에 도착하는 모든 경로" 역방향 조회는 미지원. ※ 여객최단운행거리는 운임 계산 기준 거리로, 실제 열차 운행거리(XLSX 기준)와 다를 수 있음. 예: 서울↔부산 여객최단 441.7 km vs KTX 운행거리 417.4 km (고속선 vs 운임 기준선 차이).
| Name | Type | Req | Description |
|---|---|---|---|
| current_only | boolean | – | – |
| from_station | string | yes | – |
| to_station | – | – | – |
No output schema declared.
No examples provided.
get_station_facilities ~167
역 이름으로 편의시설 정보 조회 (B551457 실시간 API). 엘리베이터·에스컬레이터·화장실·수유실·종합안내센터 유무. station_name: 역 이름 부분일치 (예: '서울', '부산') (EN: station amenities/facilities - elevator, escalator, restroom, nursing room, information center. JA: 駅の便宜施設・設備 - エレベーター、エスカレーター、トイレ、授乳室、案内センター) ※ 데이터기준일: 실시간 API (날짜 미포함). 현장 변경이 즉시 반영되지 않을 수 있음.
| Name | Type | Req | Description |
|---|---|---|---|
| station_name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_station_facilities_detail ~209
역사 내외부 시설현황 조회 (odcloud, 2024.12.31 기준, 288개 역). 엘리베이터·에스컬레이터·휠체어리프트·장애인경사로·장애인화장실·일반화장실· 모유수유실·종합안내소·환승주차장(면수) 수량 포함. station_name: 역명 부분일치 (예: '서울', '광명'). 미입력 시 전체 반환. (EN: detailed interior/exterior station facilities - elevator, escalator, wheelchair lift, accessible ramp/restroom, nursing room, parking. JA: 駅舎内外の詳細な設備現況) ※ B551457 편의시설 API 대비 수량 정보 더 풍부하나 데이터 기준일 고정(2024.12.31).
| Name | Type | Req | Description |
|---|---|---|---|
| station_name | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_station_location ~147
역 위치 정보 조회 (odcloud, 2024.04.01 기준, 202개 간선 철도역). 지역본부·역명·위도·경도·출입구 개수 포함. station_name: 역명 부분일치 (예: '서울', '부산'). region: 지역본부 부분일치 (예: '서울본부', '대전충청', '강원본부'). 미입력 시 전체 반환. (EN: station location - coordinates, regional HQ, number of exits. JA: 駅の位置情報)
| Name | Type | Req | Description |
|---|---|---|---|
| region | string | – | – |
| station_name | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the io.github.lovelyquality/korail-mcp server?
io.github.lovelyquality/korail-mcp is listed in the public MCP registry as io.github.lovelyquality/korail-mcp. 한국철도공사(KORAIL) 공공데이터 MCP 서버, 98개 도구, API 키 신청 불필요. 역·열차·화물·통계 데이터 자연어 조회. This page covers its PyPI package (korail-mcp).
Is the io.github.lovelyquality/korail-mcp server safe to use?
io.github.lovelyquality/korail-mcp scores 69 out of 100 on VerifyMCP. We recorded 10 known advisories against it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.lovelyquality/korail-mcp server expose?
io.github.lovelyquality/korail-mcp exposes 98 tools: search_station, decode_station_code, search_route, list_stations_by_region, get_station_facilities, and 93 more. Their descriptions and schemas cost roughly 18,422 tokens of context every time the server is loaded.
Is the io.github.lovelyquality/korail-mcp server still maintained?
io.github.lovelyquality/korail-mcp is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.