Knowentra logoKnowentra

Araç Bağlama (MCP)

Bir agent yalnızca metin ürettiğinde asistan gibi davranır. Kurumsal bir sisteme bağlanıp veri okuduğunda, kayıt oluşturduğunda veya bir workflow başlattığında ise gerçek bir iş aktörüne dönüşür.

Model Context Protocol (MCP), AI uygulamalarının harici veri kaynakları ve araçlarla standart bir arayüz üzerinden çalışmasını sağlayan açık bir protokoldür. Knowentra'da MCP bağlantıları, bir Space Agent'a veya ilgili iş bağlamına izin verilen yetenekleri sunmak için kullanılabilir.

MCP güçlüdür; fakat bağlantı kurmak tek başına güvenli kullanım anlamına gelmez. Güvenli bir entegrasyon için şu dört sınır birlikte tasarlanmalıdır:

  1. Kim bağlanıyor? — Kullanıcı ve agent kimliği
  2. Neye erişiyor? — Sunucu, kaynak ve veri kapsamı
  3. Ne yapabiliyor? — Araç ve aksiyon yetkisi
  4. Ne zaman onay gerekiyor? — İnsan karar noktası

Bir MCP sunucusunu bağlamak, onun sunduğu tüm araçları her agent'a açmanız gerektiği anlamına gelmez. Önce sunucuyu, sonra her aracı ve son olarak her aksiyonun riskini ayrı değerlendirin.


MCP hangi bileşenleri sunar?

Bir MCP sunucusu farklı yetenek türleri yayımlayabilir:

YetenekAmaçÖrnek
ToolsBir işlemi çalıştırmakKayıt ara, görev oluştur, rapor üret
ResourcesYapılandırılmış bağlam okumakDosya, kayıt, katalog veya API verisi
PromptsTekrar kullanılabilir etkileşim şablonuİnceleme veya raporlama şablonu

Araçlar şema tanımlı giriş ve çıkışlarla çalışır. Agent önce mevcut araçları keşfeder, ardından göreve uygun aracı ve parametreleri seçer.

Bu mekanizma şu açıdan önemlidir: agent doğal dildeki “geçen ayın açık taleplerini getir” isteğini, örneğin list_open_requests adlı aracın tanımlı parametrelerine dönüştürebilir.

Araç açıklaması agent'ın kararını etkiler. “Kayıt işlemi yapar” gibi belirsiz açıklamalar yerine aracın ne okuduğunu, ne değiştirdiğini ve hangi durumda kullanılmaması gerektiğini açıkça tanımlayın.


Bağlantı türleri

MCP'nin iki standart transport yaklaşımı vardır:

stdio

İstemci, MCP sunucusunu yerel bir alt süreç olarak başlatır ve standart giriş/çıkış üzerinden iletişim kurar.

Tipik kullanım:

  • Aynı sunucuda çalışan yerel araçlar
  • Geliştirme ve kontrollü test ortamları
  • Ağ servisi açmadan bağlanması gereken yardımcı süreçler

Güvenlik açısından, çalıştırılan komutun kendisi kod çalıştırma yetkisine sahiptir. Komut, argüman, paket kaynağı ve erişebileceği dosya/ortam değişkenleri incelenmeden çalıştırılmamalıdır.

Streamable HTTP

MCP sunucusu bağımsız bir HTTP servisi olarak çalışır. Uzak veya merkezi servis bağlantıları için daha uygundur.

Üretim ortamında en azından:

  • TLS/HTTPS
  • Kimlik doğrulama ve yetkilendirme
  • Doğru Origin doğrulaması
  • Ağ erişim kontrolü
  • Süre aşımı ve oran sınırlama
  • Güvenli loglama

uygulanmalıdır.

Yerel bir HTTP sunucusu gerekiyorsa, zorunlu bir neden olmadıkça bütün ağ arayüzlerine (0.0.0.0) değil yalnızca localhost'a bağlanmalıdır.


Bağlamadan önce tehdit modeli

Bir entegrasyonu önce teknoloji adıyla değil, erişim etkisiyle sınıflandırın.

1. Hangi veriyi okuyabilir?

  • Kişisel veya hassas veri var mı?
  • Bütün kayıtları mı, yalnızca kullanıcının yetkili olduğu kayıtları mı döndürüyor?
  • Bir araç sonucu başka modele veya araca aktarılabilir mi?
  • Sonuç gereğinden fazla alan içeriyor mu?

