MCP Hub
Back to servers

Taksi MCP Server

A Model Context Protocol server for Turkish taxi services that enables fare estimation, ride booking, and real-time tracking across providers like BiTaksi, iTaksi, and Uber.

Updated
Feb 2, 2026

Taksi MCP Server 🚖

Türkiye'deki taksi hizmetleri için Model Context Protocol (MCP) sunucusu. BiTaksi, iTaksi, Uber ve genel taksi hizmetlerini destekler.

Özellikler ✨

  • Çoklu Sağlayıcı Desteği: BiTaksi, iTaksi, Uber ve genel taksi hizmetleri
  • Ücret Tahmini: Mesafe ve taksi türüne göre ücret hesaplama
  • Taksi Çağırma: Çeşitli taksi türlerinde yolculuk rezervasyonu
  • Canlı Takip: Yolculuk durumu ve şoför bilgileri
  • İletişim: Şoför ile direkt iletişim (arama/SMS)
  • Geçmiş: Yolculuk geçmişi görüntüleme
  • Türkçe Destek: Tam Türkçe arayüz ve mesajlar

Desteklenen Taksi Türleri 🚗

  • Standart Taksi: Normal şehir taksisi
  • Lüks Taksi: Konforlu ve geniş araç
  • Büyük Taksi: 8 kişilik geniş araç
  • Pati Taksi: Evcil hayvan dostu taksi

Kurulum 📦

Gereksinimler

  • Node.js 18.0 veya üstü
  • npm veya yarn paket yöneticisi

Kurulum Adımları

  1. Bağımlılıkları yükleyin:
npm install
  1. Ortam değişkenlerini ayarlayın:
cp .env.example .env
# .env dosyasını düzenleyin
  1. Projeyi derleyin:
npm run build
  1. Sunucuyu başlatın:
npm start

Geliştirici Modu

# Watch mode ile geliştirme
npm run dev

Konfigürasyon ⚙️

.env dosyasında şu ayarları yapabilirsiniz:

API Ayarları

# Test modu (API çağrıları yerine mock data)
TEST_MODE=true

# BiTaksi API (gelecekte kullanım için)
BITAKSI_API_KEY=your_api_key
BITAKSI_ENABLED=false

# iTaksi API
ITAKSI_API_KEY=your_api_key
ITAKSI_ENABLED=false

# Uber API
UBER_CLIENT_ID=your_client_id
UBER_CLIENT_SECRET=your_client_secret
UBER_ENABLED=false

Genel Ayarlar

DEFAULT_CITY=istanbul
DEFAULT_COUNTRY_CODE=TR
DEFAULT_CURRENCY=TRY
DEFAULT_LANGUAGE=tr

# Varsayılan konum (İstanbul Taksim)
DEFAULT_LATITUDE=41.0362
DEFAULT_LONGITUDE=28.9841

MCP Tools 🛠️

Sunucu aşağıdaki MCP araçlarını sağlar:

1. taksi_turleri_getir

Mevcut taksi türlerini listeler.

{
  "saglayici": "bitaksi" // bitaksi, itaksi, uber, genel
}

2. ucret_tahmini

İki konum arası ücret tahmini hesaplar.

{
  "saglayici": "genel",
  "baslangic_enlem": 41.0362,
  "baslangic_boylam": 28.9841,
  "baslangic_adres": "Taksim, İstanbul",
  "hedef_enlem": 41.0082,
  "hedef_boylam": 28.9784,
  "hedef_adres": "Sultanahmet, İstanbul",
  "taksi_turu": "standart"
}

3. taksi_cagir

Taksi çağırır ve yolculuk oluşturur.

{
  "saglayici": "bitaksi",
  "baslangic_enlem": 41.0362,
  "baslangic_boylam": 28.9841,
  "hedef_enlem": 41.0082,
  "hedef_boylam": 28.9784,
  "taksi_turu": "luks",
  "ekstra_ozellikler": ["evcil_hayvan", "klima"]
}

4. yolculuk_durumu

Aktif yolculuğun durumunu sorgular.

{
  "yolculuk_id": "12345",
  "saglayici": "bitaksi"
}

5. yolculuk_iptal

Yolculuğu iptal eder.

{
  "yolculuk_id": "12345",
  "saglayici": "bitaksi",
  "iptal_nedeni": "Planlarım değişti"
}

