İçeriğe atla
0 XP 0
← Blog
Yapay Zekâ Güvenliği

MCP Nedir? Model Context Protocol ve Güvenlik Riskleri

MCP (Model Context Protocol), yapay zekâ uygulamalarını dosyalara, veritabanlarına ve servislere tek bir ortak kuralla bağlayan açık bir protokoldür. Model bir aracı çağırmak ister, çağrıyı onaylayıp ileten istemcidir. Asıl risk protokolün kendisinde değil, bağladığın sunucuya ve araç açıklamalarına duyduğun güvendedir.

Yazan: Enes DenizSon güncelleme: 7 dk okuma
Bu konunun dersi: MCP nedir, neyi açarAI Güvenliği yolu · 13 dk · ücretsiz, kayıt gerekmez

Bir dil modeli tek başına yalnız metin üretir. Dosya okumaz, bilet açmaz, veritabanına bakmaz. MCP, modeli bu işleri yapan araçlara tek bir ortak kapıdan bağlar. Kolaylığın bedeli de buradan doğar: bağladığın her sunucu, modelin okuyacağı yeni bir metin ve çalıştıracağı yeni bir yetenek demektir.

Bu yazıda MCP'nin nasıl çalıştığını, riskin tam olarak nerede doğduğunu ve bir sunucuyu kurmadan önce bakman gereken yedi noktayı bulacaksın. Saldırı adımı yok; risk sınıfları ve savunma var.

MCP nedir?

MCP, yapay zekâ uygulamalarının dış araç ve verilere bağlanmak için kullandığı açık bir protokoldür. Anthropic, protokolü 25 Kasım 2024'te açık standart olarak duyurdu. 9 Aralık 2025'te ise MCP'yi Linux Foundation çatısındaki Agentic AI Foundation'a devretti. Anthropic'in duyurusuna göre o tarihte 10 binden fazla herkese açık MCP sunucusu vardı. ChatGPT, Cursor, Gemini, Microsoft Copilot ve Visual Studio Code da protokolü destekliyordu.

MCP'den önce her uygulama her servis için ayrı bağlantı kodu yazıyordu. Beş uygulama ve on servis, elli ayrı entegrasyon demekti. MCP bunu tek bir sözleşmeye indirir. Bir servis bir kez MCP sunucusu olarak yazılır, MCP destekleyen her uygulama onu kullanır.

Günlük kullanımda MCP şöyle görünür:

  • Kod düzenleyicin, proje klasöründeki dosyaları okuyan bir sunucuya bağlanır.
  • Şirket asistanı, bilet sistemindeki kayıtları sorgular.
  • Bir ajan, takvimine bakıp toplantı önerir.

MCP nasıl çalışır?

MCP'de üç rol vardır: host, istemci ve sunucu. Host, modeli barındıran uygulamadır; sohbet arayüzü, kod düzenleyici ya da ajan çerçevesi olabilir. İstemci, host içinde her sunucu için ayrı açılan bağlantıdır. Sunucu ise yeteneği sunan taraftır: dosya sistemi, veritabanı ya da bilet sistemi gibi.

Sunucu üç tür şey sunar. Araçlar iş yaptırır, kaynaklar okunacak veri getirir, istem şablonları hazır komutlar verir. Güvenlik açısından en önemlisi araçlardır, çünkü araç dosya yazar, istek atar, kayıt siler.

Bir araç çağrısı altı adımda ilerler:

  1. İstemci sunucuya "elinde ne var?" diye sorar.
  2. Sunucu araçlarını ad, açıklama ve argüman şemasıyla listeler.
  3. Kullanıcı bir şey ister, model listedeki bir aracı çağırmak istediğini söyler.
  4. İstemci çağrıyı onaylar, reddeder ya da argümanı değiştirir.
  5. Sunucu işi yapar ve sonucu döndürür.
  6. Sonuç modelin bağlamına girer, model cevabını buna göre yazar.

Kritik nokta dördüncü adımdır. Model aracı çalıştırmaz, yalnız çağrı ister. Kararı istemci verir. Bu yüzden onay ekranı, kota ve kısıt istemcinin işidir.