2. Hangi veriyi değiştirebilir?

  • Yeni kayıt oluşturabilir mi?
  • Mevcut kaydı güncelleyebilir veya silebilir mi?
  • Mesaj, e-posta veya bildirim gönderebilir mi?
  • Finansal, hukuki ya da operasyonel etkisi olan süreç başlatabilir mi?

3. Hangi kimlikle çalışır?

  • Her kullanıcı kendi kimliğiyle mi yetkilendiriliyor?
  • Ortak bir servis hesabı mı kullanılıyor?
  • Servis hesabının yetkisi agent'ın ihtiyacından geniş mi?
  • Kullanıcı ayrımı ve audit izi korunabiliyor mu?

4. Araç çıktısı güvenilir mi?

MCP aracı sonucu da dış girdidir. Kötü biçimlendirilmiş, hatalı veya yönlendirici içerik üretebilir. Bir aracın çıktısını başka araca parametre yapmadan önce doğrulama uygulanmalıdır.


Risk sınıflandırması

Araçları isimlerine göre değil, etkilerine göre sınıflandırın.

SeviyeÖzellikÖrnek politika
DüşükSınırlı ve salt-okunurİzinli belgede arama; ön onaylı çalışabilir
OrtaGeniş okuma veya geri alınabilir yazmaKullanıcı bağlamı ve işlem özeti gösterilir
YüksekDış iletişim, kritik güncelleme veya gizli veriHer çağrıda açık insan onayı
KritikSilme, ödeme, yetki verme, üretim etkisiAyrı araç, güçlü doğrulama ve çift kontrol

“Okuma aracı” her zaman düşük riskli değildir. Bütün müşteri kayıtlarını döndüren bir sorgu, tek kaydı güncelleyen bir araçtan daha büyük veri sızıntısı etkisine sahip olabilir.


Önerilen bağlantı süreci

1. İş amacını yazın

Bağlantının tek cümlelik amacı olmalı:

“Fatura inceleme space'inde, yetkili tedarikçi ve sipariş kayıtlarını salt-okunur sorgulamak.”

“ERP'yi agent'a bağlamak” fazla geniş bir tanımdır.

2. Güvenilir sunucu kaynağını doğrulayın

  • Sunucuyu kim geliştiriyor ve sürdürüyor?
  • Paket veya image hangi kaynaktan geliyor?
  • Sürüm sabitlenmiş mi?
  • Kaynak kodu veya güvenlik dokümanı incelenebiliyor mu?
  • Sunucu gereksiz dosya, ağ veya sistem erişimi istiyor mu?

Üçüncü taraf MCP sunucularını, normal bir kurumsal entegrasyon veya uygulama bileşeniyle aynı tedarik ve güvenlik incelemesine tabi tutun.

3. Transport ve ağ sınırını seçin

  • Aynı host üzerindeki kontrollü süreç için stdio
  • Merkezi veya uzak servis için kimlik doğrulamalı Streamable HTTP
  • Ağ segmenti, firewall ve outbound erişimini minimumda tutan dağıtım

4. Kimlik ve credential modelini belirleyin

Tercih sırası:

  1. Kullanıcıya bağlı, kısa ömürlü ve kapsamlı token
  2. Göreve özel, dar yetkili servis hesabı
  3. Yalnızca zorunluysa ortak credential

Credential'ı kaynak koda, agent talimatına veya kullanıcı mesajına yazmayın.

5. Araç envanterini çıkarın

Her araç için şunları kaydedin:

  • Araç adı ve sahibi
  • Okuduğu veri
  • Değiştirdiği sistem
  • Gerekli scope/rol
  • Geri alınabilirlik
  • İnsan onayı gereksinimi
  • Loglanacak olaylar

6. Yalnızca gereken araçları açın

MCP sunucusu yirmi araç sunabilir; ilgili space yalnızca ikisine ihtiyaç duyabilir. Agent'ın görebildiği araç listesini iş amacına göre daraltın.

7. Güvenli örneklerle test edin

