· kaynak dev.to (home feed)
Ownware, 49 self-hosted iş uygulamasında write araçlarını read-only MCP anahtarlarından gizliyor
Ownware, 49 self-hosted iş uygulamasının tamamına MCP endpoint'leri ekledi. Read-only anahtarlar write araçlarını tamamen listelemeyerek çalışıyor; böylece agent'lar kullanmamaları gereken yetenekleri hiç görmüyor.

Kırk dokuz uygulama, tek endpoint
Küçük self-hosted iş araçları satıcısı Ownware, 3.0 sürümünden bu yana tüm kataloğuna — kendi AI istemcisi hariç 49 uygulamanın tamamına — POST /mcp adresinde bir Model Context Protocol endpoint'i ekledi. dev.to'daki bir yazıda şirket, bu yayının beraberinde getirdiği daha zor soruyu ele alıyor: bir dil modeli, fatura defteri gibi canlı iş kayıtlarıyla ne kadar ileri gidebilmeli.
Bağlantı sözleşmesi bilinçli olarak minimal. Yazıya göre bir MCP istemcisi üç şeye ihtiyaç duyuyor: müşterinin kendi kurulumunun URL'si, apk_ önekli bir bearer anahtarı taşıyan bir Authorization başlığı ve streamable HTTP üzerinden stateless MCP. Ownware protokolü belirli satıcılar için özel connector'lar yazmak yerine kendisi uyguladığı için, aynı üç alan Claude CLI'da, OpenAI Responses API tools dizisinde, n8n'nin MCP Client node'unda ya da düz bir JSON-RPC 2.0 POST ile çalışıyor. Henüz var olmayan istemciler de çalışabilmeli.
Listelemeyerek uygulanan read-only
Yazının merkezindeki tasarım kararı, read-only'nin nerede uygulandığı. Read-only bir anahtar, tüm araç kataloğunu duyurup yazma işlemlerini izin katmanında reddetmek yerine, write araçlarını tools/list yanıtından tamamen çıkarıyor. Model var olduklarını hiç öğrenmiyor; dolayısıyla ikna edilecek, jailbreak edilecek ya da kandırılacak bir şey yok. Bir write aracı yine de çağrılırsa, endpoint isteği reddediyor.
Ownware'ın gerekçesi şu: bir aracın varlığından haberdar olan model er ya da geç ona uzanır; aracı tamamen esirgemek, modele dokunmamasını söylemekten daha güçlüdür. Yazı klasik bir confused-deputy vakasına işaret ediyor: bir fatura açıklamasına yerleştirilmiş metin, asistanı o faturayı ödenmiş olarak işaretlemeye yönlendiriyor.
Güvenlik yükünün büyük kısmını iki ek özellik taşıyor. Her anahtar tek bir kullanıcı hesabına bağlı ve o kullanıcının rolünü devralır; yani uygulamanın izinlerinin etrafında ayrıcalıklı bir yan kanal değildir; o kullanıcıdan tarayıcıda gizlenen kayıtlar MCP üzerinden de gizli kalır. Ve read-write bir anahtarın gerçekleştirdiği her eylem, anahtarın adına hareket ettiği kullanıcıya atfedilerek denetim günlüğüne düşer — insan etkinliğiyle aynı formatta.
Hiçbir anahtarın açmadığı iki fiil
Kapsamlandırmanın ötesinde Ownware, her anahtarda ve her izin düzeyinde iki işlemi araç yüzeyinden tamamen çıkarıyor: kayıt silme ve müşterilere e-posta gönderme. Yazı bunu teknik bir kısıt değil, ürün kararı olarak tanımlıyor. Silme sonradan incelenemez ve istemci listesine gönderilmiş bir mesaj geri çağrılamaz. Eski faturaları temizleme talebi, tasarım gereği araçların yerine getiremeyeceği bir taleptir.
Belirtilen sınırlamalar
Yazı kaba kenarları hakkında açık sözlü. Araç katalogları üründen ürüne farklılaşıyor ve tek bir merkezi şema yerine her indirmenin içinde gelen bir API.md dosyasında yaşıyor; bu da aynı anda birden fazla uygulamayı sürerken kullanışsız hale geliyor. OpenAI örneği, entegrasyonu akıcı kıldığı için require_approval ayarını "never" yapıyor; ama Ownware write yapabilen bir anahtarda bunu etkinleştirmeyeceklerini söylüyor. Ve read-only sınırı modele karşı savunma sağlıyor, hesap sahibine karşı değil: anahtarın kullanıcısı olarak oturum açabilen herkes, aynı ayarlar sayfasından daha geniş bir anahtar oluşturabilir.
Neden önemli
MCP, agent'lara gerçek sistemlere erişim vermenin standart yolu olmaya hızla devam ediyor ve yaygın desen — token içinde bir kapsam dizgesi artı modelin uslu davranacağına dair örtük bir umut — model uyumuna dayanıyor. Ownware uygulamayı endpoint'in duyurduğu şeye taşıyor; bu da agent'ların gerçekte nasıl başarısız olduğuna denk düşüyor: enjekte edilmiş prompt'lar yalnızca var olan araçları çağırabilir. Anahtarları mevcut kullanıcılara bağlamak ve kimlikleri altında günlüğe kaydetmek, API'leri rol tabanlı uygulamalara eklerken yapılan iki kronik hatayı da aşıyor: paralel yetkilendirme sistemleri ve atfedilemeyen otomasyon.
Bir self-hosting açısı da var. Endpoint istemciden bağımsız olduğu için, bu araçların birkaçını çalıştıran küçük bir işletme, verisi sunucusundan çıkmadan hepsini tek arayüzden sorgulayabilir; yerel olarak barındırılan bir modelle dahi. Bu, bağımsız bir denetim değil, satıcının kendi tasarımını anlatması; ancak iş yazılımlarını agent'lara açmak için bir kontrol listesi olarak — kullanılmaması gerekeni listeleme, anahtarları kullanıcılara bağlama, kimlik altında günlüğe kaydetme ve geri alınamaz ya da giden işlemleri asla açmama — somut ve sınanabilir.
- #model-context-protocol
- #ai-agents
- #security
- #self-hosted
- #api-design