IzmirMCP
Access real-time public transit data for İzmir, including vehicle positions, arrivals, and schedules from İZBAN and ESHOT.
IzmirMCP
İ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
-
Depoyu klonlayın:
git clone https://github.com/halilcengel/IzmirMCP.git cd IzmirMCP
-
Bağımlılıkları yükleyin:
npm install
-
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"
]
}
}
}
🧰 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.
- Projeyi "fork"layın.
- Yeni bir "branch" oluşturun (
git checkout -b ozellik/yeni-bir-ozellik
). - Değişikliklerinizi "commit"leyin (
git commit -am 'Yeni bir özellik eklendi'
). - "Branch"'inizi "push"layın (
git push origin ozellik/yeni-bir-ozellik
). - 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.
Related Servers
MCP Cookie Server
Provides positive reinforcement to LLMs by awarding 'cookies' as treats.
Monzo
Access and manage your Monzo banking data, allowing you to check balances and view transactions.
FHIR MCP Server
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
Robust Long‑Term Memory
A persistent, human‑like memory system for AI companions
UPS MCP Server
An MCP server for accessing UPS shipping and logistics services.
OpenEnded Philosophy MCP Server with NARS Integration
A philosophical reasoning system combining OpenEnded Philosophy with the Non-Axiomatic Reasoning System (NARS) for advanced analysis and synthesis.
Weather
Provides real-time weather information for any location.
Satellite MCP Server
Performs satellite orbital mechanics calculations using natural language, with a built-in world cities database for location lookup.
Time MCP Server
Provides time-related functions such as current time queries, timezone conversions, and time difference calculations.
DICOM MCP Server
Enables AI assistants to query, read, and move data on DICOM servers like PACS and VNA.