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.
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
- Repositorio de clones:Copy
- Instalar dependencias:Copy
- Compilar código TypeScript:Copy
configuración
Cree un archivo .env
en el directorio raíz del proyecto con las siguientes variables de entorno:
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
osse
, 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):
En modo SSE (para clientes web):
Prueba con el modo Inspeccionar
El servidor se puede probar con el Inspector FastMCP:
Herramientas MCP
El servidor proporciona las siguientes herramientas:
- 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)
- Parámetro:
- 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)
- Parámetro:
- 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.)
- Parámetro:
- findStations : busca estaciones utilizando un patrón de búsqueda
- Parámetro:
pattern
- patrón de búsqueda (p. ej., "Frankfurt" o "BLS")
- Parámetro:
Recursos de MCP
El servidor proporciona los siguientes recursos:
- Datos del horario actual :
db-api:timetable/current/{evaNo}
- Cambios de horario actuales :
db-api:timetable/changes/{evaNo}
- Datos del horario planificado :
db-api:timetable/planned/{evaNo}/{date}/{hour}
- Búsqueda de estación :
db-api:station/{pattern}
Desarrollo
Estructura del proyecto
Scripts de NPM
npm run build
: compila el código TypeScriptnpm start
: inicia el servidornpm run dev
: inicia el servidor en modo de desarrollo con recarga automáticanpm test
: ejecuta pruebas
Extensibilidad
Posibles extensiones
- 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
- 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
This server cannot be installed
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.