Servidor MCP BMTC de Bengaluru
Una implementación de un servidor del Programa de Conector de Centro Comercial (MCP) para los servicios de autobús de la Corporación de Transporte Metropolitano de Bangalore (BMTC).
Arquitectura

El servidor MCP de BMTC sigue una arquitectura modular en capas que separa las tareas y facilita el mantenimiento. El sistema está diseñado para gestionar datos de tránsito en tiempo real de los autobuses de la Corporación de Transporte Metropolitano de Bangalore (BMTC) y proporcionarlos mediante una API estandarizada.
Componentes principales
Capa API : puntos finales RESTful para autenticación, rutas, paradas, ubicaciones de autobuses e información de ETA
Capa de servicio : lógica empresarial, transformación de datos y cálculos de ETA
Capa de acceso a datos : integración de MongoDB a través de Mongoose ODM
Capa de almacenamiento en caché : almacenamiento en caché basado en Redis para un rendimiento mejorado
Capa de integración externa : Integración de API BMTC
Lea la documentación completa de la arquitectura
Related MCP server: Singapore LTA MCP Server
Características
Seguimiento de la ubicación del autobús en tiempo real
Información de rutas y programación
Detalles de la parada y ETA (hora estimada de llegada)
Soporte para más de 2200 rutas de autobús y más de 8400 paradas de autobús en Bengaluru
Autenticación y autorización
Almacenamiento en caché y optimización de datos
Consultas geoespaciales para paradas y autobuses cercanos
Prerrequisitos
Node.js (v14 o posterior)
npm o hilo
MongoDB
Redis (opcional, para almacenamiento en caché)
Git
Instalación y configuración
Método 1: Instalación estándar
Clonar el repositorio
Instalar dependencias
Configurar variables de entorno
Edite el archivo .env con su configuración:
Sembrar la base de datos con datos simulados (opcional)
Iniciar el servidor
Para desarrollo con reinicio automático:
Método 2: Usar Docker Compose
Clonar el repositorio
Configurar variables de entorno (opcional)
Puede modificar las variables de entorno directamente en el archivo docker-compose.yml o crear un archivo .env :
Construir e iniciar los contenedores
Esto iniciará tres contenedores:
bmtc-mcp-api: El servidor API de Node.jsbmtc-mcp-mongo: base de datos MongoDBbmtc-mcp-redis: servidor de caché de Redis
Sembrar la base de datos con datos simulados (opcional)
Ver registros
Detener los contenedores
Para eliminar volúmenes también:
Usando la API
Una vez que el servidor esté en funcionamiento, puedes acceder a la API en:
Para obtener la documentación de la API, visite:
Puntos finales de API de ejemplo
Claves API
Secreto de JWT
El secreto JWT se utiliza para firmar tokens de autenticación. Genere una cadena aleatoria segura:
Añade esto a tu archivo .env :
Clave API de BMTC
Para el desarrollo, puede utilizar datos simulados sin una clave API BMTC real:
Para la producción, deberá comunicarse directamente con BMTC para solicitar acceso oficial a la API.
Desarrollo
Pruebas
Ejecutar las pruebas:
Ejecutar pruebas con cobertura:
Pelusa
Comprobar el estilo del código:
Corregir problemas de estilo de código:
Estructura del proyecto
Contribuyendo
Lea CONTRIBUTING.md para obtener detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.