Bir geliştirici kılavuzu, bir Model Context Protocol (MCP) sunucusunu bir iş istasyonunda çalıştırmak ile onu paylaşılan bir HTTP hizmeti olarak barındırmak arasındaki ödünleşimleri ortaya koyuyor. Yazar, bu seçimin gecikmeyi, kimlik bilgilerinin ifşasını ve bir ekibin yapay zeka destekli veri erişim katmanını ne kadar kolay ölçeklendirebileceğini belirlediğini savunuyor.

Karar neden önemlidir

MCP; Claude veya Cursor gibi büyük dil modeli asistanlarının, şifreyi hiç görmeden bir veritabanına karşı SQL çalıştırmasını sağlayan köprüdür. Asistan bir araç (tool) çağırır, araç isteği bir MCP sunucusuna iletir ve sunucu sorguyu çalıştırır. Eğer sunucu bir geliştiricinin dizüstü bilgisayarında bulunuyorsa, gidiş-dönüş süresi esasen yerel bir fonksiyon çağrısıdır. Eğer merkezi bir ana makinede (host) bulunuyorsa, her istek ağ üzerinden geçer ve ana makinenin kimlik doğrulama ve günlükleme (logging) mekanizmalarına tabi olur. Tek bir geliştiricinin prototipinden üretim (production) ortamına geçen ekipler; güvenlik duruşlarına, performans beklentilerine ve operasyonel iş yüklerine hangi modelin uygun olduğuna karar vermelidir.

İki dağıtım modeli

Yerel (stdio)

İstemci, MCP sunucusunu bir alt süreç (child process) olarak başlatır ve standart giriş/çıkış (stdin/stdout) yoluyla onunla iletişim kurar. Herhangi bir ağ yığını (network stack) sürece dahil değildir.

  • İdeal kullanım: bireysel geliştiriciler, hızlı deneyler ve yalnızca yerel test veritabanları için idealdir.
  • Avantajlar: gecikme neredeyse sıfırdır; süreç kullanıcının ortamını devralır, bu nedenle şifreler makineden asla ayrılmaz.
  • Dezavantajlar: her kullanıcı kendi yapılandırma dosyasını veya ortam değişkenlerini korumalıdır; merkezi bir denetim izi (audit trail) yoktur; birden fazla kullanıcıya ölçeklendirmek, kurulumun her iş istasyonunda tekrarlanmasını gerektirir.

Uzak (HTTP)

Sunucu, HTTP üzerinden erişilebilen bir ana makinede sürekli olarak çalışır. İstemciler, genellikle OAuth tarzı bir akışla kimlik doğrular ve bilinen bir uç noktaya (endpoint) istek gönderir.

  • İdeal kullanım: ekipler, CI süreçleri ve birkaç kişi veya servis tarafından erişilmesi gereken üretim verileri için idealdir.
  • Avantajlar: denetim günlükleri, rol tabanlı erişim kontrolü ve bağlantı havuzlama (connection pooling) için tek bir nokta; kimlik bilgileri kontrollü bir kasada (vault) bir kez saklanır.
  • Dezavantajlar: tahsis edilmesi ve sürdürülmesi gereken ek altyapı; ağ gecikmesi her gidiş-dönüşte birkaç milisaniye ekler.

Karşılaştırmalı analiz

Özellik Yerel Uzak
Kullanım amacı Tek kullanıcı Çok sayıda kullanıcı
Kimlik Doğrulama Ortam değişkenleri veya yerel yapılandırma OAuth uyumlu token akışı
Denetleme Yerleşik özellik yok Merkezi günlük her isteği kaydeder
Kurulum karmaşıklığı Minimum Sunucu tahsisi, TLS, token yönetimi gerektirir
Gecikme Sıfıra yakın Ağ sıçraması nedeniyle daha yüksek
Kimlik bilgisi ifşası Geliştiricinin makinesiyle sınırlı Merkezi, ancak ihlallere karşı korunmalıdır

Pragmatik bir hibrit yaklaşım

Çoğu kuruluş tek bir model seçip ona sonsuza dek bağlı kalmaz. Kılavuz, aşamalı bir yaygınlaştırma önerir:

  1. Yerel olarak geliştirin – bir sandbox veritabanına karşı yerel bir MCP sunucusu başlatın. Hız, hızlı yinelemeyi teşvik eder ve sırları versiyon kontrolünün dışında tutar.
  2. Uzak modele geçiş yapın – kod tabanı paylaşıldığında, sunucuyu merkezi bir ana makineye taşıyın. İstemci yapılandırmasını HTTP uç noktasına yönelecek şekilde değiştirin ve OAuth'u etkinleştirin.
  3. Üretim ortamını koruyun – üretim veritabanlarını uzak, denetlenebilir bir ağ geçidinin (gateway) arkasında tutun. Yapay zeka asistanı için salt okunur (read-only) roller uygulayın ve üretim şifrelerini yalnızca uzak sunucunun erişebileceği bir sır yöneticisinde (secrets manager) saklayın.

Kaçınılması gereken yaygın hatalar

  • Üretim şifrelerini bir geliştiricinin .env dosyasında veya diğer yerel yapılandırmalarda saklamak. Makine ele geçirilirse veritabanı ifşa olur.
  • OAuth veya benzeri bir token sistemi olmadan uzak bir MCP sunucusu dağıtmak. Düz metin (plain-text) temel kimlik doğrulama veya statik API anahtarları kolayca sızdırılabilir.
  • Yapay zeka asistanına üretim tablolarında yazma izni vermek. Kazara yapılan DELETE ifadeleri bile veri kaybına neden olabilir; salt okunur bir rol bu riski ortadan kaldırır.

Yerel kurulumun hala mantıklı olduğu durumlar

Eğer bir ekibin iş akışı hiçbir zaman tek bir makineden dışarı çıkmıyorsa —kişisel bir dizüstü bilgisayarda prototip geliştiren bir veri bilimci gibi— yerel dağıtım en basit ve en hızlı seçenek olmaya devam eder. TLS sertifikaları, token oluşturma ve bir günlükleme hattı kurmanın getirdiği yük, kısa ömürlü bir deney için haklı çıkarılmayabilir.

Özet

Ham hız gereksiniminiz varsa ve tek kullanıcıysanız, yerel bir MCP sunucusu en doğrudan tercihtir. Denetlenebilirlik, paylaşımlı erişim veya üretim seviyesinde güvenlik gerekiyorsa, tek uygulanabilir yol uzak bir HTTP sunucusudur. Çoğu ekip, kolaylık olması açısından yerel kurulumla başlar; ardından canlı verilere dokunmadan önce uzak, token ile korunan bir ağ geçidine geçiş yapar. Dağıtım modelini, projenin aşamasına ve erişime açtığınız verilerin risk profiline göre belirleyin.