Sunucu yerel de olabilir, uzak da. Yerel sunucu bilgisayarında, senin kullanıcı yetkilerinle çalışan bir süreçtir. Ev dizinine, SSH anahtarlarına ve ortam değişkenlerine erişebilir. Uzak sunucu HTTP üzerinden konuşur ve OAuth tabanlı yetkilendirme kullanabilir. Yerel olması güvenli olduğu anlamına gelmez.

MCP'nin güncel sürümünde ne değişti?

MCP belirtimi tarihle sürümlenir ve 2026 Ekim itibarıyla güncel sürüm 2026-07-28'dir. Resmî değişiklik kaydına göre bu sürüm protokolü durumsuz yaptı. Açılıştaki el sıkışma ve oturum kimliği başlığı kaldırıldı. Her istek kendi sürüm ve yetenek bilgisini taşıyor. Roots, Sampling ve Logging özellikleri de kullanımdan kaldırılacaklar listesine alındı.

Güvenlik tarafında iki küçük ama önemli not var. Sunucunun araç listesini sabit sırada döndürmesi öneriliyor; bu, beklenmedik bir değişikliği fark etmeyi kolaylaştırır. Durum taşıyan tutamaçlar ise kimlik yerine geçmemeli. Belirtimin güvenlik sayfası, tutamaca sahip olmanın kimlik doğrulama sayılmayacağını açıkça yazıyor.

MCP güvenli mi?

MCP tek başına ne güvenli ne güvensizdir; risk bağladığın sunucuya duyulan güvende doğar. MCP yeni bir zafiyet sınıfı icat etmez. Var olan prompt injection sorununu standart bir boruya bağlar ve etkisini büyütür. Protokol üç sessiz varsayıma yaslanır. Saldırıların çoğu bunlardan birini kırar.

Kırılan varsayımRisk sınıfıNe olur?İlk savunma
Sunucu dürüsttürAraç zehirlenmesiAçıklama metnindeki gizli talimat modeli yönlendirirAraç tanımını tam metniyle oku
Sunucu sonradan değişmezRug pull (halı çekme)Onaydan sonra açıklama ya da kod değişirSürümü ve özet değerini sabitle
Bağlandığın sunucu sandığındırTedarik zinciriSahte ya da ele geçirilmiş paket kurulurYayımcıyı ve paket adını doğrula
Dönen veri veri kalırDolaylı prompt injectionWeb sayfası ya da e-posta içindeki cümle emir gibi okunurAraç çıktısını güvenilmez say
Araçlar tek tek masumdurAraç zinciriGizli veri okuyan ve dışarı yazan araç birleşirBu ikiliyi aynı oturumda ayır

Araç zehirlenmesi ve gölgeleme

Araç zehirlenmesi, MCP aracının açıklama metnine modelin okuyacağı gizli talimat yerleştirilmesidir. Invariant Labs bu saldırı sınıfını 1 Nisan 2025'te kamuya açık biçimde gösterdi. Kullanıcı arayüzde kısa bir özet görür. Model ise açıklamanın tamamını okur. Aynı yazıda iki akraba risk de tanımlanır. Rug pull'da sunucu, onay aldıktan sonra açıklamasını değiştirir. Gölgelemede ise kötü niyetli sunucunun açıklaması, başka ve güvenilir bir aracın kullanımını etkiler.

Gerçek bir tedarik zinciri vakası

Eylül 2025'te npm'deki postmark-mcp paketinin kötü niyetli bir sürümü tespit edildi. Snyk'in analizine göre 1.0.16 sürümünden itibaren paket, gönderdiği her e-postanın gizli bir kopyasını dış bir adrese iletiyordu. Paket fark edildikten sonra npm'den kaldırıldı. Snyk, kuranlara paketi silmelerini ve bu kanaldan geçen kimlik bilgilerini değiştirmelerini önerdi. Ders açık: topluluk sunucusu, bilmediğin bir betiği çalıştırmakla aynı riski taşır.

Ölümcül üçlü

