Integrations
Supports configuration through .env files for storing API credentials and server settings.
Handles content licensed under Creative Commons Attribution 4.0 International License (CC BY 4.0), ensuring proper attribution for Deutsche Bahn timetable data.
Provides access to Deutsche Bahn timetable data, including current schedules, planned timetables, schedule changes, and station search functionality through the Deutsche Bahn API.
DB 시간표 MCP 서버
Deutsche Bahn 시간표 API를 위한 MCP(모델 컨텍스트 프로토콜) 서버입니다. 이 서버는 MCP 도구와 리소스를 제공하여 시간표 데이터, 역 정보 및 열차 변경 사항에 액세스할 수 있도록 합니다.
이름을 밝힐 의무:
이 프로젝트는 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스(CC BY 4.0) 에 따라 공개적으로 이용 가능한 도이체반 시간표 데이터를 제공합니다.
API 및 라이선스 조건에 대한 자세한 내용은 developers.deutschebahn.com 에서 확인할 수 있습니다. API 요청은 라이센스 조건을 따릅니다.
기능
- 현재 시간표 : 역의 현재 시간표 데이터를 검색합니다.
- 시간표 변경 사항 : 최신 변경 사항 추적
- 계획된 시간표 : 특정 시간에 대한 계획된 시간표 데이터에 액세스
- 역 검색 : 역명이나 코드로 기차역 검색
요구 사항
- Node.js 18 이상
- DB Timetable API에 대한 API 자격 증명(클라이언트 ID 및 클라이언트 비밀번호)
설치
- 복제 저장소:지엑스피1
- 종속성 설치:Copy
- TypeScript 코드를 컴파일합니다.Copy
구성
프로젝트의 루트 디렉토리에 다음 환경 변수를 사용하여 .env
파일을 만듭니다.
구성 옵션
DB_TIMETABLE_CLIENT_ID
: DB API의 클라이언트 ID(필수)DB_TIMETABLE_CLIENT_SECRET
: DB API에 대한 클라이언트 비밀번호(필수)TRANSPORT_TYPE
: MCP 서버의 전송 유형(stdio
또는sse
, 기본값:stdio
)PORT
: SSE 서버의 포트(기본값:8080
)SSE_ENDPOINT
: SSE 연결의 엔드포인트(기본값:/sse
)LOG_LEVEL
: 로깅 레벨(debug
,info
,warn
,error
, 기본값:info
)
사용
서버 시작
stdio 모드에서(CLI 테스트 및 디버깅용):
SSE 모드(웹 클라이언트용):
검사 모드로 테스트
서버는 FastMCP Inspector로 테스트할 수 있습니다.
MCP 도구
서버는 다음과 같은 도구를 제공합니다.
- getCurrentTimetable : 역의 현재 시간표 데이터를 검색합니다.
- 매개변수:
evaNo
- 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)
- 매개변수:
- getRecentChanges : 스테이션의 최근 변경 사항을 검색합니다.
- 매개변수:
evaNo
- 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)
- 매개변수:
- getPlannedTimetable : 역의 계획된 시간표 데이터를 검색합니다.
- 매개변수:
evaNo
- 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)date
- YYMMDD 형식의 날짜(예: 2023년 4월 1일의 경우 230401)hour
- HH 형식의 시간(예: 오후 2시는 14)
- 매개변수:
- findStations : 검색 패턴을 사용하여 스테이션을 검색합니다.
- 매개변수:
pattern
- 검색 패턴(예: "Frankfurt" 또는 "BLS")
- 매개변수:
MCP 리소스
서버는 다음과 같은 리소스를 제공합니다.
- 현재 시간표 데이터 :
db-api:timetable/current/{evaNo}
- 현재 시간표 변경 사항 :
db-api:timetable/changes/{evaNo}
- 계획된 시간표 데이터 :
db-api:timetable/planned/{evaNo}/{date}/{hour}
- 스테이션 검색 :
db-api:station/{pattern}
개발
프로젝트 구조
NPM 스크립트
npm run build
: TypeScript 코드를 컴파일합니다.npm start
: 서버를 시작합니다npm run dev
: 자동 재로딩을 통해 개발 모드로 서버를 시작합니다.npm test
: 테스트를 실행합니다
확장성
잠재적 확장
- 데이터 처리 및 강화
- 의미론적 시간표 데이터 처리: 의미론적 강화를 통한 XML에서 구조화된 JSON으로
- 지연 및 중단에 대한 과거 데이터 분석
- 다중 모드 교통 연결의 통합
- 고급 MCP 도구
- 역 간 경로 계획
- AI 기반 지연 및 용량 예측
- 여행 중단 분석
- 역 및 연결편 접근성 점검
특허
MCP 서버: MIT 라이선스
DB 시간표 API: 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스
This server cannot be installed
모델 컨텍스트 프로토콜 도구와 리소스를 통해 Deutsche Bahn 열차 시간표, 역 정보 및 일정 변경 사항에 대한 액세스를 제공합니다.