grand-lyon-mcp

Servidor MCP local de solo lectura que agrega datos abiertos de la Métropole de Lyon (TCL, Vélo'v, estacionamiento, tráfico, instalaciones, residuos) detrás de 10 herramientas de negocio. Datos de prueba sin conexión sin credenciales; modo en vivo con cuenta de DataGrandLyon. Proyecto independiente, no afiliado a la Métropole.

Documentación

grand-lyon-mcp

CI License: MIT Python

Un servidor MCP local para datos abiertos de la Métropole de Lyon. Diez herramientas de solo lectura proporcionan salidas de TCL, aparcamientos, accesibilidad, instalaciones, residuos, opciones de viaje y resúmenes personales. Las opciones de viaje y los resúmenes también utilizan datos de Vélo'v.

Ten MCP tools use application services, local SQLite data, and either fixture or live providers. GTFS fallback stays theoretical.

El servidor utiliza stdio. Los registros de la aplicación van a stderr. Los resúmenes de las herramientas están en francés. Se ejecuta con datos locales de prueba cuando el modo sin conexión está habilitado o faltan las credenciales de DataGrandLyon.

Instalar desde el código fuente

Requisitos: Python 3.12 o posterior y uv. CI verifica Python 3.12 y 3.13. Una cuenta de DataGrandLyon es opcional.

git clone https://github.com/ThomasCrouzet/mcp-grand-lyon.git
cd mcp-grand-lyon
uv sync --locked --all-extras --dev
uv run grand-lyon-mcp setup --yes --offline --skip-install

La configuración copia las plantillas de configuración empaquetadas y migra la base de datos SQLite local. Para una configuración interactiva en vivo, ejecute uv run grand-lyon-mcp setup. La configuración en vivo almacena las credenciales en un archivo de configuración de usuario con modo 0600.

Importe las paradas y el horario de demostración empaquetados:

uv run grand-lyon-mcp sync gtfs --from-file src/grand_lyon_mcp/_data/fixtures/gtfs/mini_gtfs.zip
uv run grand-lyon-mcp doctor
uv run grand-lyon-mcp smoke

Las fechas de los datos de prueba son fijas. Son datos de demostración, no salidas actuales. El comando smoke es un diagnóstico; puede informar resultados de herramientas no disponibles. Para comprobaciones de éxito estrictas, utilice el procedimiento de verificación.

Conectar un cliente MCP

Para una copia del código fuente, genere un bloque de configuración con rutas absolutas:

uv run grand-lyon-mcp client-config

Ejemplo:

{
  "mcpServers": {
    "grand-lyon": {
      "command": "/absolute/path/mcp-grand-lyon/scripts/run_mcp.sh",
      "args": ["serve", "--transport", "stdio"]
    }
  }
}

El envoltorio carga las credenciales locales e inicia el servidor. Un servidor stdio espera a un cliente en stdin; no muestra un mensaje interactivo. Consulte clientes MCP para instalaciones desde ruedas y rutas de credenciales.

Herramientas

HerramientaPropósito
lyon_resolve_placeResolver una dirección, parada o lugar personal
lyon_next_departuresSalidas en tiempo real de TCL con respaldo teórico de GTFS
lyon_mobility_statusAlertas de tránsito, incidentes de accesibilidad y eventos viales
lyon_trip_optionsComparar modos de viaje
lyon_parking_optionsAparcamientos públicos y opciones de estacionamiento disuasorio
lyon_accessibility_checkEvidencia de accesibilidad disponible
lyon_nearby_facilitiesInstalaciones cercanas
lyon_environment_briefIndicadores ambientales, donde estén disponibles
lyon_waste_dropoffClasificar residuos y encontrar instalaciones de recogida
lyon_personal_briefingCrear un resumen a partir de un perfil local

Consulte la referencia de herramientas para argumentos, límites y estado de resultados. Los resultados de GTFS son siempre teóricos. La capacidad de aparcamiento nunca se convierte en un recuento inventado de espacios disponibles. La falta de datos de accesibilidad significa unknown.

Configuración y datos

Las plantillas de configuración y los datos de prueba se instalan con el paquete en grand_lyon_mcp/_data/. Los archivos de usuario utilizan las rutas de platformdirs.

  • Configuración de Linux: ~/.config/grand-lyon-mcp/
  • Configuración de macOS: ~/Library/Application Support/grand-lyon-mcp/
  • Encontrar la ruta actual: grand-lyon-mcp env --config-dir
  • Sobrescribir rutas con GRAND_LYON_MCP_CONFIG_DIR, GRAND_LYON_MCP_DATA_DIR y GRAND_LYON_MCP_DB_PATH.
  • Habilitar el modo sin conexión con GRAND_LYON_MCP_OFFLINE=true.

La CLI no carga el .env de la copia de trabajo automáticamente. El envoltorio y los objetivos de ejecución del Makefile sí lo hacen. Consulte Operaciones para la sincronización de GTFS, mantenimiento de SQLite, descubrimiento de fuentes, límites de caché y resolución de problemas.

Desarrollo y verificación

uv sync --locked --all-extras --dev
make quality

El control de calidad verifica formato, lint, tipos estrictos y pruebas sin conexión con un mínimo de cobertura del 85%. Comprobaciones separadas de ruedas instaladas inician procesos CLI y MCP fuera de la copia de trabajo. Requieren resultados de datos de prueba no vacíos y conservan transcripciones de protocolo. CI sube evidencia de calidad y protocolo. Consulte Pruebas y Contribuciones.

Límites y privacidad

  • El transporte MCP es solo stdio.
  • El enrutamiento de Transitous es opcional y está deshabilitado por defecto. Sin un enrutador, la duración del viaje en TCL puede no estar disponible.
  • Los indicadores ambientales en vivo no están configurados. Devuelven una advertencia explícita de indicador no compatible.
  • Los datos de prueba y las simulaciones HTTP verifican el comportamiento local, no la disponibilidad de los servicios externos.
  • Los perfiles, resúmenes e historial de Vélo'v permanecen en el almacenamiento SQLite local. No hay telemetría. La geocodificación y el enrutamiento en vivo envían los lugares o coordenadas requeridos a sus proveedores.

Documentación

Licencia

Código: MIT. Los datos tienen licencias específicas de la fuente; consulte Atribuciones. Este proyecto es independiente de la Métropole de Lyon, SYTRAL Mobilités, Keolis-TCL y JCDecaux. Sus nombres y marcas identifican servicios.