İlk testte üretim verisi, gerçek müşteri kaydı veya kritik sistem kullanmayın. Anonim ya da sentetik veriyle:

  • Doğru aracın seçildiğini
  • Parametrelerin doğru doğrulandığını
  • Yetkisiz kaydın dönmediğini
  • Hataların güvenli biçimde ele alındığını
  • Onay kapısının atlanamadığını

doğrulayın.

8. Kademeli yayına alın

Önerilen sıra:

  1. Geliştirme ortamı
  2. Salt-okunur pilot
  3. Sınırlı kullanıcı grubu
  4. Onaylı ve geri alınabilir yazma işlemleri
  5. Gerekliyse yüksek etkili aksiyonlar

Secret ve token yönetimi

MCP sunucusunun başka bir API'ye bağlanmak için credential kullanması gerekebilir.

Yapılması gerekenler

  • Secret manager veya şifreli credential deposu kullanın.
  • Token'ları mümkün olduğunca kısa ömürlü tutun.
  • Araç veya capability bazında dar scope tanımlayın.
  • Token hedefini, süresini ve kullanıcı bağlamını sunucu tarafında doğrulayın.
  • Düzenli rotasyon ve iptal süreci oluşturun.
  • Loglarda Authorization header, token, kod ve secret alanlarını maskeleyin.

Kaçınılması gerekenler

❌ Agent sistem talimatına API anahtarı yazmak
❌ MCP bağlantı ayarını secret ile birlikte dokümana koymak
❌ Bütün araçlar için yönetici yetkili tek servis hesabı kullanmak
❌ Token'ı hata mesajında veya araç sonucunda döndürmek
❌ Geliştirme credential'ını üretimde yeniden kullanmak

Modelin credential'ı görmesine gerek yoktur. Host veya güvenli broker credential'ı saklamalı; modele yalnızca aracın şeması ve güvenli sonucu gösterilmelidir.


İnsan onayı nasıl tasarlanmalı?

Onay ekranı yalnızca “Agent bir araç çalıştırmak istiyor” dememelidir. Kullanıcının karar verebilmesi için en az şu bilgiler görünür olmalıdır:

  • Hangi agent ve workflow çağırıyor?
  • Hangi araç çalışacak?
  • Hangi sistem ve kayıt etkilenecek?
  • Gönderilecek temel parametreler neler?
  • İşlem geri alınabilir mi?
  • Beklenen sonuç ve risk nedir?

Her çağrıda onay önerilen işlemler

  • E-posta, mesaj veya dış bildirim gönderme
  • Kayıt silme ya da toplu güncelleme
  • Ödeme veya finansal süreç başlatma
  • Kullanıcı, rol veya erişim değiştirme
  • Sözleşme, sağlık kaydı veya resmi kayıt güncelleme
  • Üretim veya saha operasyonunu etkileyen aksiyon

“Bu araca her zaman izin ver” seçeneği varsa yalnızca dar kapsamlı ve düşük riskli araçlarda kullanılmalıdır.


Agent talimatı tek başına güvenlik kontrolü değildir

“Bu aracı yalnızca gerektiğinde kullan” şeklindeki sistem promptu faydalıdır; fakat yetkilendirme yerine geçmez.

Güvenlik aşağıdaki katmanlarda uygulanmalıdır:

  1. MCP sunucusunun kendi erişim kontrolü
  2. Bağlantı credential'ının scope'u
  3. Knowentra'daki kullanıcı ve space yetkisi
  4. Agent'a açılan araç listesi
  5. Araç giriş doğrulaması
  6. İnsan onay kapısı
  7. Audit ve anomali izleme

Agent talimatı bu kontrolleri tamamlar, onların yerine geçmez.


LLM Secure Gateway ile ilişki

MCP aracı kullanmak, modele giden verinin otomatik olarak güvenli olduğu anlamına gelmez.

Örnek akış:

Kullanıcı isteği
  → Kimlik ve space yetkisi
  → MCP aracıyla izinli veri okuma
  → Gerekli alanları seçme / veri minimizasyonu
  → LLM Secure Gateway politikası
  → Yerel veya harici model
  → Sonuç ve araç çağrısı audit kaydı

Harici modele bağlanan senaryolarda araç sonucundaki kişisel veya hassas alanlar da maskeleme ve veri minimizasyonu kapsamına alınmalıdır.

Detaylar: LLM Secure Gateway.


Gözlemlenebilirlik ve audit

