Skip to main content
Glama

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

Related MCP server: TAK Server MCP

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.

Available Tools

7 tools
surucu_iletisimB

Aktif yolculukta şoförle iletişime geç (ara/mesaj)

Inputs: yolculuk_id (required), iletisim_turu (required), saglayici, mesaj.

taksi_cagirC

Belirtilen konumlar arası taksi çağır

Inputs: baslangic_enlem (required), baslangic_boylam (required), hedef_enlem (required), hedef_boylam (required), +5 more.

taksi_turleri_getirB

Mevcut taksi türlerini ve özelliklerini listele

Inputs: saglayici.

ucret_tahminiC

İki konum arası taksi ücreti tahmini hesapla

Inputs: baslangic_enlem (required), baslangic_boylam (required), hedef_enlem (required), hedef_boylam (required), +4 more.

yolculuk_durumuC

Aktif yolculuğun durumunu ve şoför bilgilerini sorgula

Inputs: yolculuk_id (required), saglayici.

yolculuk_gecmisiC

Geçmiş yolculukları listele

Inputs: saglayici, limit.

yolculuk_iptalC

Aktif yolculuğu iptal et

Inputs: yolculuk_id (required), saglayici, iptal_nedeni.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: driver communication, booking, vehicle types, fare estimation, trip status, history, and cancellation. The descriptions specify unique actions and targets, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent Turkish verb_noun pattern (e.g., taksi_cagir, ucret_tahmini, yolculuk_durumu). The naming is uniform across all tools, using snake_case and descriptive terms aligned with the taxi service domain.

    Tool Count5/5

    With 7 tools, the server is well-scoped for a taxi service, covering core operations like booking, pricing, status, and cancellation. Each tool earns its place without being excessive or insufficient for the domain.

    Completeness5/5

    The tool set provides complete coverage for a taxi service: it includes booking (taksi_cagir), pre-trip (taksi_turleri_getir, ucret_tahmini), in-trip (surucu_iletisim, yolculuk_durumu, yolculuk_iptal), and post-trip (yolculuk_gecmisi) operations, with no obvious gaps in the workflow.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers