
MCP nedir sorusunun kısa cevabı şu: MCP (Model Context Protocol), Claude veya ChatGPT gibi yapay zekâ uygulamalarını dosyalara, veritabanlarına ve dış servislere standart bir yolla bağlayan açık kaynaklı bir protokol. Protokolü Anthropic 25 Kasım 2024’te yayımladı; Aralık 2025’ten beri Linux Foundation çatısındaki Agentic AI Foundation’ın bir parçası. Bu blogun 30 yazılık planını hazırlarken yapay zekâyı üç araca MCP ile bağladım: biri 40 çağrıda yalnızca 6 kelimeye hacim verdi, biri her sonuç satırı için API birimi harcattı, üçüncüsü hâlâ bir kimlik dosyası bekliyor.
MCP nedir? Kısa tanım ve USB-C benzetmesinin eksik kalan yanı
MCP, “Model Context Protocol” ifadesinin kısaltması; Türkçeye “model bağlam protokolü” diye çevrilebilir. Protokol, 9 Aralık 2025’te Agentic AI Foundation’a (AAIF) katıldı. Vakfı Anthropic, Block ve OpenAI kurdu; Google, Microsoft, AWS, Cloudflare ve Bloomberg destekliyor. O gün açıklanan rakamlar aylık 97 milyonun üzerinde SDK indirmesi ve 10.000 aktif sunucuydu. Bu yazı, Eylül 2026 itibarıyla güncel olan 28 Temmuz 2026 spesifikasyonunu esas alıyor.
Türkçe kaynakların çoğu MCP’yi USB-C’ye benzetiyor. Benzetme MCP’nin resmi tanıtım sayfasından geliyor: “MCP’yi yapay zekâ uygulamaları için bir USB-C portu gibi düşünün.” Doğru, ama eksik. Fiş standart; prizin arkasındaki elektrik ise değil: kota, birim maliyeti ve kimlik bilgisi her serviste ayrı. Aşağıdaki üç bağlantı bunu gösteriyor.
MCP ne işe yarar?
Claude Code dokümanının kuralı basit: başka bir araçtan sohbete sürekli veri kopyaladığınızı fark ettiğinizde o aracı bağlayın. Resmi sayfadaki örnekler de bu mantıkta: Google Takvim ve Notion’a erişen asistan, Figma tasarımından web uygulaması çıkaran Claude Code, bir kurumun birden çok veritabanına bağlanan sohbet botu. Benim için karşılığı anahtar kelime araştırmasıydı: Semrush tablosunu indirip sohbete yapıştırmak yerine sorguyu model kendisi gönderiyor, sonucu okuyup plana işliyor.
MCP nasıl çalışır?
Host, client ve MCP server
MCP’de üç rol var. Host, kullandığınız yapay zekâ uygulamasıdır: Claude Code, Claude Desktop ya da Visual Studio Code gibi. Host, bağlandığı her sunucu için ayrı bir MCP client açar; her client yalnızca kendi sunucusuyla konuşur. MCP server ise modele veri ve araç sağlayan programdır; adı sunucu olsa da fiziksel bir makine değil, bir yazılım.
Araçlar, kaynaklar ve istemler
Bir sunucu üç tür yetenek sunar. Tools çalıştırılabilir fonksiyonlardır: bir rapor çekmek ya da bir kayıt oluşturmak gibi. Resources bağlam verisidir: bir dosyanın içeriği ya da bir veritabanı şeması. Prompts ise yeniden kullanılabilir şablonlardır. Client önce “tools/list” isteğiyle sunucuda hangi araçların olduğunu öğrenir, sonra “tools/call” ile birini çalıştırır. Mesajlar JSON-RPC 2.0 biçimindedir. Ters yönde, elicitation ile sunucu da kullanıcıdan ek bilgi ya da onay isteyebilir.
Az bilinen bir ayrıntı: spesifikasyon araçları “model-controlled” diye tanımlıyor. Yani model, bağlama ve sizin isteğinize bakarak hangi aracı ne zaman çağıracağına kendisi karar verebiliyor. Bu yüzden onay adımı bir tercih değil, kurulumun parçası olmalı.

