npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

izmir-mcp

v1.1.0

Published

TypeScript MCP server for real-time İZBAN & ESHOT data: vehicle positions, arrivals & schedules.

Readme

IzmirMCP

NPM version License

İzmir Büyükşehir Belediyesi'nin İZBAN, ESHOT, Tramvay, Metro, Vapur (İzdeniz) ve Tren sistemlerinden gerçek zamanlı toplu taşıma verilerini, MCP (Model Context Protocol) tabanlı bir TypeScript sunucusu aracılığıyla yapay zeka modellerine ve diğer uygulamalara kolayca entegre etmenizi sağlayan açık kaynaklı bir araç setidir.


✨ Özellikler

  • 🚉 İZBAN
    • Tüm istasyonların listesini alın.
    • Belirli istasyonlar arasındaki sefer saatlerini sorgulayın.
    • Banliyö fiyat tarifesini sorgulayın.
  • 🚌 ESHOT
    • Durak ve hat adı veya numarasına göre arama yapın.
    • Bir durağa yaklaşan otobüsleri anlık olarak takip edin.
    • Belirli bir hattaki tüm araçların gerçek zamanlı GPS konumlarını alın.
    • Koordinata göre yakın durakları sorgulayın.
  • 🚋 Tramvay
    • Tramvay hatlarını, istasyonlarını ve sefer sıklıklarını sorgulayın.
  • 🚇 Metro
    • Metro istasyonlarını ve sefer sıklıklarını sorgulayın.
  • ⛴️ Vapur (İzdeniz)
    • Vapur iskeleleri, hareket saatleri ve çalışma günlerini sorgulayın.
  • 🚂 Tren
    • İzmir'deki tren garlarını ve konumlarını sorgulayın.
  • 🔧 Kolay Entegrasyon
    • Node.js/TypeScript ile hızlı ve modern bir altyapı.
    • Genişletilebilir ve modüler mimari.
    • Yapay zeka (AI) ve MCP tabanlı sistemlerle (Claude vb.) doğrudan uyumlu.

🚀 Kurulum

  1. Depoyu klonlayın:

    git clone https://github.com/halilcengel/IzmirMCP.git
    cd IzmirMCP
  2. Bağımlılıkları yükleyin:

    npm install
  3. Projeyi derleyin:

    npm run build

🛠️ Kullanım

Sunucuyu yerel olarak başlatmak için:

npx izmir-mcp

Sunucu varsayılan olarak 3000 portunda çalışmaya başlayacaktır.


🤖 Claude veya Diğer MCP İstemcilerine Ekleme

izmir-mcp sunucusunu, Claude gibi bir MCP (Model Context Protocol) istemcisine entegre etmek için aşağıdaki gibi bir yapılandırma kullanabilirsiniz. Bu, yapay zeka modelinizin İzmir toplu taşıma verilerine doğrudan erişmesini sağlar.

{
  "mcpServers": {
    "izmir-mcp": {
      "command": "npx",
      "args": [
        "izmir-mcp"
      ]
    }
  }
}

Screenshot 2025-06-21 142156 Screenshot 2025-06-21 142143

Screenshot 2025-06-21 141825


🧰 Araçlar (Tools)

Bu proje, İZBAN, ESHOT, Tramvay, Metro, Vapur (İzdeniz) ve Tren servisleri için bir dizi araç sunar. Bu araçları kullanarak toplu taşıma verilerine programatik olarak erişebilirsiniz.

İZBAN

import { registerIzbanTools } from 'izmir-mcp';
registerIzbanTools(server);

Kullanılabilir Araçlar:

  • get-izban-stations — Tüm İZBAN istasyonlarının tam listesini ID'leri ve isimleriyle birlikte döndürür.
  • get-izban-departures — İki İZBAN istasyonu arasındaki planlanmış seferleri listeler.
    • departureStationId (string)
    • arrivalStationId (string)
  • get-izban-fare-tariff — Banliyö fiyat tarifesini döndürür.
    • BinisIstasyonuId (string)
    • InisIstasyonuId (string)
    • Aktarma (string)
    • httMi (string)

ESHOT

