Tüm makaleler

MCP sunucusu iç ağda nereye konur

  • AI Güvenliği
  • On-Premise

MCP'nin çözdüğü sorun net: her ajan için ayrı entegrasyon yazmak yerine araçları tek bir standart arayüzün arkasına koymak. Kurumsal bir ağda entegrasyon maliyetini gerçekten düşürüyor.

Ama kurduğunuz şeyin ne olduğunu unutmamak lazım. Bir MCP sunucusu, tanımı gereği, iç sistemlere programatik erişimi olan bir servis. Ağda nereye koyduğunuz, hangi araçları sunduğundan daha belirleyici çıkıyor.

Sunucu ajanın yanında değil, kaynağın yanında

İlk akla gelen düzen sunucuyu ajanın koştuğu yere koymak. Kolay, ve yanlış tarafa yakın.

Sunucu kaynağın yanında olduğunda kimlik bilgileri ağda dolaşmıyor - sunucu zaten erişim yetkisi olan bölgede çalışıyor. Erişim kaydı da kaynağa en yakın noktada tutuluyor.

Ajan tarafında geriye tek bir bağlantı kalıyor. O bağlantı koptuğunda ajanın elinde hiçbir yetki kalmıyor. Bu, düşündüğünüzden daha çok rahatlatıyor.

Kimlik ajanın değil, isteğin

En sık yapılan hata sunucuya geniş yetkili tek bir servis hesabı vermek. O zaman ajanın yaptığı her işlem aynı kimlikle görünüyor ve iki soru cevapsız kalıyor: bunu kim istedi, isteyenin buna yetkisi var mıydı.

Yetkiyi isteğin bağlamından türetmek gerekiyor. Ajan bir kullanıcının talebiyle çalışıyorsa erişebileceği cihaz grubu o kullanıcının yetkisiyle sınırlı. Kendi başına koşan bir otomasyon akışındaysa yetki o akış için tanımlanmış dar kapsamdan geliyor.

Sunucu bu kararı kendisi vermiyor. Çağrıyla gelen bağlamı doğruluyor ve uyguluyor.

Araç listesi de bilgi sızdırıyor

Bu tarafı geç fark ettik. MCP sunucusu bağlanan istemciye araç listesini veriyor - ve o liste iç sistemlerin haritası demek.

Hangi servisler yönetiliyor, hangi ortamlar var, hangi işlemler otomatikleştirilmiş. Hepsi araç adlarından ve açıklamalarından okunabiliyor.

Bu yüzden liste de yetkiye göre filtreleniyor. İstemci yalnızca kullanabileceği araçları görüyor. Görmediği araç, onun için olmayan araç.

Okuma ile yazmayı ayırmak

Pratikte en çok işe yarayan karar, okuma ve yazma araçlarını aynı sunucuda toplamamak oldu.

Okuma araçları geniş olabiliyor: envanter sorgulama, log okuma, durum kontrolü. Yanlış kullanılma maliyeti düşük ve ajan bunlara sürekli ihtiyaç duyuyor.

Yazma araçları ayrı bir sunucuda, daha dar bir ağ bölgesinde, daha sıkı yetkilendirmeyle duruyor. Ajanın okuma sunucusuna erişimi sürekli, yazma sunucusuna erişimi göreve bağlı.

Böylece "ajan bir şeyi okuyabiliyor" ile "ajan bir şeyi değiştirebiliyor" arasındaki mesafe ağ seviyesinde kuruluyor, prompt seviyesinde değil.

Kayıt tarafı

MCP çağrıları sıradan API çağrılarından bir noktada ayrılıyor: çağrıyı yapan taraf bir model, ve neden yaptığı log'da görünmüyor.

Her çağrıya onu tetikleyen olay kimliğini ekliyoruz. Bir cihazda yapılmış işlemden geriye gidip hangi olay, hangi plan, hangi adım sonucu yapıldığını bulmak mümkün oluyor.

O bağ olmadan MCP sunucusunun log'ları "birileri bir şeyler yaptı" kaydından ibaret kalıyor.


MCP'yi kurumsal ağda kullanmak entegrasyon kararı gibi duruyor ama ağ tasarımı kararı. Kısaca: sunucu kaynağın yanında dursun, yetki istekten gelsin, okuma ile yazma aynı yerde olmasın.

Diğer makaleler