Provides tools for interacting with the Uber API, allowing AI assistants to request rides, get price and time estimates, track active trips, manage ride history, and evaluate drivers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Uber MCP ServerHow much would an Uber cost from Times Square to JFK Airport?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Uber MCP Server
AI asistanları için kapsamlı Uber entegrasyonu sağlayan Model Context Protocol (MCP) sunucusu. Bu server, AI asistanlarının Uber API'si ile etkileşime girmesini ve yolculuk yönetimi yapmasını sağlar.
🚗 Özellikler
Temel İşlevler
Araç Çağırma: uberX, uberXL, Comfort, Black ve diğer araç türlerini çağırma
Fiyat Tahmini: Yolculuk öncesi fiyat tahmini alma
Süre Tahmini: Sürücünün gelme süresini tahmin etme
Yolculuk Takibi: Aktif yolculukların durumunu takip etme
İptal İşlemi: Yolculukları iptal etme
Yolculuk Geçmişi: Geçmiş yolculukları görüntüleme
Şoför Puanlama: Tamamlanan yolculuklar için şoför değerlendirme
Teknik Özellikler
TypeScript: Tip güvenliği ve modern JavaScript desteği
Zod Validasyonu: Güçlü veri doğrulama
Hata Yönetimi: Kapsamlı hata yakalama ve raporlama
OAuth 2.0: Güvenli kimlik doğrulama
Türkçe Dil Desteği: Tam Türkçe arayüz ve mesajlar
Sandbox Desteği: Geliştirme için test ortamı
📋 Gereksinimler
Node.js 18.0.0 veya üzeri
TypeScript 5.0+
Uber Developer hesabı ve API anahtarları
@modelcontextprotocol/sdk
🔧 Kurulum
1. Bağımlılıkları Yükleyin
2. Çevre Değişkenlerini Ayarlayın
.env.example dosyasını .env olarak kopyalayın ve gerekli bilgileri doldurun:
.env dosyasını düzenleyin:
3. Uber Developer Hesabı Kurulumu
Uber Developer Portal'a gidin
Yeni bir uygulama oluşturun
Client ID, Client Secret ve Server Token'ı alın
Redirect URI'yi ayarlayın:
http://localhost:3000/auth/callbackGerekli scope'ları etkinleştirin:
profile,request,history
4. Projeyi Derleyin
5. Sunucuyu Başlatın
Veya geliştirme modunda:
🛠️ Kullanım
MCP Client Entegrasyonu
Bu server, MCP protokolünü destekleyen herhangi bir AI asistanı ile kullanılabilir. Server başlatıldıktan sonra, AI asistanınız aşağıdaki araçları kullanabilir:
Mevcut Araçlar
1. uber_arac_turlerini_getir
Belirli bir konumda mevcut olan Uber araç türlerini getirir.
Parametreler:
latitude(number): Enlem koordinatılongitude(number): Boylam koordinatı
Örnek:
2. uber_fiyat_tahmini_al
Başlangıç ve bitiş noktaları arasında fiyat tahmini alır.
Parametreler:
start_latitude(number): Başlangıç enlem koordinatıstart_longitude(number): Başlangıç boylam koordinatıend_latitude(number): Bitiş enlem koordinatıend_longitude(number): Bitiş boylam koordinatı
3. uber_sure_tahmini_al
Sürücünün gelme süresini tahmin eder.
Parametreler:
start_latitude(number): Başlangıç enlem koordinatıstart_longitude(number): Başlangıç boylam koordinatıproduct_id(string, isteğe bağlı): Belirli araç türü ID'si
4. uber_arac_cagir
Yeni bir Uber yolculuğu talep eder.
Parametreler:
product_id(string): Araç türü ID'sistart_latitude(number): Başlangıç enlem koordinatıstart_longitude(number): Başlangıç boylam koordinatıend_latitude(number, isteğe bağlı): Bitiş enlem koordinatıend_longitude(number, isteğe bağlı): Bitiş boylam koordinatıseat_count(number, isteğe bağlı): Yolcu sayısı (1-6 arası)
5. uber_aktif_yolculuk
Şu anda aktif olan yolculuğu getirir.
Parametreler: Yok
6. uber_yolculuk_detaylari
Belirli bir yolculuğun detaylarını getirir.
Parametreler:
request_id(string): Yolculuk talep ID'si
7. uber_yolculuk_iptal
Aktif yolculuğu iptal eder.
Parametreler:
request_id(string): İptal edilecek yolculuk ID'si
8. uber_yolculuk_gecmisi
Geçmiş yolculukların listesini getirir.
Parametreler:
offset(number, isteğe bağlı): Başlangıç offset (varsayılan: 0)limit(number, isteğe bağlı): Maksimum sonuç sayısı (varsayılan: 10)
9. uber_sofor_puanla
Tamamlanan yolculuk için şoförü puanlar.
Parametreler:
request_id(string): Yolculuk talep ID'sirating(number): Puan (1-5 arası)feedback(string, isteğe bağlı): Geri bildirim
10. uber_profil_getir
Kullanıcı profil bilgilerini getirir.
Parametreler: Yok
🔐 Kimlik Doğrulama
Server, Uber OAuth 2.0 akışını destekler. İki kimlik doğrulama yöntemi vardır:
1. Server Token (Sunucu Jetonu)
Basit API erişimi için server token kullanın:
2. OAuth 2.0 Flow
Kullanıcı adına işlem yapmak için OAuth flow kullanın:
Authorization URL'ini alın:
Kullanıcıyı yetkilendirme sayfasına yönlendirin
Callback'ten authorization code'u alın
Access token için kod ile değiştirin:
🧪 Test ve Geliştirme
Sandbox Modu
Geliştirme ve test için Uber sandbox ortamını kullanın:
Sandbox modunda:
Gerçek para tahsil edilmez
Simüle edilmiş sürücü ve yolculuk verileri kullanılır
Tüm API çağrıları güvenli test ortamında gerçekleşir
Test Komutları
📁 Proje Yapısı
🔧 Yapılandırma
Çevre Değişkenleri
Değişken | Açıklama | Gerekli |
| Uber uygulama Client ID | ✓ |
| Uber uygulama Client Secret | ✓ |
| Uber Server Token | - |
| Sandbox modu (true/false) | - |
| Production API URL | - |
| Sandbox API URL | - |
| OAuth redirect URI | ✓ |
| OAuth scope'ları | ✓ |
| MCP server adı | - |
| MCP server versiyonu | - |
| Log seviyesi | - |
| Varsayılan dil | - |
Hata Yönetimi
Server kapsamlı hata yönetimi sağlar:
API Hataları: Uber API'sinden gelen hataları yakalar ve Türkçe mesajlarla döner
Validasyon Hataları: Zod şemaları ile giriş validasyonu
Ağ Hataları: Bağlantı sorunlarını yakalar
Kimlik Doğrulama Hataları: OAuth ve token hatalarını yönetir
Türkçe Dil Desteği
Tüm kullanıcı arayüzü ve hata mesajları Türkçe olarak sunulur:
Araç isimleri ve açıklamaları
Durum mesajları
Hata bildirimleri
Yolculuk detayları
🤝 Katkıda Bulunma
Repo'yu fork edin
Feature branch oluşturun (
git checkout -b feature/amazing-feature)Değişikliklerinizi commit edin (
git commit -m 'Add some amazing feature')Branch'inizi push edin (
git push origin feature/amazing-feature)Pull Request oluşturun
📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
🐛 Hata Raporlama
Hata bulursanız veya öneriniz varsa:
Issues sayfasından yeni bir issue oluşturun
Hatayı detaylı şekilde açıklayın
Mümkünse hata loglarını ekleyin
Çalışma ortamı bilgilerinizi paylaşın
❓ SSS
S: Server token vs Access token farkı nedir?
C: Server token, uygulamanız adına genel API çağrıları yapmak için kullanılır. Access token ise belirli bir kullanıcı adına işlem yapmak için gereklidir. Yolculuk çağırmak için access token gereklidir.
S: Sandbox modunda gerçek yolculuk çağırabilir miyim?
C: Hayır, sandbox modu sadece test amaçlıdır. Gerçek yolculuk çağırmak için production API'sini kullanmanız gerekir.
S: Hangi şehirlerde Uber kullanabilir miyim?
C: Uber'in aktif olduğu tüm şehirlerde bu MCP server'ı kullanabilirsiniz. Güncel şehir listesi için Uber'in resmi web sitesini kontrol edin.
S: Rate limiting var mı?
C: Evet, Uber API'si rate limiting uygulamaktadır. Server otomatik olarak bu durumu yönetir ve gerekli hata mesajlarını döner.
📞 Destek
Teknik destek için:
GitHub Issues kullanın
Dokümantasyonu kontrol edin
Uber Developer Portal'a başvurun
Not: Bu MCP server, Uber Technologies Inc. tarafından resmi olarak desteklenmemektedir. Bağımsız bir açık kaynak projesidir.