Anthropic’in en popüler araçlarından biri olan @modelcontextprotocol/server-postgres, her ay ortalama 312 bin kez indiriliyor. Bu rakam, beş ay önceye kıyasla üç kat artmış durumda. Ancak en ilginç yanı, bu paketin resmen arşivlenmiş olması. Anthropic, aracın artık güvenlik garantisi vermediğini açıkça belirtiyor ve üretim ortamlarında kullanılmaması gerektiğini vurguluyor. Peki, geliştiriciler neden hâlâ bu sunucuyu tercih ediyor?
Postgres MCP sunucusu nedir ve nasıl çalışır?
Model Context Protocol (MCP) standardına uygun olarak geliştirilen bu sunucu, yapay zeka modellerinin PostgreSQL veritabanıyla etkileşime girmesini sağlıyor. Örneğin, Claude, Cursor veya Windsurf gibi bir modeli kullanarak doğrudan veritabanınızdaki verileri sorgulayabilirsiniz. Tek yapmanız gereken, bağlantı dizesini eklemek ve ardından modele doğal dilde sorgular göndermek. Örneğin, "Geçen ayki en yüksek gelirli 10 müşterimizi listele" gibi bir komutla gerçek zamanlı veriye ulaşabilirsiniz.
Bu araç, ilk başta Anthropic’in resmi deposunda yer alıyordu. Google aramalarında "postgres mcp server" yazdığınızda ilk çıkan sonuçlardan biriydi ve ChatGPT gibi yapay zeka asistanları da kullanıcıları bu sunucuya yönlendiriyordu. Basitliği ve kullanım kolaylığı nedeniyle geliştiriciler arasında hızla yayıldı.
Neden arşivlendi ve güvenlik riskleri neler?
Başlangıçta, Anthropic’in servers adlı deposunda yer alan sunucular, protokolün referans uygulamaları ve yerel kullanım araçlarıydı. Ancak 2025’in başlarında, bu depoda bulunan 21 sunucudan yalnızca yedisi aktif olarak sürdürülmeye devam etti. Diğerleri, servers-archived adlı yeni bir depoya taşındı ve başlıkta açık bir uyarı yer aldı:
BU ARŞİVLENMİŞ SUNUCULAR İÇİN HERHANGİ BİR GÜVENLİK GARANTİSİ VERİLMEMEKTEDİR. Bu sunucular artık sürdürülmemekte olup, güvenlik güncellemeleri veya hata düzeltmeleri yapılmayacaktır. Kendi sorumluluğunuzda kullanınız.
Arşivlenen sunucuların tamamı, üçüncü taraf sistemlere bağlanan ve kimlik bilgileri gerektiren araçlardı. Güvenlik endişeleri nedeniyle Anthropic, bu sunucuların üretim ortamlarında kullanılmasını tavsiye etmiyor. Ancak şu soru ortaya çıkıyor: Eğer arşivlenen sunucular güvenlik riski taşıyorsa, onların yerini alacak resmi bir alternatif var mı? Maalesef, aktif olarak sürdürülen servers deposunda, PostgreSQL gibi bir üçüncü taraf sistemle doğrudan bağlantı kurabilen herhangi bir araç bulunmuyor. Bu da geliştiricileri, topluluk tarafından geliştirilen üçüncü parti çözümlere yönlendiriyor.
Peki neden hâlâ bu kadar popüler?
Üç temel neden öne çıkıyor:
- Veritabanı bağlantısı kritik bir ihtiyaç. Geliştiriciler, yapay zeka ajanlarını veritabanlarına bağlama konusunda hızla ilerliyor. Bir hata ayıklarken veritabanı istemcisine geçmek, veriyi kopyalamak ve ardından modele yapıştırmak yerine, doğrudan sorgulama yapabilmek çok daha verimli. Bu da en basit yol olan resmi görünümlü MCP sunucusuna yönelmeyi cazip kılıyor.
- Uyarı, yanlış yerde.
npx @modelcontextprotocol/server-postgreskomutu çalışmaya devam ediyor. npm sayfasında herhangi bir arşivleme uyarısı bulunmuyor. Yalnızca GitHub deposuna gidildiğinde,modelcontextprotocol/servers-archivedadresinde bulunan uyarı metniyle karşılaşılıyor. Bu da birçok kullanıcının uyarıdan haberdar olmamasını sağlıyor. Özellikle YouTube eğitimleri veya yapay zeka asistanlarının tavsiyeleriyle gelen kullanıcılar, asıl kaynağa hiç ulaşmıyor olabilir.
- Basitçe çalışıyor. Küçük geliştirme veritabanlarında okuma işlemleri için bu sunucu gayet iyi performans gösteriyor. Ancak, "sadece demo için yeterli" olan bir aracın, zamanla üretim veritabanlarına bağlanmaya başlandığını görmek mümkün. Bu geçişin ne kadar yaygın olduğunu tahmin etmek zor olsa da, birçok takımın farkında olmadan riskli bir tercih yaptığına şüphe yok.
Kodun arkasında neler oluyor?
Bu sunucu yalnızca 130 satır TypeScript kodu ile yazılmış durumda. Güvenlik modeli ise oldukça basit:
await client.query("BEGIN TRANSACTION READ ONLY");
const result = await client.query(sql);
// ...
client.query("ROLLBACK").catch(...);Bu kod, READ ONLY modunda bir işlem başlatarak veritabanına yazma işlemlerini engelliyor. Ancak bu sınırlama yeterli değil. Örneğin:
- Zaman aşımı ayarı yok. Bir kullanıcı
SELECT pg_sleep(3600)gibi bir sorgu çalıştırırsa, bağlantı bir saat boyunca bloke olabilir. - Satır sınırlaması yok.
SELECT * FROM eventsgibi bir sorgu, tüm tablonun tamamını JSON formatında çekmeye çalışabilir ve modelin bağlam penceresini aşabilir. - Yetkilendirme listesi yok.
userstablonuzdaapi_keyveyastripe_secretgibi hassas alanlar varsa, model bunları okuyabilir ve üçüncü taraf sağlayıcılarına aktarabilir.
Şema keşfi için kullanılan sorgular da oldukça kısıtlı. Sadece column_name ve data_type sütunlarını döndürüyor. Birincil anahtarlar, yabancı anahtarlar, dizinler veya yorumlar hakkında herhangi bir bilgi sağlamıyor. Dahası, information_schema sorgusu table_schema filtresini unutuyor. Eğer aynı ada sahip iki farklı şemanız varsa, model her iki tablodan da kolonları birleştirilmiş olarak alıyor.
Bu araç, başlangıçta basit bir çözüm olarak tasarlanmış olsa da, günümüzde daha güvenli ve kontrollü alternatiflere ihtiyaç duyuluyor. Anthropic’in tavsiyesi, "aktif olarak sürdürülen sunucular deposunu" kullanmak yönünde. Ancak bu depo, üçüncü taraf sistemlerle doğrudan bağlantı kurabilen bir araç içermiyor. Gelecekte, topluluk tarafından geliştirilen daha güvenli ve esnek çözümlerin ortaya çıkması bekleniyor. Şimdilik, geliştiricilerin dikkatli bir değerlendirme yapması ve riskleri minimize etmek için ek önlemler alması gerekiyor.
Yapay zeka özeti
Anthropic’in arşivlenmiş PostgreSQL MCP sunucusu her ay 300 binden fazla kez indiriliyor. Güvenlik risklerine rağmen neden bu kadar popüler? Detaylı inceleme.