IzmirMCP
Acesse dados em tempo real do transporte público de İzmir, incluindo posições de veículos, chegadas e horários da İZBAN e ESHOT.
Documentação
IzmirMCP — Servidor MCP de Transporte Público de Izmir
IzmirMCP é um servidor TypeScript de código aberto que fornece dados de transporte público de Izmir (IZBAN, ESHOT, Bonde, Metrô, Balsa/Izdeniz, Trem) por meio do Model Context Protocol (MCP). Ele torna dados em tempo real de localização de ônibus, horários de partidas e informações de paradas facilmente acessíveis para assistentes de IA (incluindo Claude) e outros clientes MCP.
Conceitos-chave focados em SEO: API de transporte público de Izmir, localização de ônibus em tempo real, horários do metrô de Izmir, partidas do IZBAN, paradas do ESHOT, servidor MCP, Model Context Protocol.
O Que Oferece?
- Integração MCP centralizada para os sistemas de transporte público de Izmir
- Dados em tempo real: localização de ônibus e partidas próximas
- Horários de partidas, listas de estações/paradas, buscas de linhas
- Estrutura modular: ferramentas para Izban, Eshot, Metrô, Bonde, Balsa e Trem
- Compatível com Node.js 18+, desenvolvido em TypeScript
Sistemas Suportados e Tipos de Dados
| Sistema | Dados Fornecidos |
|---|---|
| IZBAN | Lista de estações, partidas, tarifas |
| ESHOT | Busca de paradas e linhas, ônibus próximos, localizações GPS, paradas próximas |
| Bonde | Linhas, estações, frequência de partidas |
| Metrô | Estações, frequência de partidas |
| Balsa (Izdeniz) | Píeres, horários de partida, dias de operação |
| Trem | Lista de estações ferroviárias e informações de localização |
Instalação e Início Rápido
Executando com NPM (recomendado)
npx izmir-mcp
Alternativamente, instalação global:
npm install -g izmir-mcp
izmir-mcp
IzmirMCP opera com transporte stdio MCP; não abre porta HTTP. Seu cliente MCP gerencia esse processo via stdio.
Instalação a partir do código-fonte
git clone https://github.com/halilcengel/IzmirMCP.git
cd IzmirMCP
npm install
npm run build
npm start
Configuração do Cliente MCP (Claude, etc.)
{
"mcpServers": {
"izmir-mcp": {
"command": "npx",
"args": ["izmir-mcp"]
}
}
}
Exemplos de Cenários de Uso
Os exemplos a seguir mostram como você pode consultar dados de transporte público de Izmir em um cliente MCP:
ESHOT durak arama:
"Alsancak" bolgesindeki ESHOT duraklarini getir.
Hat uzerindeki otobus konumlari:
Hat 551 icin tum otobuslerin anlik GPS konumlarini getir.
Duraga yaklasan otobusler:
Durak ID 12345 icin yaklasan otobusleri listele.
IZBAN seferleri:
Aliağa (123) ile Alsancak (456) arasindaki IZBAN seferlerini getir.
Metro sefer sikligi:
Izmir metro sefer sikligini getir.
Vapur saatleri:
Karsiyaka - Alsancak arasi hafta ici vapur saatlerini getir.
Se desejar, você também pode converter esses prompts em chamadas de ferramentas MCP.
Ferramentas
IZBAN
get-izban-stations— Lista de estaçõesget-izban-departures— Partidas programadas entre duas estaçõesget-izban-fare-tariff— Cálculo de tarifas
ESHOT
get-eshot-stations— Busca de paradasget-eshot-lines— Busca de linhasget-line-approaching-buses— Ônibus se aproximando de uma parada específicaget-line-bus-locations— Localização GPS de todos os ônibus em uma linhaget-station-approaching-buses— Todos os ônibus se aproximando de uma paradaget-nearby-stations-by-coords— Paradas próximas por coordenadas
Bonde
get-tram-lines— Todas as linhasget-tram-stations-by-sefer-id— Estações por ID de partidaget-tram-sefer-frequency-by-sefer-id— Frequência de partidas
Metrô
get-metro-stations— Lista de estaçõesget-metro-sefer-frequencies— Frequência de partidas
Balsa (Izdeniz)
get-ferry-timetables— Horários de partida por origem/destino e tipo de diaget-ferry-timetables-by-pier— Horários de partida por píerget-ferry-working-days— Dias de operaçãoget-ferry-piers— Informações do píer
Trem
get-train-stations— Lista de estações ferroviárias
Variáveis de Ambiente
| Variável | Padrão | Descrição |
|---|---|---|
MCP_NAME | IzmirMCP | Nome do servidor MCP |
BASE_URL | https://openapi.izmir.bel.tr/api | URL base da API OpenAPI do IBB |
CKAN_BASE_URL | https://acikveri.bizizmir.com/api/3/action | URL base da API CKAN de dados abertos |
ESHOT_HAT_RESOURCE_ID | bd6c84f8-49ba-4cf4-81f8-81a0fbb5caa3 | ID do recurso de dados de linhas do ESHOT |
ESHOT_DURAK_RESOURCE_ID | 0c791266-a2e4-4f14-82b8-9a9b102fbf94 | ID do recurso de dados de paradas do ESHOT |
HTTP_TIMEOUT | 10000 | Tempo limite de solicitação HTTP (ms) |
MAX_RETRIES | 3 | Número de tentativas |
Fontes de Dados
Os dados são obtidos da API aberta e das fontes de dados abertos do Município Metropolitano de Izmir:
Capturas de Tela
Contribuindo
Contribuições são bem-vindas:
- Faça um fork do repositório
- Crie um novo branch (
git checkout -b ozellik/yenilik) - Faça commit das alterações
- Envie o branch
- Crie um Pull Request
Licença
Este projeto é licenciado sob a Licença ISC.
Aviso de Isenção de Responsabilidade
Este projeto não é um aplicativo oficial do Município Metropolitano de Izmir. Os dados são obtidos de fontes públicas. Não há garantia de precisão ou atualidade.