Skip to main content
Glama

DB Timetable MCP Server

by jorekai

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. 복제 저장소:지엑스피1
  2. 종속성 설치:
    npm install
  3. TypeScript 코드를 컴파일합니다.
    npm run build

구성

프로젝트의 루트 디렉토리에 다음 환경 변수를 사용하여 .env 파일을 만듭니다.

DB_TIMETABLE_CLIENT_ID=deine-client-id DB_TIMETABLE_CLIENT_SECRET=dein-client-secret TRANSPORT_TYPE=stdio PORT=8080 SSE_ENDPOINT=/sse LOG_LEVEL=info

구성 옵션

  • 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 테스트 및 디버깅용):

npm start

SSE 모드(웹 클라이언트용):

TRANSPORT_TYPE=sse npm start

검사 모드로 테스트

서버는 FastMCP Inspector로 테스트할 수 있습니다.

npx fastmcp inspect path/to/index.js

MCP 도구

서버는 다음과 같은 도구를 제공합니다.

  1. getCurrentTimetable : 역의 현재 시간표 데이터를 검색합니다.
    • 매개변수: evaNo - 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)
  2. getRecentChanges : 스테이션의 최근 변경 사항을 검색합니다.
    • 매개변수: evaNo - 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)
  3. getPlannedTimetable : 역의 계획된 시간표 데이터를 검색합니다.
    • 매개변수:
      • evaNo - 역의 EVA 번호(예: 프랑크푸르트 중앙역의 경우 8000105)
      • date - YYMMDD 형식의 날짜(예: 2023년 4월 1일의 경우 230401)
      • hour - HH 형식의 시간(예: 오후 2시는 14)
  4. findStations : 검색 패턴을 사용하여 스테이션을 검색합니다.
    • 매개변수: pattern - 검색 패턴(예: "Frankfurt" 또는 "BLS")

MCP 리소스

서버는 다음과 같은 리소스를 제공합니다.

  1. 현재 시간표 데이터 : db-api:timetable/current/{evaNo}
  2. 현재 시간표 변경 사항 : db-api:timetable/changes/{evaNo}
  3. 계획된 시간표 데이터 : db-api:timetable/planned/{evaNo}/{date}/{hour}
  4. 스테이션 검색 : db-api:station/{pattern}

개발

프로젝트 구조

db-mcp/ ├── src/ │ ├── api/ # API-Client und Typen │ ├── tools/ # MCP-Tools │ ├── resources/ # MCP-Ressourcen │ ├── utils/ # Hilfsfunktionen │ ├── config.ts # Konfiguration │ └── index.ts # Haupteinstiegspunkt ├── dist/ # Kompilierte Dateien ├── .env # Umgebungsvariablen ├── package.json ├── tsconfig.json └── README.md

NPM 스크립트

  • npm run build : TypeScript 코드를 컴파일합니다.
  • npm start : 서버를 시작합니다
  • npm run dev : 자동 재로딩을 통해 개발 모드로 서버를 시작합니다.
  • npm test : 테스트를 실행합니다

확장성

잠재적 확장

  1. 데이터 처리 및 강화
    • 의미론적 시간표 데이터 처리: 의미론적 강화를 통한 XML에서 구조화된 JSON으로
    • 지연 및 중단에 대한 과거 데이터 분석
    • 다중 모드 교통 연결의 통합
  2. 고급 MCP 도구
    • 역 간 경로 계획
    • AI 기반 지연 및 용량 예측
    • 여행 중단 분석
    • 역 및 연결편 접근성 점검

특허

MCP 서버: MIT 라이선스

DB 시간표 API: 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

모델 컨텍스트 프로토콜 도구와 리소스를 통해 Deutsche Bahn 열차 시간표, 역 정보 및 일정 변경 사항에 대한 액세스를 제공합니다.

  1. 기능
    1. 요구 사항
      1. 설치
        1. 구성
          1. 구성 옵션
        2. 사용
          1. 서버 시작
          2. 검사 모드로 테스트
          3. MCP 도구
          4. MCP 리소스
        3. 개발
          1. 프로젝트 구조
          2. NPM 스크립트
        4. 확장성
          1. 특허

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              Enables Large Language Models to access real-time data on Vilnius public transport stops and routes through the Model Context Protocol.
              Last updated -
              2
              1
              Python
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that provides language models with access to personal Whoop fitness data, allowing queries for cycles, recovery, strain, and workout information from the Whoop API.
              Last updated -
              2
              Python
              • Apple
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables Claude to interact with your Todoist account, allowing you to manage tasks, projects, and labels through natural language.
              Last updated -
              1
              Python
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol implementation that enables large language models to call external tools (like weather forecasts and GitHub information) through a structured protocol, with visualization of the model's reasoning process.
              Last updated -
              839
              TypeScript

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/jorekai/db-timetable-mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server