Yerel sunucu (stdio) ve uzak sunucu (Streamable HTTP)
İki taşıma (transport) yolu var. stdio, sunucuyu aynı bilgisayarda bir süreç olarak çalıştırır; ağ trafiği yoktur ve genelde tek bir client’a hizmet eder. Streamable HTTP uzak sunucular içindir ve çok sayıda client’a hizmet edebilir. Kimlik doğrulama bearer token, API anahtarı ya da özel bir header ile yapılır; protokol, token almak için OAuth’u öneriyor. Benim kurulumumda Google Analytics sunucusu yerelde stdio ile, Semrush ve Keyword Tool ise uzakta HTTP ile çalışıyor. Eski rehberlerdeki SSE ayarını kopyalamayın; SSE kullanımdan kalktı ve Claude Code dokümanı uzak sunucular için HTTP’yi öneriyor.
2026’da ne değişti?
28 Temmuz 2026 sürümüyle MCP, çift yönlü ve durumlu (stateful) bir protokolden istek/yanıt temelli, durumsuz (stateless) bir protokole dönüştü. Artık her istek, protokol sürümünü ve ilgili yetenekleri kendi “_meta” alanında taşıyor; sunucunun önceki istekleri hatırlaması gerekmiyor. Araç listesi gibi yanıtlar “ttlMs” ve “cacheScope” alanlarıyla önbelleğe alınabiliyor. Roots, Sampling, Logging ve eski HTTP+SSE taşıması kullanımdan kaldırıldı; hepsi için en az on iki aylık geçiş süresi var. Tasks ve MCP Apps ise uzantı olarak tanımlandı.
Bu blogu hazırlarken bağladığım üç MCP sunucusu
Anahtar kelime araştırmasında üç veri kaynağını Claude Code’a MCP ile bağladım. Protokol üçünde de aynıydı, ama her biri başka bir yerde tökezledi.
Keyword Tool (guest): hesap istemiyor, metrik de vermiyor
Keyword Tool’un misafir sunucusu hesap istemiyor. Resmi sayfasına göre Eylül 2026 itibarıyla sınır saatte 60, günde 120 istek. Öneriler Google ve Bing autocomplete verisinden geliyor. Arama hacmi yalnızca ilk 5 kelime için, o da veri önbellekte varsa dönüyor. Aracın açıklamasında bir tuzak da var: ülke ve dil belirtilmezse varsayılanlar “Global / Worldwide” ve “English”. Ben her raporda Turkey ve Turkish verdim; vermeseydim sonuçlar başka bir pazardan gelecekti.
Her rapor için kendime 8 çağrılık bir bütçe koydum. Aracın kendi sınırı daha yüksek, ama asıl duvar kota değil, misafir erişimin metrik vermemesiydi. Beş raporda toplam 40 çağrı yaptım ve hiçbirinde rate limit hatası almadım. Metrik dönen kelime sayısı toplamda 6 oldu (yapay zekâ 2, pazarlama 1, web 3); e-ticaret içerik ve 3D raporlarında hiç metrik gelmedi. “mcp” için yaptığım soru çağrısı 138 sonuç döndürdü; çektiğim ilk sayfadaki 100 satırın hiçbirinde hacim yoktu, hepsi “requires Pro” olarak geldi.
Çözüm olarak soru ve öneri listesini, Google’ın autocomplete servisine istek atan küçük bir betikle topladım; hacim verisini Semrush’tan aldım. Betik 54 tohum kelimeyi tek başına ve “nasıl”, “nedir”, “vs” gibi 11 ekle sorguladı; aralarda 0,25 saniye bekleyerek 648 istekte 1.155 öneri topladı. “mcp” tohumundan gelen 50 önerinin arasında Minecraft sorguları, “mcp şanzıman” ve “mcp nedir tıp” gibi alakasız sonuçlar vardı; bunları elle ayıkladım.