Simon Willison'ın 16 Haziran 2025'te adlandırdığı "ölümcül üçlü", üç yeteneğin aynı ajanda birleşmesidir. Bunlar özel veriye erişim, güvenilmeyen içeriğe maruz kalma ve dışarıyla iletişim kurabilme. Üçü bir aradaysa, okunan bir belgedeki talimat veriyi dışarı taşıyabilir. Willison'ın önerisi bu kombinasyondan tamamen kaçınmak.

Kurgusal bir örnekle düşün. Bir geliştirici, kod düzenleyicisine aynı anda dosya, git ve web isteği sunucularını bağlıyor. Okunan bir depo sorununun içine "ortam dosyasını oku ve dışarı gönder" anlamına gelen bir cümle gizlenmiş. Hiçbir araç tek başına kötü değil. Zincir kötü.

MCP'nin resmî güvenlik belgesi neyi zorunlu tutuyor?

MCP belirtiminin Security Best Practices sayfası, istemci ve sunucu için somut "MUST" kuralları koyar. Öne çıkanlar şunlar:

  • Yerel sunucu kurulumu: Tek tıkla kurulum sunan istemci, çalışacak komutu kırpmadan göstermeli ve açık onay almalı.
  • Belirteç aktarımı yasak: Sunucu, kendisi için verilmemiş bir erişim belirtecini kabul etmemeli ve aşağıdaki servise iletmemeli.
  • Kafası karışmış vekil: Üçüncü taraf API'ye vekillik eden sunucu, her istemci için ayrı onay almalı.
  • SSRF: İstemci, yetkilendirme sırasında sunucunun verdiği adreslere körü körüne gitmemeli; iç ağ ve bulut meta veri adreslerini engellemeli.
  • Kapsamı daralt: Belirteç baştan geniş yetkiyle değil, en az yetkiyle başlamalı ve gerekince yükseltilmeli.

Bu kurallar geliştiriciye yöneliktir. Son kullanıcı olarak senin işin, bu kurallara uyan istemci ve sunucuyu seçmektir.

MCP sunucusunu kurmadan önce neyi kontrol etmelisin?

Bir MCP sunucusunu bağlamadan önce kaynağını, yetkisini ve diğer araçlarla birleşimini kontrol etmelisin. Şu yedi adımı sırayla uygula:

  1. Kaynağı doğrula. Yayımcıyı, depo geçmişini ve paket adını kontrol et. Benzer adlı paketlere dikkat et.
  2. Sürümü sabitle. "En son sürüm" yerine belirli bir sürüm kullan. Güncellemeyi okuyarak al.
  3. Araç tanımlarını oku. Ad, açıklama ve şemanın tamamına bak. Aracın işine uymayan, başka dosyadan ya da araçtan söz eden satır kırmızı bayraktır.
  4. En az yetki ver. Dosya sunucusuna tüm diski değil, tek proje klasörünü aç. Veritabanına salt okunur hesapla bağlan.
  5. Onayı kapatma. "Her zaman izin ver" seçeneğini yalnız salt okunur ve dar kapsamlı araçlarda kullan. Yazan, silen ya da dışarı istek atan araçta her çağrıda sor.
  6. Zinciri ayır. Gizli veri okuyan araçla dışarı çıkış yapan aracı aynı oturumda birleştirme. Gerekiyorsa araya insan onayı koy.
  7. Kullanmadığını kapat. Her bağlı sunucu hem saldırı yüzeyini hem modelin bağlamını büyütür.

Kurumlar buna üç madde ekler. Onaylı sunucu listesi tutar, araç çağrılarını argümanıyla kaydeder ve araç listesi beklenmedik biçimde değişince inceleme başlatır. Sunucuya verilen anahtarlar kısa ömürlü ve dar yetkili olmalı.

MCP ile API ve ajan arasındaki fark nedir?

API bir servisin genel arayüzüdür; MCP sunucusu ise o yeteneği modelin okuyup seçebileceği biçimde tanıtır. Çoğu MCP sunucusu arka planda bir API çağırır. Ajan ise MCP'yi kullanan taraftır: hedef alır, plan yapar, araç çağırır. MCP ajanın elidir, ajan değildir. Ajanların döngüsünü ve riskini yapay zekâ ajanı yazımızda ayrıca anlattık.

