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
Related MCP server: DevDb MCP Server
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:
git clone <repository-url> cd db-mcpInstalar dependencias:
npm installCompilar 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=infoOpciones 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 (stdioosse, 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 startEn modo SSE (para clientes web):
TRANSPORT_TYPE=sse npm startPrueba con el modo Inspeccionar
El servidor se puede probar con el Inspector FastMCP:
npx fastmcp inspect path/to/index.jsHerramientas 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)
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)
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.)
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:
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
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.mdScripts 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
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.