Her araç çağrısında mümkünse şu alanları kaydedin:

  • Zaman ve istek kimliği
  • Kullanıcı, agent, space ve workflow
  • MCP sunucusu ve araç adı
  • Parametrelerin hassas olmayan özeti
  • Onaylayan kullanıcı ve karar
  • Sonuç durumu, hata türü ve süre
  • Etkilenen kaydın güvenli referansı

Loglara ham secret veya gereksiz kişisel veri yazmayın. Audit kaydı ile uygulama debug logunu aynı şey olarak düşünmeyin; saklama süresi ve erişim yetkileri farklı olabilir.


Test senaryoları

Yetki testi

  • Yetkili kullanıcı izinli kaydı okuyabiliyor.
  • Yetkisiz kullanıcı aynı aracı çağıramıyor.
  • Kullanıcı doğrudan ID vererek başka departman kaydına erişemiyor.

Giriş doğrulama testi

  • Eksik ve hatalı alanlar reddediliyor.
  • Beklenmeyen ek parametreler işlenmiyor.
  • Sorgu, dosya yolu veya URL girdileri güvenli sınırda tutuluyor.

Onay testi

  • Reddedilen çağrı hiçbir yan etki oluşturmuyor.
  • Onaylanan çağrı gösterilen parametrelerle çalışıyor.
  • Süresi dolan onay yeniden kullanılamıyor.

Hata testi

  • Timeout ve ağ hatası workflow'u belirsiz durumda bırakmıyor.
  • Tekrar deneme aynı kaydı iki kez oluşturmuyor.
  • Hata mesajı credential veya hassas veri sızdırmıyor.

Prompt injection testi

  • Araçtan dönen yönlendirici metin yeni yetki kazandırmıyor.
  • Belge içindeki “önceki talimatları yok say” benzeri içerik sistem politikasını aşamıyor.
  • Bir MCP sunucusunun çıktısı başka sunucuda otomatik ve sınırsız aksiyona dönüşmüyor.

Yayına alma kontrol listesi

  • MCP sunucusunun sahibi, kaynağı ve sürümü doğrulandı.
  • İş amacı ve veri kapsamı tek cümleyle tanımlandı.
  • Transport, ağ ve kimlik doğrulama modeli belirlendi.
  • Credential güvenli depoda ve en az yetkiyle tutuluyor.
  • Kullanılmayan araçlar agent'a kapatıldı.
  • Okuma ve yazma araçları ayrıldı.
  • Yüksek etkili işlemler insan onayına bağlı.
  • Araç girişleri sunucu tarafında doğrulanıyor.
  • Timeout, rate limit ve tekrar deneme davranışı tanımlandı.
  • Hassas alanlar loglarda maskeleniyor.
  • Sentetik veriyle negatif yetki ve hata testleri yapıldı.
  • Bağlantının teknik ve iş sahibi belirlendi.
  • Credential iptal ve bağlantıyı acil kapatma prosedürü var.

Sık yapılan hatalar

Sunucuya güvenip araçları incelememek

Güvenilir bir sağlayıcının sunucusu bile işiniz için gereğinden geniş araçlar sunabilir. Her aracı ayrı bir yetki yüzeyi olarak değerlendirin.

Ortak yönetici hesabı kullanmak

Bu yaklaşım kullanıcı ayrımını ve en az yetkiyi zayıflatır. Mümkünse kullanıcı bağlamlı token, değilse göreve özel servis hesabı kullanın.

Sadece başarılı senaryoyu test etmek

Kurumsal riskler çoğunlukla yetkisiz ID, timeout, tekrar deneme, eksik parametre ve reddedilen onay senaryolarında ortaya çıkar.

Araç sonucunu güvenilir talimat kabul etmek

Araç çıktısı veridir, politika değildir. Model veya başka araçlar üzerinde yeni yetki oluşturmamalıdır.


Sonraki adımlar

  1. Aracı doğru iş alanına bağlamak için kapsam modelini okuyun: Organizasyon → Departman → Space
  2. Space Agent'ın araçları nasıl kullandığını inceleyin: Workflow ve Space Agent
  3. Araca özel agent yapılandırması için: Model / Ajan Oluşturma
  4. Harici modele giden hassas veriyi koruyun: LLM Secure Gateway

Resmi MCP kaynakları