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.
README
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ı
- Bağımlılıkları yükleyin:
npm install
- Ortam değişkenlerini ayarlayın:
cp .env.example .env
# .env dosyasını düzenleyin
- Projeyi derleyin:
npm run build
- 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ı
.envdosyasında saklanır - Rate limiting uygulanır
- Konum bilgileri şifrelenir (production'da)
- Kişisel veriler loglanmaz
Katkıda Bulunma 🤝
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/yeni-ozellik) - Değişikliklerinizi commit edin (
git commit -am 'Yeni özellik eklendi') - Branch'inizi push edin (
git push origin feature/yeni-ozellik) - 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 📞
- GitHub: Issue açın
- Email: support@yourcompany.com
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.