Skip to main content
Glama

DB Timetable MCP Server

by jorekai

DB時刻表MCPサーバー

ドイツ鉄道時刻表 API 用のモデル コンテキスト プロトコル (MCP) サーバー。サーバーは、時刻表データ、駅情報、列車の変更にアクセスするための MCP ツールとリソースを提供します。

命名義務:

このプロジェクトは、クリエイティブ コモンズ アトリビューション 4.0 国際ライセンス (CC BY 4.0)に基づいて公開されているドイツ鉄道の時刻表データを提供します。

API およびライセンス条件の詳細については、 developers.deutschebahn.comをご覧ください。 API リクエストにはライセンスの条件が適用されます。

機能

  • 現在の時刻表: 駅の現在の時刻表データを取得します
  • 時刻表の変更:最新の変更を追跡する
  • 予定時刻表: 特定の時間の予定時刻表データへのアクセス
  • 駅検索:駅名またはコードで駅を検索します

要件

  • Node.js 18以上
  • DBタイムテーブルAPIのAPI認証情報(クライアントIDとクライアントシークレット)

インストール

  1. リポジトリのクローン:
    git clone <repository-url> cd db-mcp
  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 : ログレベル ( debuginfowarnerror 、デフォルト: info )

使用

サーバーを起動する

stdio モード (CLI テストおよびデバッグ用):

npm start

SSE モード (Web クライアントの場合):

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(https://developers.deutschebahn.com/db-api-marketplace/apis/product/timetables)

-
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.

モデル コンテキスト プロトコルのツールとリソースを通じて、ドイツ鉄道の列車の時刻表、駅情報、スケジュールの変更にアクセスできるようにします。

  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