Servidor MCP de bus KMB
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso en tiempo real a la información de rutas y horarios de llegada de los autobuses KMB (九龍巴士) y Long Win (龍運巴士) de Hong Kong. Este servidor permite a los Modelos de Lenguaje consultar la información del servicio de autobuses de Hong Kong para responder a las preguntas de los usuarios sobre rutas, paradas y horarios de llegada estimados.
Características
Información de llegada de autobuses en tiempo real (ETA)
Consultas completas de rutas de autobús
Información y búsquedas de paradas de autobús
Mapeo de rutas y paradas
Sistema de almacenamiento en caché para optimizar las llamadas API
Soporte bilingüe (inglés y chino tradicional)
Related MCP server: mcp-flight-search
Fuente de datos
Este proyecto utiliza la API oficial de datos abiertos KMB/LWB:
Prerrequisitos
Python 3.10 o superior
administrador de paquetes uv
Instalación
Primero, instala uv si aún no lo has hecho:
curl -LsSf https://astral.sh/uv/install.sh | shClonar el repositorio:
git clone git@github.com:kennyckk/mcp_hkbus.git
cd mcp_hkbusUtilice uv para manejar el paquete de Python:
uv sync #using uv.lockUso
Edite la configuración en su cliente MCP (por ejemplo, Claude Desktop):
{
"mcpServers": {
"bus_service": {
"command": "path/to/uv.exe",
"args": ["--directory", "path/to/kmb_bus", "run", "kmb_mcp.py"],
"background": true
}
}
}El servidor proporciona varias herramientas que los modelos de lenguaje pueden utilizar para consultar información del bus:
get_route_list(): obtiene una lista de todas las rutas de autobúsget_stop_list(): Obtener una lista de todas las paradas de autobúsget_route_stops(): Obtener paradas para una ruta específicafind_stops_by_name(): busca paradas de autobús por nombreget_all_routes_at_stop(): Obtener todas las rutas que sirven a una parada específicaget_eta(): Obtener los tiempos de llegada estimados
Pruebas
Ejecute el conjunto de pruebas usando pytest:
pytest test/kmb-mcp-tests.pyDependencias
httpx: para solicitudes HTTP asíncronasfastmcp: Para la implementación del servidor MCPpytest: para pruebas (solo desarrollo)
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Expresiones de gratitud
KMB/LWB por proporcionar la API de datos abiertos
Los desarrolladores del protocolo MCP
Nota
Este servicio se basa en la API de datos abiertos KMB/LWB. Tenga en cuenta los límites de velocidad de la API e implemente un manejo de errores adecuado en entornos de producción.