Provides tools for managing ride-hailing operations including driver availability tracking, trip management, fare calculations, real-time location updates, and driver performance statistics stored in a Supabase database.
Enables deployment of the MCP server as a Vercel serverless function with SSE support for integration with MCP clients.
MI PANA APP - MCP Server
Servidor MCP (Model Context Protocol) para gestión de viajes, conductores y tarifas de MI PANA APP.
🚀 Características
Búsqueda de conductores disponibles por ubicación y radio
Cálculo de tarifas dinámicas basadas en distancia y tiempo
Gestión de viajes (crear, actualizar, completar)
Seguimiento en tiempo real de ubicación de conductores
Estadísticas de conductores por período
Cálculo de distancias usando fórmula de Haversine
📋 Herramientas Disponibles
1. buscar_conductores_disponibles
Busca conductores disponibles en un radio específico.
Parámetros:
latitud(number): Latitud del punto de búsquedalongitud(number): Longitud del punto de búsquedaradio_km(number, opcional): Radio de búsqueda en km (default: 5)
2. crear_viaje
Crea una nueva solicitud de viaje.
Parámetros:
user_id(string): ID del usuarioorigen(object): { latitud, longitud, direccion }destino(object): { latitud, longitud, direccion }metodo_pago(string): efectivo | transferencia | pago_movil
3. calcular_tarifa
Calcula la tarifa estimada de un viaje.
Parámetros:
distancia_km(number): Distancia en kilómetrosduracion_min(number, opcional): Duración en minutostipo_servicio(string, opcional): mototaxi | el_pana | el_amigo | full_panamoneda(string, opcional): BS | USD
4. actualizar_ubicacion_conductor
Actualiza la ubicación en tiempo real de un conductor.
Parámetros:
conductor_id(string): ID del conductorlatitud(number): Latitud actuallongitud(number): Longitud actualrumbo(number, opcional): Dirección en grados (0-360)
5. obtener_estadisticas_conductor
Obtiene estadísticas de rendimiento de un conductor.
Parámetros:
conductor_id(string): ID del conductorperiodo(string, opcional): today | week | month | all_time
6. completar_viaje
Marca un viaje como completado y calcula la tarifa final.
Parámetros:
viaje_id(string): ID del viajedistancia_real_km(number): Distancia real recorridaduracion_real_min(number): Duración real del viajecalificacion(number, opcional): Calificación 1-5
7. calcular_distancia
Calcula la distancia entre dos puntos geográficos.
Parámetros:
origen(object): { latitud, longitud }destino(object): { latitud, longitud }
🛠️ Instalación Local
🚀 Despliegue en Vercel
Opción 1: Desde GitHub
Sube el código a un repositorio de GitHub
Importa el proyecto en Vercel
Configura las variables de entorno en Vercel:
SUPABASE_URLSUPABASE_SERVICE_KEYBASE_FARE_BSPER_KM_BSPER_MIN_BSMIN_FARE_BSUSD_EXCHANGE_RATEFUEL_PRICE_BS
Opción 2: Desde CLI
🔗 Configuración en Manus
Una vez desplegado en Vercel:
Obtén la URL de tu despliegue (ej:
https://mipanaapp-mcp.vercel.app)En Manus, ve a Settings → Conectores
Edita el conector "MI PANA APP - Gestión de Viajes"
Actualiza la URL a:
https://tu-proyecto.vercel.app/mcpGuarda los cambios
📊 Estructura del Proyecto
🧪 Pruebas
Ejemplos de uso con Manus:
📝 Notas
El servidor usa Supabase como base de datos
Las tarifas se calculan en Bolívares (BS) y pueden convertirse a USD
La velocidad promedio asumida es 20 km/h para cálculos de ETA
El servidor soporta tanto stdio (para uso local) como SSE (para Vercel)
🔒 Seguridad
Nunca compartas tu
SUPABASE_SERVICE_KEYpúblicamenteUsa variables de entorno para todas las credenciales
El service_role key tiene permisos completos en Supabase
📄 Licencia
MIT
👤 Autor
Carlos Depool - MI PANA APP