Skip to main content
Glama

DB Timetable MCP Server

by jorekai

Servidor MCP de horarios de base de datos

Un servidor de Protocolo de Contexto de Modelo (MCP) para la API de horarios de Deutsche Bahn. El servidor proporciona herramientas y recursos MCP para acceder a datos de horarios, información de estaciones y cambios de trenes.

Obligación de nombrar:

Este proyecto proporciona datos de horarios de Deutsche Bahn, que están disponibles públicamente bajo la licencia Creative Commons Atribución 4.0 Internacional (CC BY 4.0) .

Puede encontrar más información sobre la API y las condiciones de la licencia en developer.deutschebahn.com . Las solicitudes de API están sujetas a los términos de la licencia.

Funciones

  • Horarios actuales : recupera datos de horarios actuales de una estación
  • Cambios de horario : Seguimiento de los últimos cambios
  • Horarios planificados : acceso a datos de horarios planificados para una hora específica
  • Búsqueda de estaciones : busca estaciones de tren por nombre o código

Requisitos

  • Node.js 18 o superior
  • Credenciales de API para la API de DB Timetable (ID de cliente y secreto de cliente)

instalación

  1. Repositorio de clones:
    git clone <repository-url> cd db-mcp
  2. Instalar dependencias:
    npm install
  3. Compilar código TypeScript:
    npm run build

configuración

Cree un archivo .env en el directorio raíz del proyecto con las siguientes variables de entorno:

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

Opciones de configuración

  • DB_TIMETABLE_CLIENT_ID : ID de cliente para la API de base de datos (obligatorio)
  • DB_TIMETABLE_CLIENT_SECRET : Secreto del cliente para la API de base de datos (obligatorio)
  • TRANSPORT_TYPE : Tipo de transporte para el servidor MCP ( stdio o sse , predeterminado: stdio )
  • PORT : Puerto para el servidor SSE (predeterminado: 8080 )
  • SSE_ENDPOINT : Punto final para conexiones SSE (predeterminado: /sse )
  • LOG_LEVEL : Nivel de registro ( debug , info , warn , error , predeterminado: info )

usar

Iniciar servidor

En modo stdio (para pruebas y depuración de CLI):

npm start

En modo SSE (para clientes web):

TRANSPORT_TYPE=sse npm start

Prueba con el modo Inspeccionar

El servidor se puede probar con el Inspector FastMCP:

npx fastmcp inspect path/to/index.js

Herramientas MCP

El servidor proporciona las siguientes herramientas:

  1. getCurrentTimetable : recupera los datos del horario actual de una estación
    • Parámetro: evaNo - Número EVA de la estación (p. ej., 8000105 para Frankfurt Hbf)
  2. getRecentChanges : recupera los cambios recientes de una estación
    • Parámetro: evaNo - Número EVA de la estación (p. ej., 8000105 para Frankfurt Hbf)
  3. getPlannedTimetable : recupera datos de horarios planificados para una estación
    • Parámetro:
      • evaNo - Número EVA de la estación (p. ej. 8000105 para Frankfurt Hbf)
      • date - Fecha en formato AAMMDD (p. ej. 230401 para 01.04.2023)
      • hour - hora en formato HH (p. ej. 14 para las 2 p.m.)
  4. findStations : busca estaciones utilizando un patrón de búsqueda
    • Parámetro: pattern - patrón de búsqueda (p. ej., "Frankfurt" o "BLS")

Recursos de MCP

El servidor proporciona los siguientes recursos:

  1. Datos del horario actual : db-api:timetable/current/{evaNo}
  2. Cambios de horario actuales : db-api:timetable/changes/{evaNo}
  3. Datos del horario planificado : db-api:timetable/planned/{evaNo}/{date}/{hour}
  4. Búsqueda de estación : db-api:station/{pattern}

Desarrollo

Estructura del proyecto

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

Scripts de NPM

  • npm run build : compila el código TypeScript
  • npm start : inicia el servidor
  • npm run dev : inicia el servidor en modo de desarrollo con recarga automática
  • npm test : ejecuta pruebas

Extensibilidad

Posibles extensiones

  1. Procesamiento y enriquecimiento de datos
    • Procesamiento de datos de horarios semánticos: XML a JSON estructurado con enriquecimiento semántico
    • Análisis de datos históricos para detectar retrasos e interrupciones
    • Integración de conexiones de transporte multimodal
  2. Herramientas MCP avanzadas
    • Planificación de rutas entre estaciones
    • Previsiones de retrasos y capacidad basadas en IA
    • Análisis de interrupciones de viajes
    • Comprobación de accesibilidad para estaciones y conexiones

Licencia

Servidor MCP: Licencia MIT

API de horarios de DB: Licencia Creative Commons Atribución 4.0 Internacional

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

Proporciona acceso a los horarios de trenes de Deutsche Bahn, información de estaciones y cambios de horarios a través de las herramientas y recursos del Protocolo de Contexto de Modelo.

  1. Funciones
    1. Requisitos
      1. instalación
        1. configuración
          1. Opciones de configuración
        2. usar
          1. Iniciar servidor
          2. Prueba con el modo Inspeccionar
          3. Herramientas MCP
          4. Recursos de MCP
        3. Desarrollo
          1. Estructura del proyecto
          2. Scripts de NPM
        4. Extensibilidad
          1. Licencia

            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