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:
- Instalar dependencias:
- Compilar código TypeScript:
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
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.
Related MCP Servers
- AsecurityFlicenseAqualityEnables Large Language Models to access real-time data on Vilnius public transport stops and routes through the Model Context Protocol.Last updated -21Python
- -securityFlicense-qualityA 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 -2Python
- -securityFlicense-qualityA 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 -1Python
- -securityFlicense-qualityA 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 -839TypeScript