Semrush: bağlanması kolay, her satır birim harcıyor
Semrush’ın MCP sunucusu yalnızca Streamable HTTP ile çalışıyor. Kimlik doğrulama varsayılan olarak OAuth; desteklemeyen istemcilerde API anahtarı Authorization header’ında gönderiliyor. Sunucu, Semrush API’siyle aynı birim sistemini kullanıyor: Keyword Overview raporunda satır başı 10 birim, geçmiş veri istenirse 50 birim. Üç kelimelik bir toplu sorgu bu yüzden 30 birim tutuyor. Semrush dokümanına göre Eylül 2026 itibarıyla SEO Classic Pro/Guru ve Semrush One Starter/Pro+ planlarında, abonelik yenilendikçe tazelenen 50.000 API birimi var; Business ve Advanced planlarında ayrıca birim paketi gerekiyor.
Bu yazının odak kelimesinin verisi de buradan: “mcp nedir” Türkiye’de ayda ortalama 1.900 kez aranıyor, anahtar kelime zorluğu 16 ve 12 aylık göreli trendin son üç ayı zirvede (Semrush TR, 26 Eylül 2026). Toplam 79 kelime sorguladım, 62’si veri döndürdü, sonra sorguları durdurdum. Çıkardığım ders: MCP maliyeti gizlemiyor, yalnızca harcamayı kolaylaştırıyor. Tek cümlelik bir istek onlarca ücretli satıra dönüşebildiği için kelime listesini sorgudan önce ayıklayın ve sonuçları dosyaya yazdırın; böylece aynı kelime iki kez sorgulanmaz.
Google Analytics MCP: kurulu, ama kimlik dosyası bekliyor
Google’ın resmi Google Analytics MCP sunucusunun başlığında hâlâ “Experimental” (deneysel) yazıyor. Sunucu, Application Default Credentials (ADC) ile salt okunur “analytics.readonly” kapsamında tanımlanmış bir kimlik istiyor. README iki yol gösteriyor: kullanıcı hesabıyla giriş ya da bir hizmet hesabının kimliğine bürünme (impersonation). Bende analytics-mcp 0.7.0 (PyPI’daki en yeni sürüm) Claude Code’da user kapsamında tanımlı ve stdio ile çalışıyor. Oturumda 9 araç listeleniyor. Ama GOOGLE_APPLICATION_CREDENTIALS değişkeninin gösterdiği dosya diskte yok. Bu yüzden blog planında GA4 verisi kullanmadım.
Rehberlerin çoğu burayı atlıyor: araç listesinin görünmesi, sunucunun veri çekebildiği anlamına gelmiyor. Eksik halkayı tamamlamak için gereken adımlar şunlar:
- Google Cloud’da bir proje açın, Analytics Admin API ve Analytics Data API’yi etkinleştirin.
- Bir hizmet hesabı oluşturun. Google’ın ADC dokümanı anahtar dosyalarını güvenlik riski sayıp önermiyor; önce kimliğe bürünmeyi deneyin, anahtar dosyası kullanacaksanız onu yalnızca sizin okuyabileceğiniz izinle (chmod 600) saklayın.
- GA4’te Yönetici, ardından Mülk erişim yönetimi bölümüne girip hizmet hesabının e-posta adresini Görüntüleyici olarak ekleyin.
- Sunucu tanımında GOOGLE_APPLICATION_CREDENTIALS değişkenine kimlik dosyasının yolunu, GOOGLE_PROJECT_ID değişkenine proje kimliğini yazın.
Üç bağlantıdan çıkan ders
Bir sunucuyu bağlamadan önce üç soruyu cevaplayın: Sınırı ne? Her çağrı neye mal oluyor? Kimlik bilgisi nerede duracak ve ona kim erişebilecek?