import { registerEshotTools } from 'izmir-mcp';
registerEshotTools(server);

Kullanılabilir Araçlar:

  • get-eshot-stations — Durak adı veya adresine göre arama yaparak eşleşen ESHOT durak kayıtlarını döndürür.
    • query (string, opsiyonel)
    • limit (number, opsiyonel)
  • get-eshot-lines — Hat numarası veya adına göre arama yaparak eşleşen ESHOT hat kayıtlarını döndürür.
    • query (string, opsiyonel)
    • limit (number, opsiyonel)
  • get-line-approaching-buses — Belirli bir hattaki otobüslerin belirli bir durağa yaklaşma durumunu gösterir.
    • hatNo (string)
    • durakId (string)
  • get-line-bus-locations — Belirli bir hattaki tüm otobüslerin gerçek zamanlı konumlarını döndürür.
    • hatNo (string)
  • get-station-approaching-buses — Belirli bir durağa yaklaşmakta olan tüm otobüslerin gerçek zamanlı konumlarını döndürür.
    • durakId (string)
  • get-nearby-stations-by-coords — Koordinata göre yakın ESHOT duraklarını döndürür.
    • x (number)
    • y (number)
    • inCoordSys (string, opsiyonel)
    • outCoordSys (string, opsiyonel)

Tramvay

import { registerTramTools } from 'izmir-mcp';
registerTramTools(server);

Kullanılabilir Araçlar:

  • get-tram-lines — Tüm tramvay hatlarını döndürür.
  • get-tram-stations-by-sefer-id — Sefer numarasına göre tramvay istasyonlarını döndürür.
    • seferId (string)
  • get-tram-sefer-frequency-by-sefer-id — Sefer numarasına göre tramvay sefer sıklıklarını döndürür.
    • seferId (string)

Metro

import { registerMetroTools } from 'izmir-mcp';
registerMetroTools(server);

Kullanılabilir Araçlar:

  • get-metro-stations — Tüm metro istasyonlarını, sıralama ve konum bilgileriyle döndürür.
  • get-metro-sefer-frequencies — Metro sefer sıklıklarını döndürür.

Vapur (İzdeniz)

import { registerFerryTools } from 'izmir-mcp';
registerFerryTools(server);

Kullanılabilir Araçlar:

  • get-ferry-timetables — Vapur hareket saatlerini döndürür.
    • kalkis (string)
    • varis (string)
    • gunTipi (string)
    • detay (string)
  • get-ferry-timetables-by-pier — İskele bazlı vapur hareket saatlerini döndürür.
    • iskeleId (string)
    • gunId (string)
  • get-ferry-working-days — Vapurların çalışma günlerini döndürür.
  • get-ferry-piers — Vapur ve arabalı vapur iskele bilgilerini döndürür.

Tren

import { registerTrainTools } from 'izmir-mcp';
registerTrainTools(server);

Kullanılabilir Araçlar:

  • get-train-stations — İzmir'deki tren garlarını ve konumlarını döndürür.

🤝 Katkıda Bulunma

Bu proje topluluk katkılarına açıktır. Eğer bir hata bulduysanız, yeni bir özellik eklemek isterseniz veya mevcut kodu iyileştirmek isterseniz, lütfen bir "issue" açın veya "pull request" gönderin.

  1. Projeyi "fork"layın.
  2. Yeni bir "branch" oluşturun (git checkout -b ozellik/yeni-bir-ozellik).
  3. Değişikliklerinizi "commit"leyin (git commit -am 'Yeni bir özellik eklendi').
  4. "Branch"'inizi "push"layın (git push origin ozellik/yeni-bir-ozellik).
  5. Bir "Pull Request" oluşturun.

📜 Lisans

Bu proje ISC Lisansı altında lisanslanmıştır.


⚠️ Sorumluluk Reddi

Bu proje, İzmir Büyükşehir Belediyesi'nin resmi bir uygulaması değildir. Veriler, herkese açık olan İBB API'lerinden alınmaktadır. Verilerin doğruluğu ve güncelliği konusunda herhangi bir garanti verilmemektedir. Proje, yalnızca bilgilendirme ve geliştirme amacıyla oluşturulmuştur.