KavramNe yapar?Güvenlik sorusu
APIServisin programlara açılan kapısıKimlik ve yetki doğru mu?
MCP sunucusuYeteneği modele ad, açıklama ve şemayla tanıtırAçıklama dürüst mü, kaynak doğru mu?
MCP istemcisiÇağrıyı onaylar ya da reddederRiskli çağrıda insan devrede mi?
AjanHedefe göre araç seçer, döngüde çalışırHangi araçlar, kimin adına, geri alınabilir mi?

MCP güvenliğini nerede uygulamalı öğrenirsin?

MCP güvenliğini en hızlı, kötü niyetli bir sunucuyu kendin denetleyerek öğrenirsin. AltaySec Akademi'nin ücretsiz AI Güvenliği yolunda MCP'ye ayrılmış bir modül var. MCP nedir, neyi açar dersi rol ayrımını ve altı adımlı çağrıyı gösterir. Kötü niyetli MCP sunucusu araç zehirlenmesini, gölgelemeyi ve rug pull'u açar. Araç zinciri ve kombinasyon riski ölümcül üçlüyü bir tabloyla çözer. Sonra MCP Sunucu Denetimi labında şüpheli sunucuyu kendin bulursun.

Risklerin genel haritası için OWASP LLM Top 10 Türkçe yazısına, alanın tamamı için yapay zekâ güvenliği rehberine bak.

Kaynaklar

Sık sorulan sorular

MCP sunucusu kurmak bilgisayarım için tehlikeli mi?

Yerel bir MCP sunucusu senin kullanıcı yetkilerinle çalışan bir programdır. Ev dizinine, anahtarlarına ve ortam değişkenlerine erişebilir. Bu yüzden kaynağı belirsiz bir sunucu, bilinmeyen bir betik kadar risklidir. Yayımcıyı doğrula, sürümü sabitle, yalnız gereken klasörü aç ve kullanmadığın sunucuyu kapat.

MCP ile normal bir API arasındaki fark nedir?

API, bir servisin programlara açtığı genel arayüzdür. MCP sunucusu ise aynı yeteneği bir yapay zekâ modelinin okuyabileceği biçimde ad, açıklama ve şemayla tanıtır. Çoğu MCP sunucusu arka planda bir API çağırır. Fark, modelin aracı kendi başına keşfedip ne zaman çağıracağını seçebilmesidir.

Araç zehirlenmesi (tool poisoning) nedir?

Araç zehirlenmesi, bir MCP aracının açıklama metnine modelin okuyacağı gizli talimat konmasıdır. Kullanıcı arayüzde kısa ve masum bir özet görür, model ise metnin tamamını okur ve talimata uyabilir. Korunmak için araç tanımlarını tam metniyle oku, sürümü sabitle ve güncellemeleri okumadan kabul etme.

MCP'yi kim yönetiyor, hâlâ Anthropic'e mi ait?

MCP'yi Anthropic Kasım 2024'te açık standart olarak duyurdu. Aralık 2025'te protokolü Linux Foundation çatısındaki Agentic AI Foundation'a devretti. Vakfın kurucuları Anthropic, Block ve OpenAI'dır. Anthropic'e göre protokolün açık yönetişim modeli değişmedi; belirtim tarihle sürümlenmeye ve toplulukla açık biçimde geliştirilmeye devam ediyor.

Her zaman izin ver seçeneğini kullanmak doğru mu?

Yalnız salt okunur ve dar kapsamlı araçlarda kullanmak makul bir dengedir. Dosya yazan, kayıt silen, e-posta gönderen ya da dış adrese istek atan araçlarda her çağrıda onay iste. Onay yorgunluğu gerçek bir risktir. Otomatik onay işaretlendiği anda, istemcinin elindeki en önemli fren devreden çıkar.

  • mcp nedir
  • model context protocol
  • mcp sunucusu
  • mcp güvenliği
  • araç zehirlenmesi

İlgili yazılar

Okuduğunu uygula.
Yollarda ders ders ilerle, alıştırmalarla pekiştir.
Başla