MCP nasıl bağlanır? Claude Code örneği
Claude Code’da uzak bir sunucu tek komutla eklenir. Örnek: claude mcp add –transport http notion https://mcp.notion.com/mcp. Yerel bir stdio sunucusu için yazım claude mcp add [seçenekler] <ad> — <komut> [argümanlar] şeklinde. Aradaki çift tire, Claude Code’un kendi seçeneklerini (–transport, –env, –scope) sunucuyu çalıştıran komuttan ayırıyor. OAuth isteyen sunucularda girişi oturumda /mcp ile ya da claude mcp login <ad> komutuyla tarayıcıdan yapıyorsunuz.
Eylül 2026 itibarıyla Claude Code’un MCP dokümanındaki üç kapsam şöyle:
- local (varsayılan): ~/.claude.json içinde durur, yalnızca o projede ve yalnızca sizde çalışır.
- project: proje kökündeki .mcp.json dosyasına yazılır ve git ile ekibe paylaşılır.
- user: yine ~/.claude.json içindedir, ama tüm projelerinizde geçerlidir.
Claude Code, .mcp.json ile gelen sunucular için etkileşimli oturumda onay ister; onaylanmayan sunucu “Pending approval” durumunda bekler. Ama claude -p ile çalışan betiklerde, Agent SDK’da ve bulut oturumlarında onay ekranı gösterilemediği için bu sunucular sorulmadan yüklenir. Başkasının reposunu bir otomasyonda çalıştırmadan önce .mcp.json dosyasına bakın.
Bir aracın çıktısı 10.000 token’ı geçince uyarı çıkıyor; varsayılan tavan 25.000 token ve MAX_MCP_OUTPUT_TOKENS değişkeniyle yükseltilebiliyor. Tool search ise varsayılan olarak açık: oturum başında yalnızca araç adları ve sunucu talimatları yükleniyor, bu yüzden yeni sunucu eklemek bağlam penceresini (context) pek doldurmuyor. Kendi sunucunuzu yazacaksanız resmi dokümandaki “Build servers” rehberiyle başlayın.
MCP mi, API mi, CLI mı, Skill mi?
“mcp vs api”, “mcp vs cli” ve “mcp vs skills” aramaları aslında aynı şeyi soruyor: bir servise hangi yoldan bağlanmalı? Kısa kural: modelin araçları kendisi keşfetmesini ve aralarından seçmesini istiyorsanız MCP. Adımları belli, tekrarlanan bir toplu iş varsa doğrudan REST API çağıran bir betik. Hesabınız terminalde zaten açıksa CLI; Claude Code dokümanı bunu dış servislerle çalışmanın context açısından en verimli yolu sayıyor. Yöntem ve kontrol listesi içinse Skill, yani bir SKILL.md dosyası.
| Kriter | MCP | REST API (kendi betiğiniz) | CLI | Skill (SKILL.md) |
|---|---|---|---|---|
| Kim çağırır? | Model seçer, host çalıştırır | Sizin kodunuz, sabit bir uç noktaya | Model terminalde komut çalıştırır | Model talimatı yükler, işi başka araçlarla yapar |
| Araç nasıl keşfedilir? | tools/list ile, dinamik | Dokümandan ya da liste uç noktasından | –help çıktısından | Açıklamasından; gövde çağrılınca yüklenir |
| Kimlik doğrulama | Uzakta OAuth önerilir; yerelde ortam değişkeni veya dosya | Uygulama şifresi veya API anahtarı | CLI’ın kendi girişi | Yok; kullandığı araca bağlı |
| Context maliyeti | Başta yalnızca araç adları; çıktı tavanı 25.000 token | Yalnızca yazdırdığınız kadar | Dokümana göre en verimli yol | Açıklama sürekli yer kaplar; gövde kullanılana kadar neredeyse sıfır |
| Tipik sürtünme | Kota, eksik kimlik dosyası, prompt injection | Rate limit ve güvenlik eklentisi engeli | Yanlış hesapta çalışan komut | Güncelliğini yitirmiş talimat |
| Bu blogdan örnek | Semrush, Keyword Tool | Google autocomplete betiği | gh, gcloud (dokümandaki örnekler) | claude-seo eklentisinin /seo komutları |
Kurduğum WordPress sitelerinde Elementor’un MCP sunucusu, güvenlik eklentileri (Imunify, Wordfence, LiteSpeed) yüzünden “429 Rate limit” verip bağlanamayabiliyor. Aynı araçlar WordPress’in Abilities REST API’si üzerinden de çalıştığı için o durumda MCP yerine küçük bir REST çağırıcısıyla ilerliyor ve istek sayısını düşük tutuyorum. Yani MCP bağlantının tek yolu değil; çoğu zaman yalnızca en rahat yolu.
WordPress’te resmi yol: Abilities API ve MCP Adapter
Bu yolu bu yazı için denemedim; aşağıdakiler WordPress ve WooCommerce’in resmi duyurularından:
- WordPress 6.9 (2 Aralık 2025): Abilities API geldi: sitedeki işlevler ortak bir kayıt defterine ekleniyor ve PHP’den, REST’ten ya da yapay zekâ ajanlarından aynı şekilde çalıştırılabiliyor. REST ad alanı wp-abilities/v1; bir ability’nin REST’te görünmesi için “meta.show_in_rest” açılmalı.
- MCP Adapter (4 Şubat 2026): ability’leri MCP istemcilerine açıyor. Yerelde STDIO (WP-CLI), uzakta HTTP (@automattic/mcp-wordpress-remote paketi) kullanıyor; kimlik doğrulama uygulama şifresiyle. Varsayılan sunucu her ability’yi ayrı araç yapmıyor: keşfetme, bilgi alma ve çalıştırma için üç genel araç sunuyor ve yalnızca “meta.mcp.public” işaretli ability’lere erişim veriyor.
- WordPress 7.0 (20 Mayıs 2026): çekirdeğe yapay zekâ modelleriyle konuşan bir AI Client, 3 hazır ayarla gelen bir Connectors ekranı ve Abilities’in JavaScript karşılığı geldi. Duyuruda MCP adı geçmiyor; “7.0 MCP’yi çekirdeğe aldı” diyen içeriklere temkinli yaklaşın.
- WooCommerce 10.9 (Haziran 2026): ürün ve siparişler için 7 hazır ability tanımladı: ürün sorgulama, oluşturma, güncelleme ve silme; sipariş sorgulama, durum güncelleme ve not ekleme. Hepsine Abilities REST API’den, WooCommerce’in MCP entegrasyonu özellik bayrağı açıksa MCP Adapter’ın varsayılan sunucusundan da erişiliyor. Her biri kendi izin kontrolünden geçiyor.
Listede ürün silme de olduğu için MCP Adapter duyurusunun önerileri önemli: MCP erişimi için ayrı ve yetkisi kısıtlı bir kullanıcı açın, herkese açık uç noktalarda salt okunur ability’leri tercih edin, kullanımı loglayın.
MCP güvenli mi? Yetkiyi daralt, yayını insana bırak
Araçlar spesifikasyonuna göre güvenlik için döngüde her zaman araç çağrısını reddedebilecek bir insan bulunmalı (SHOULD). İstemciler hassas işlemlerde onay istemeli, çağrıdan önce araç girdilerini kullanıcıya göstermeli ve kullanımı denetim için loglamalı. Sunucular ise girdileri doğrulamak, erişim kontrolü uygulamak, araç çağrılarına rate limit koymak ve çıktıları temizlemek zorunda (MUST). Claude Code dokümanı da uyarıyor: bağlamadan önce her sunucuya güvendiğinizi doğrulayın, dış içerik çeken sunucular sizi prompt injection riskine açar.
MCP’nin güvenlik rehberi yerel sunucular için net: tek tıkla kurulum sunan istemciler, çalıştırılacak komutu kısaltmadan göstermek ve açık onay almak zorunda (MUST). Kullanıcıyı “MCP sunucuları istemciyle aynı yetkilerle çalışır” diye uyarmaları da öneriliyor (SHOULD). Yetki kapsamı için önerilen yol da benzer: önce yalnızca keşif ve okuma yapan dar bir kapsamla başlanır, ayrıcalıklı bir işlem ilk kez istendiğinde yetki adım adım genişletilir. “*”, “all” veya “full-access” gibi joker kapsamlar rehberde yaygın hatalar arasında sayılıyor.
Kurduğum sistemlerde izlediğim kurallar bunlarla örtüşüyor:
- Canlı siteyi etkileyen ayarlar kullanıcı onayıyla değiştirilir; sayfalar önce taslak olarak kurulur, önizlenir, düzeltilir, sonra yayına alınır.
- Uygulama şifresi sohbete yazılmaz; kullanıcı terminalde kendisi girer, dosya yalnızca onun okuyabileceği izinle (chmod 600) saklanır.
Sık sorulan sorular
MCP neyin kısaltması, ne demek?
Model Context Protocol’ün kısaltması. Yapay zekâ uygulamalarının dosyalara, veritabanlarına ve servislere aynı standartla bağlanmasını sağlayan açık kaynaklı bir protokol.
MCP ile API arasındaki fark ne?
API bir servisin kapısıdır; MCP ise yapay zekânın bu kapıları keşfetmesi ve çağırması için ortak dildir. Örneğin Semrush’ın MCP sunucusu Semrush API’siyle aynı birimleri harcar.
MCP ücretli mi?
Protokolün kendisi açık kaynak ve ücretsiz. Maliyet bağlandığınız servisten gelir: Semrush’ta her sonuç satırı API birimi harcar, Keyword Tool’un misafir erişimi ücretsizdir ama hacim verisinin neredeyse tamamı Pro ister.
MCP nasıl kullanılır?
Kullandığınız yapay zekâ uygulamasına sunucuyu eklersiniz (Claude Code’da tek komut ya da OAuth girişi), sonra isteğinizi doğal dille yazarsınız; hangi aracı çağıracağını model seçer. Hazır sunucuyu bağlamak için kod gerekmez, kendi sunucunuzu yazmak için gerekir.
MCP, yapay zekâyı araçlara bağlamak için ortak bir dil sunuyor; kota, yetki ve onay tasarımı ise hâlâ sizin işiniz. Hangi adımın otomatikleşmeye değdiğini ve kontrol noktalarını nasıl kurduğumu yapay zekâ ve otomasyon sistemleri sayfamda anlattım; kendi iş akışınızı konuşmak isterseniz bana yazabilirsiniz.
Nasıl hazırlandı: Araştırma Claude Code ve yukarıdaki MCP bağlantılarıyla yapıldı. Protokol, araç, plan ve fiyat bilgileri 26 Eylül 2026’da birincil kaynaklarından tek tek kontrol edildi; çağrı ve kelime sayıları bu blogun araştırma kayıtlarından geliyor.