6. yolculuk_gecmisi

Geçmiş yolculukları listeler.

{
  "saglayici": "genel",
  "limit": 10
}

7. surucu_iletisim

Şoför ile iletişim kurar.

{
  "yolculuk_id": "12345",
  "saglayici": "bitaksi",
  "iletisim_turu": "sms", // arama, sms
  "mesaj": "5 dakika geç kalacağım"
}

API Entegrasyonları 🔌

Şu Anda Desteklenen

  • Test/Mock Modu: Tam işlevsel simülasyon
  • Genel Taksi: Temel taksi işlevleri

Gelecek Entegrasyonlar

  • BiTaksi API: Henüz public API yok
  • iTaksi API: Geliştirici kaynakları araştırılıyor
  • Uber API: Türkiye desteği kontrol edilecek

Veri Yapıları 📊

Konum

interface Konum {
  enlem: number;      // latitude
  boylam: number;     // longitude
  adres?: string;     // adres metni
  sehir?: string;     // şehir bilgisi
}

Yolculuk

interface Yolculuk {
  id: string;
  saglayici: 'bitaksi' | 'itaksi' | 'uber' | 'genel';
  durum: 'aranıyor' | 'bulundu' | 'yolda' | 'geldi' | 'yolculukta' | 'tamamlandı' | 'iptal';
  baslangic: Konum;
  hedef: Konum;
  taksiTuru: string;
  surucu?: SurucuBilgileri;
  ucret?: number;
  parabirimi: string;
  olusturulma: Date;
  guncelleme: Date;
}

Ücret Tahmini

interface UcretTahmini {
  minFiyat: number;
  maxFiyat: number;
  parabirimi: string;
  tahminiSure: number;  // dakika
  mesafe: number;       // kilometre
  taksiTuru: string;
}

Kullanım Örnekleri 💡

Claude ile Kullanım

Taksim'den Sultanahmet'e taksi çağır
Kadıköy'den Beyoğlu'na ücret tahmini ver
Aktif yolculuğumun durumunu kontrol et

MCP Client ile

// Taksi türlerini listele
await client.callTool("taksi_turleri_getir", {
  saglayici: "bitaksi"
});

// Ücret tahmini al
await client.callTool("ucret_tahmini", {
  baslangic_enlem: 41.0362,
  baslangic_boylam: 28.9841,
  hedef_enlem: 41.0082,
  hedef_boylam: 28.9784,
  taksi_turu: "luks"
});

Hata Yönetimi 🚨

Sunucu şu hata türlerini döndürür:

  • Eksik Parametre: Gerekli parametreler eksikse
  • API Hatası: Sağlayıcı API'sinde sorun olursa
  • Konum Hatası: Geçersiz koordinatlar
  • Yolculuk Bulunamadı: Belirtilen ID'de yolculuk yoksa

Hata Formatı

{
  "durum": "hata",
  "hata": "Hata açıklaması",
  "kod": "HATA_KODU"
}

Güvenlik 🔒

  • API anahtarları .env dosyasında saklanır
  • Rate limiting uygulanır
  • Konum bilgileri şifrelenir (production'da)
  • Kişisel veriler loglanmaz

Katkıda Bulunma 🤝

  1. Fork yapın
  2. Feature branch oluşturun (git checkout -b feature/yeni-ozellik)
  3. Değişikliklerinizi commit edin (git commit -am 'Yeni özellik eklendi')
  4. Branch'inizi push edin (git push origin feature/yeni-ozellik)
  5. Pull Request oluşturun

Roadmap 🗺️

  • BiTaksi API entegrasyonu
  • iTaksi API entegrasyonu
  • Uber API entegrasyonu
  • Gerçek zamanlı konum takibi
  • Push notification desteği
  • Ödeme entegrasyonu
  • Multi-language desteği
  • Mobile app entegrasyonu

Lisans 📄

MIT License - detaylar için LICENSE dosyasına bakınız.

İletişim 📞

Teşekkürler 🙏

Bu proje Model Context Protocol ve Türkiye'deki taksi sağlayıcıları sayesinde mümkün olmuştur.


Not: Bu proje henüz development aşamasındadır. Production ortamında kullanmadan önce tüm API entegrasyonlarını test edin.

Reviews

No reviews yet

Sign in to write a review