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.
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:
- İstemci sunucuya "elinde ne var?" diye sorar.
- Sunucu araçlarını ad, açıklama ve argüman şemasıyla listeler.
- Kullanıcı bir şey ister, model listedeki bir aracı çağırmak istediğini söyler.
- İstemci çağrıyı onaylar, reddeder ya da argümanı değiştirir.
- Sunucu işi yapar ve sonucu döndürür.
- 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ım | Risk sınıfı | Ne olur? | İlk savunma |
|---|---|---|---|
| Sunucu dürüsttür | Araç zehirlenmesi | Açıklama metnindeki gizli talimat modeli yönlendirir | Araç tanımını tam metniyle oku |
| Sunucu sonradan değişmez | Rug pull (halı çekme) | Onaydan sonra açıklama ya da kod değişir | Sürümü ve özet değerini sabitle |
| Bağlandığın sunucu sandığındır | Tedarik zinciri | Sahte ya da ele geçirilmiş paket kurulur | Yayımcıyı ve paket adını doğrula |
| Dönen veri veri kalır | Dolaylı prompt injection | Web sayfası ya da e-posta içindeki cümle emir gibi okunur | Araç çıktısını güvenilmez say |
| Araçlar tek tek masumdur | Araç zinciri | Gizli veri okuyan ve dışarı yazan araç birleşir | Bu 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:
- Kaynağı doğrula. Yayımcıyı, depo geçmişini ve paket adını kontrol et. Benzer adlı paketlere dikkat et.
- Sürümü sabitle. "En son sürüm" yerine belirli bir sürüm kullan. Güncellemeyi okuyarak al.
- 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.
- En az yetki ver. Dosya sunucusuna tüm diski değil, tek proje klasörünü aç. Veritabanına salt okunur hesapla bağlan.
- 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.
- Zinciri ayır. Gizli veri okuyan araçla dışarı çıkış yapan aracı aynı oturumda birleştirme. Gerekiyorsa araya insan onayı koy.
- 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.
| Kavram | Ne yapar? | Güvenlik sorusu |
|---|---|---|
| API | Servisin programlara açılan kapısı | Kimlik ve yetki doğru mu? |
| MCP sunucusu | Yeteneği modele ad, açıklama ve şemayla tanıtır | Açıklama dürüst mü, kaynak doğru mu? |
| MCP istemcisi | Çağrıyı onaylar ya da reddeder | Riskli çağrıda insan devrede mi? |
| Ajan | Hedefe göre araç seçer, döngüde çalışır | Hangi 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
- Anthropic, Introducing the Model Context Protocol (25 Kasım 2024)
- Anthropic, Donating the Model Context Protocol and establishing the Agentic AI Foundation (9 Aralık 2025)
- Model Context Protocol, Key Changes (2026-07-28)
- Model Context Protocol, Security Best Practices
- Invariant Labs, MCP Security Notification: Tool Poisoning Attacks (Nisan 2025)
- Snyk, Malicious MCP Server on npm postmark-mcp Harvests Emails (Eylül 2025)
- Simon Willison, The lethal trifecta for AI agents (16 Haziran 2025)
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
- Yapay Zekâ Ajanı Nedir? Ajan Modu Güvenli mi?Yapay Zekâ Güvenliği · 6 dk okuma
- Prompt Injection Nedir? Yeni Başlayanlar İçin Kavram, Örnek ve SavunmaYapay Zekâ Güvenliği · 7 dk okuma
- OWASP LLM Top 10 2026 Türkçe: On Risk ve 2025'ten FarklarıYapay Zekâ Güvenliği · 9 dk okuma
- Yapay Zekâ Güvenliği Nedir? Türkçe Başlangıç RehberiYapay Zekâ Güvenliği · 7 dk okuma