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

NPM version License

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

SistemaDados Fornecidos
IZBANLista de estações, partidas, tarifas
ESHOTBusca de paradas e linhas, ônibus próximos, localizações GPS, paradas próximas
BondeLinhas, 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
TremLista 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ções
  • get-izban-departures — Partidas programadas entre duas estações
  • get-izban-fare-tariff — Cálculo de tarifas

ESHOT

  • get-eshot-stations — Busca de paradas
  • get-eshot-lines — Busca de linhas
  • get-line-approaching-buses — Ônibus se aproximando de uma parada específica
  • get-line-bus-locations — Localização GPS de todos os ônibus em uma linha
  • get-station-approaching-buses — Todos os ônibus se aproximando de uma parada
  • get-nearby-stations-by-coords — Paradas próximas por coordenadas

Bonde

  • get-tram-lines — Todas as linhas
  • get-tram-stations-by-sefer-id — Estações por ID de partida
  • get-tram-sefer-frequency-by-sefer-id — Frequência de partidas

Metrô

  • get-metro-stations — Lista de estações
  • get-metro-sefer-frequencies — Frequência de partidas

Balsa (Izdeniz)

  • get-ferry-timetables — Horários de partida por origem/destino e tipo de dia
  • get-ferry-timetables-by-pier — Horários de partida por píer
  • get-ferry-working-days — Dias de operação
  • get-ferry-piers — Informações do píer

Trem

  • get-train-stations — Lista de estações ferroviárias

Variáveis de Ambiente

VariávelPadrãoDescrição
MCP_NAMEIzmirMCPNome do servidor MCP
BASE_URLhttps://openapi.izmir.bel.tr/apiURL base da API OpenAPI do IBB
CKAN_BASE_URLhttps://acikveri.bizizmir.com/api/3/actionURL base da API CKAN de dados abertos
ESHOT_HAT_RESOURCE_IDbd6c84f8-49ba-4cf4-81f8-81a0fbb5caa3ID do recurso de dados de linhas do ESHOT
ESHOT_DURAK_RESOURCE_ID0c791266-a2e4-4f14-82b8-9a9b102fbf94ID do recurso de dados de paradas do ESHOT
HTTP_TIMEOUT10000Tempo limite de solicitação HTTP (ms)
MAX_RETRIES3Nú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

Screenshot 2025-06-21 142156 Screenshot 2025-06-21 142143 Screenshot 2025-06-21 141825 image image


Contribuindo

Contribuições são bem-vindas:

  1. Faça um fork do repositório
  2. Crie um novo branch (git checkout -b ozellik/yenilik)
  3. Faça commit das alterações
  4. Envie o branch
  5. 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.