İzmir Ulaşım
Access real-time public transportation data for the city of İzmir, allowing AI assistants to query routes and schedules.
İzmir Ulaşım MCP Sunucusu
İzmir toplu taşıma verilerine erişim sağlayan bir Model Bağlam Protokolü (MCP) sunucusu, AI asistanlarının şehir ulaşım verilerini ve analizlerini sorgulamasına olanak tanır. npm üzerinden de erişebilirsiniz.
Genel Bakış
Bu MCP sunucusu, İzmir'in Açık Veri Portalındaki ESHOT veritabanına bağlanır ve anlık otobüs konumlarını, durak bilgilerini, hat güzergahlarını, sefer saatlerini ve yaklaşan araç verilerini almak için çeşitli araçlar sunar. Sunucu, durağa yaklaşan otobüsleri getirme, hat üzerindeki anlık otobüs konumlarını sorgulama, belirli hat ve durak kombinasyonları için yaklaşan araçları filtreleme, durak arama, hat arama ve sefer saatlerini sorgulama gibi işlevler sağlar. Claude Desktop ve Cursor gibi MCP uyumlu AI asistanlarıyla veya agentic yapılarla çalışmak üzere tasarlanmıştır ve Açık Veri Portalındaki anlık ve canlı ESHOT (şimdilik sadece ESHOT) verileriyle ilgili doğal dil sorguları yapmanızı sağlar.
Özellikler ve Araçlar
Bu MCP sunucusu, aşağıdaki araçları (tool) içermektedir:
duraga_yaklasan_otobusleri_getir(stop_id): Belirtilen bir durak ID'sine yaklaşmakta olan tüm otobüslerin bilgilerini getirir.hattin_anlik_otobus_konumlarini_getir(line_id): ID'si girilen bir hatta ait tüm otobüslerin anlık konum bilgilerini getirir.hattin_duraga_yaklasan_otobuslerini_getir(line_id, stop_id): Belirtilen bir hattın, belirtilen durağa yaklaşmakta olan otobüslerini getirir.durak_ara(durak_adi): Adında belirtilen metin geçen otobüs duraklarını arar.izban_istasyon_ara(istasyon_adi): Adında belirtilen metin geçen İZBAN istasyonlarını arar.izban_sefer_saatlerini_getir(kalkis_istasyon_id, varis_istasyon_id): Belirtilen iki İZBAN istasyonu arasındaki sefer saatlerini getirir.izban_tutar_hesapla(binis_istasyon_id, inis_istasyon_id, aktarma_sayisi): 'Gittiğin Kadar Öde' sistemine göre İZBAN yolculuk ücretini hesaplar.hat_ara(hat_bilgisi): Adında veya güzergahında belirtilen metin geçen otobüs hatlarını arar.hat_sefer_saatlerini_ara(hat_no): Belirtilen hat numarasına göre otobüs sefer saatlerini arar.hat_guzergah_koordinatlarini_getir(hat_no): Belirtilen hat numarasına ait güzergahın koordinat (enlem/boylam) bilgilerini getirir.hat_detaylarini_ara(hat_bilgisi): Adında veya güzergahında belirtilen metni içeren hatların çalışma saatleri gibi detaylı bilgilerini arar.en_yakin_duraklari_bul(latitude, longitude, tur): Verilen enlem ve boylama en yakın otobüs duraklarını veya İZBAN istasyonlarını bulur.konumumu_al(): Tarayıcı üzerinden kullanıcının hassas coğrafi konumunu alır.metro_istasyonlarini_getir(): İzmir metrosuna ait tüm istasyonların bir listesini döndürür.metro_sefer_saatlerini_getir(): İzmir metrosuna ait tüm sefer saatlerini getirir.metro_istasyonlari_arasi_mesafe_hesapla(kalkis_istasyon_adi, varis_istasyon_adi): İki metro istasyonu arasındaki mesafeyi metre cinsinden hesaplar.tramvay_hatlarini_getir(): İzmir tramvayına ait tüm hatların bir listesini döndürür.tramvay_istasyonlarini_getir(hat_id): Belirtilen hat ID'sine sahip tramvay hattının tüm istasyonlarını getirir.tramvay_seferlerini_getir(hat_id): Belirtilen hat ID'sine göre tramvay sefer saatlerini getirir.karsiyaka_tram_duraklar_arasi_mesafe_hesapla(kalkis_istasyon_adi, varis_istasyon_adi): İki Karşıyaka tramvay istasyonu arasındaki mesafeyi metre cinsinden hesaplar.konak_tram_1_duraklar_arasi_mesafe_hesapla(kalkis_istasyon_adi, varis_istasyon_adi): Kara tarafı olan yöndeki iki Konak tramvay durağı arasındaki mesafeyi metre cinsinden hesaplar.konak_tram_2_duraklar_arasi_mesafe_hesapla(kalkis_istasyon_adi, varis_istasyon_adi): Deniz tarafı olan yöndeki iki Konak tramvay durağı arasındaki mesafeyi metre cinsinden hesaplar.cigli_tram_duraklar_arasi_mesafe_hesapla(kalkis_istasyon_adi, varis_istasyon_adi): İki Çiğli tramvay durağı arasındaki mesafeyi metre cinsinden hesaplar.
Kurulum ve Kullanım
Gereksinimler
- Python 3.11+
requestsmcp-clifastmcppandasnumpyflaskpyarrowfastparquet
Kurulum
-
Projeyi klonlayın veya indirin:
git clone https://github.com/ogulcanakca/izmir-ulasim-mcp.git cd izmir-ulasim-mcp -
Gerekli kütüphaneleri yükleyin:
-
uv syncpip ile yüklemek isterseniz:
pip install -r requirements.txt
MCP Client Configuration
Sunucuyu Claude Desktop ile kullanmak için:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor'da kullanmak için:
- macOS:
$HOME/.cursor/mcp.json - Windows:
%USERPROFILE%\.cursor\mcp.json
{
"mcpServers": {
"izmir_ulasim": {
"command": "python",
"args": ["path\\to\\izmir_ulasim_main.py"]
}
}
}
veya npm ile oluşturmak isterseniz:
{
"mcpServers": {
"izmir_ulasim_npm": {
"command": "npx",
"args": ["-y", "izmir-ulasim-mcp"]
}
}
}
Örnek Kullanım
Gelecek Çalışmaları
Bu proje, İzmir'in ulaşım verilerini daha erişilebilir kılmak için bir başlangıç noktasıdır. Gelecekte eklenmesi planlanan ve topluluk tarafından katkı sağlanabilecek bazı özellikler şunlardır:
1. Mevcut Araçların Geliştirilmesi
- Tahmini Varış Süresi (ETA) Hesaplama: Kalan durak sayısını, otobüsün anlık hızını veya ortalama durak arası seyahat süresini kullanarak durağa varış için tahmini bir süre (dakika cinsinden) hesaplamak.
- Akıllı Filtreleme: Araçlara
engelli_uygunlugu_olsun=Trueveyabisiklet_aparati_olsun=Truegibi parametreler ekleyerek daha detaylı ve ihtiyaca yönelik sorgular yapılmasını sağlamak. - Harita Üzerinde Görselleştirme: Anlık konum veya güzergah sorguları için, çıktıda doğrudan bir harita servisinin (Google Maps, OpenStreetMap vb.) linkini veya statik bir harita görselini oluşturmak.
2. Yeni Araçlar ve Entegrasyonlar
- Diğer Ulaşım Türleri: ESHOT'a ek olarak, İzmir'deki diğer toplu taşıma ağları olan İzban, Metro ve Vapur (İzdeniz) için de benzer araçlar geliştirerek sunucuyu tam kapsamlı bir "İzmir Ulaşım" aracına dönüştürmek.
- Yol Tarifi ve Rota Planlama: Kullanıcının "A noktasından B noktasına nasıl giderim?" sorusuna yanıt verebilecek, en uygun (direkt veya aktarmalı) rotayı öneren gelişmiş bir araç eklemek.
- Servis Duyuruları: İlgili kurumların anlık arıza, gecikme veya güzergah değişikliği duyurularını sorgulayacak bir araç entegre etmek.
3. Kullanıcı Deneyimi ve Zeka
- Kişiselleştirme ve Hafıza: Asistanın, kullanıcının sık kullandığı "ev", "iş" gibi konumları veya favori hatlarını öğrenerek daha kişisel yanıtlar vermesini sağlamak.
Máy chủ liên quan
WhoisFreaks
A Model Context Protocol (MCP) server that exposes the full WhoisFreaks API suite as AI-callable tools. Works with Claude Desktop, Cursor, Windsurf, VS Code, Continue, Zed, and any other MCP-compatible AI client.
Trayd
Trade Robinhood with natural language in Claude Code
Sunex
Enables AI assistants to search Sunex's lens and imager catalog using natural language queries. It provides tools for finding compatible lenses, sensor specifications, and product details through a public Model Context Protocol server.
e-conomic MCP Server
MCP server for e-conomic by Visma — Denmark's leading accounting platform. Invoices, customers, journals, products, and more.
Enedis Linky MCP Server
A production-ready Model Context Protocol (MCP) server written in Go that wraps the Conso API, giving AI assistants like Claude direct access to your Enedis Linky smart meter data.
MCP-Airflow-API
MCP-Airflow-API is an MCP server that leverages the Model Context Protocol (MCP) to transform Apache Airflow REST API operations into natural language tools. This project hides the complexity of API structures and enables intuitive management of Airflow clusters through natural language commands.
Weather MCP Server
Provides real-time weather alerts and detailed forecasts for US locations using the National Weather Service API.
AgentAuth
Auth0, but for agents. Identity and authentication service for AI agents.
Scrptly Video Generator
An Ai Video Agent that can generate professional and complex videos with simple prompts and context images.
Movie Recommendation
Tracks movies you've watched and provides recommendations based on your preferences.