grand-lyon-mcp
Servidor MCP local somente leitura que agrega dados abertos da Métropole de Lyon (TCL, Vélo'v, estacionamento, trânsito, equipamentos, resíduos) por meio de 10 ferramentas de negócio. Fixtures offline sem credenciais; modo ao vivo com conta DataGrandLyon. Projeto independente, não afiliado à Métropole.
Documentação
grand-lyon-mcp
Um servidor MCP local para dados abertos da Métropole de Lyon. Dez ferramentas somente leitura fornecem partidas TCL, estacionamento, acessibilidade, instalações, resíduos, opções de viagem e briefings pessoais. Opções de viagem e briefings também usam dados Vélo'v.
O servidor usa stdio. Os logs do aplicativo vão para stderr. Os resumos das ferramentas estão em francês. Ele executa com fixtures locais quando o modo offline está ativado ou quando as credenciais DataGrandLyon estão ausentes.
Instalar a partir da fonte
Requisitos: Python 3.12 ou posterior e uv. CI verifica Python 3.12 e 3.13. Uma conta DataGrandLyon é 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
A configuração copia modelos de configuração empacotados e migra o banco de dados
SQLite local. Para configuração interativa ao vivo, execute uv run grand-lyon-mcp setup.
A configuração ao vivo armazena credenciais em um arquivo de configuração do usuário
com modo 0600.
Importe as paradas e o horário de demonstração empacotados:
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
As datas dos fixtures são fixas. São dados de demonstração, não partidas atuais.
O comando smoke é um diagnóstico; ele pode relatar resultados de
ferramentas indisponíveis. Para verificações de sucesso rigorosas, use o
procedimento de verificação.
Conectar um cliente MCP
Para um checkout da fonte, gere um bloco de configuração com caminhos absolutos:
uv run grand-lyon-mcp client-config
Exemplo:
{
"mcpServers": {
"grand-lyon": {
"command": "/absolute/path/mcp-grand-lyon/scripts/run_mcp.sh",
"args": ["serve", "--transport", "stdio"]
}
}
}
O wrapper carrega credenciais locais e inicia o servidor. Um servidor stdio aguarda um cliente em stdin; ele não mostra um prompt interativo. Consulte clientes MCP para instalações via wheel e caminhos de credenciais.
Ferramentas
| Ferramenta | Finalidade |
|---|---|
lyon_resolve_place | Resolver um endereço, parada ou local pessoal |
lyon_next_departures | Partidas TCL em tempo real com fallback teórico GTFS |
lyon_mobility_status | Alertas de trânsito, incidentes de acessibilidade e eventos rodoviários |
lyon_trip_options | Comparar modos de viagem |
lyon_parking_options | Estacionamento público e opções de estacionamento dissuasivo |
lyon_accessibility_check | Evidências de acessibilidade disponíveis |
lyon_nearby_facilities | Instalações próximas |
lyon_environment_brief | Indicadores ambientais, onde suportados |
lyon_waste_dropoff | Classificar resíduos e encontrar instalações de coleta |
lyon_personal_briefing | Criar um briefing a partir de um perfil local |
Consulte a referência de ferramentas para argumentos, limites e
status de resultados. Resultados GTFS são sempre teóricos. A capacidade de
estacionamento nunca se torna uma contagem inventada de vagas disponíveis. Dados de
acessibilidade ausentes significam unknown.
Configuração e dados
Modelos de configuração e fixtures são instalados com o pacote em
grand_lyon_mcp/_data/. Arquivos do usuário usam os caminhos de platformdirs.
- Configuração Linux:
~/.config/grand-lyon-mcp/ - Configuração macOS:
~/Library/Application Support/grand-lyon-mcp/ - Encontre o caminho atual:
grand-lyon-mcp env --config-dir - Substitua caminhos com
GRAND_LYON_MCP_CONFIG_DIR,GRAND_LYON_MCP_DATA_DIReGRAND_LYON_MCP_DB_PATH. - Ative o modo offline com
GRAND_LYON_MCP_OFFLINE=true.
A CLI não carrega o .env do checkout automaticamente. O wrapper e os
alvos de runtime do Makefile carregam. Consulte Operações para
sincronização GTFS, manutenção SQLite, descoberta de fontes, limites de cache e
solução de problemas.
Desenvolvimento e verificação
uv sync --locked --all-extras --dev
make quality
O portão de qualidade verifica formatação, lint, tipos estritos e testes offline com um mínimo de 85% de cobertura. Verificações separadas de wheel instalado iniciam processos CLI e MCP fora do checkout. Elas exigem resultados de fixtures não vazios e retêm transcrições de protocolo. CI envia evidências de qualidade e protocolo. Consulte Testes e Contribuição.
Limites e privacidade
- O transporte MCP é somente stdio.
- O roteamento Transitous é opcional e desativado por padrão. Sem um roteador, a duração da viagem TCL pode ficar indisponível.
- Indicadores ambientais ao vivo não são configurados. Eles retornam um aviso explícito de indicador não suportado.
- Fixtures e simulações HTTP verificam o comportamento local, não a disponibilidade upstream.
- Perfis, briefings e histórico Vélo'v permanecem no armazenamento SQLite local. Não há telemetria. Geocodificação e roteamento ao vivo enviam os locais ou coordenadas necessários aos seus provedores.
Documentação
- Arquitetura
- Clientes MCP
- Referência de ferramentas
- Fontes de dados
- Operações
- Testes
- Changelog, Segurança, Atribuições
Licença
Código: MIT. Dados têm licenças específicas da fonte; consulte Atribuições. Este projeto é independente da Métropole de Lyon, SYTRAL Mobilités, Keolis-TCL e JCDecaux. Seus nomes e marcas identificam serviços.