Kısa cevap: MCP (Model Context Protocol), yapay zeka uygulamalarını dış sistemlere bağlamak için kullanılan açık standarttır. Bir MCP sunucusu, bir sistemin yeteneklerini (veritabanı sorgusu, dosya okuma, tarayıcı kontrolü, bir API çağrısı) modelin anlayacağı araç tanımları olarak sunar; Claude Code, Codex, ChatGPT, VS Code, LM Studio gibi MCP istemcileri bu sunucuya bağlanır. Bir kez yazılan sunucu her istemcide çalışır; bu yüzden "yapay zekanın USB-C'si" denir.
Neden MCP?
Yapay zeka modeli tek başına yalnızca metin üretir. Gerçek işe yaraması için veritabanınıza bakması, dosyanızı okuması, bir sayfayı açması ya da bir API çağırması gerekir. MCP'den önce her uygulama her sistem için ayrı entegrasyon yazıyordu: N uygulama × M sistem kadar iş. MCP bunu standartlaştırır: sistem için bir sunucu yazılır, MCP destekleyen her uygulama onu kullanır. Protokol modelcontextprotocol.io adresinde açık belgelenir ve Claude, ChatGPT, Codex, VS Code, Cursor, LM Studio gibi geniş bir ekosistem tarafından desteklenir.
Mimari: host, istemci, sunucu
- Host: Kullanıcının çalıştığı yapay zeka uygulaması: Claude Code, Codex, Claude masaüstü, VS Code. Modeli çalıştırır ve izinleri yönetir.
- İstemci (client): Host'un içinde, her sunucu için bir bağlantı. Sunucunun yeteneklerini keşfeder, çağrıları iletir.
- Sunucu (server): Dış sistemi temsil eden küçük program. "Şu araçlarım var, parametreleri şunlar" der; çağrı gelince işi yapar ve sonucu döner.
Model, araç listesini ve açıklamalarını görür; görev için uygun aracı seçer; host kullanıcıdan (gerekirse) izin alır; istemci çağrıyı sunucuya iletir; sonuç modele döner. Siz yalnızca "siparişlerdeki son 10 iadeyi listele" dersiniz.
Üç yetenek: tools, resources, prompts
| Yetenek | Nedir | Örnek |
|---|---|---|
| Tools (araçlar) | Modelin çağırabileceği işlevler; parametre şeması ve açıklamayla | urun_ara(sorgu), siparis_iptal(id, onay) |
| Resources (kaynaklar) | Modelin okuyabileceği veri; URI ile adreslenir | dosya:///docs/kurallar.md, db://sema/urunler |
| Prompts (istemler) | Sunucunun sunduğu hazır istem şablonları | "Bu siparişi müşteriye özetle" şablonu |
Araçlar salt okuma ya da yazma olarak işaretlenir; iyi bir sunucu silme ve iptal gibi geri alınamaz işlemlerde ek onay parametresi ister. Araç açıklamaları aslında modele yazılmış küçük istemlerdir; iyi açıklama, doğru araç seçimini belirler. İstem yazma kuralları burada da geçerlidir.
Taşıma: stdio ve HTTP
- stdio: Sunucu, host'un başlattığı yerel bir süreçtir; standart girdi/çıktı üzerinden konuşur. Yerel dosya, yerel veritabanı, komut satırı araçları için idealdir.
- HTTP (Streamable HTTP): Sunucu bir web adresinde çalışır; OAuth ile kimlik doğrulanır. Uzak hizmetler ve çok kullanıcılı kurumsal sunucular için. Örneğin bir Laravel uygulaması
/mcp/robotemgibi bir uçla kendi MCP sunucusunu yayımlayabilir ve Claude ya da ChatGPT OAuth ile bağlanır.
Araçlara MCP sunucusu ekleme
Claude Code
# Yerel (stdio) sunucu
claude mcp add tarayici -- npx @playwright/mcp@latest
# Uzak (HTTP) sunucu, OAuth ile
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Proje kapsamındaki sunucular .mcp.json dosyasına yazılır ve ekip paylaşır; /mcp komutu bağlı sunucuları ve yetki durumunu gösterir. Ayrıntı: Claude Code ileri seviye.
Codex
codex mcp add tarayici -- npx @playwright/mcp@latest
Ya da ~/.codex/config.toml içinde [mcp_servers.ad] bölümü. Bkz. Codex CLI kurulumu.
LM Studio ve Open WebUI (lokal modeller)
LM Studio MCP istemcisidir; ayarlardan sunucu tanımlarsınız ve lokal model araçları kullanır. Open WebUI de MCP sunucularına bağlanabilir. Böylece verisi dışarı çıkmayan bir model, yerel veritabanınızı sorgulayabilir; lokal AI için güçlü bir birleşim.
Popüler sunucular
| Sunucu | Ne sağlar |
|---|---|
| Filesystem | Belirli klasörlerde dosya okuma/yazma |
| GitHub | Depo, issue, PR işlemleri |
| Playwright / Chrome DevTools | Tarayıcı otomasyonu, ekran görüntüsü, konsol logu |
| PostgreSQL / MySQL | Şema okuma, salt okunur sorgu |
| Laravel Boost | Laravel projesinde şema, log, belge araması |
| Figma | Tasarım dosyasından bağlam ve kod üretimi |
| Kendi sunucunuz | Laravel MCP, Python veya TypeScript SDK ile iç sisteminiz |
Güvenlik kuralları
- Kaynağına bakın. Sunucu sizin adınıza işlem yapar; bilinmeyen paket kurmak, bilinmeyen betik çalıştırmakla aynıdır.
- Yetkiyi daraltın. Veritabanı sunucusuna salt okunur kullanıcı verin; dosya sunucusunu yalnızca proje klasörüne açın.
- Yazma işlemlerinde onay. Silme, iptal, ödeme gibi araçlar onay parametresi istesin; host tarafında da izin modunu sıkı tutun.
- Kişisel veriyi maskeleyin. Müşteri verisi döndüren sunucu TC, açık adres, IP gibi alanları hiç dönmesin ya da maskelesin.
- OAuth tercih edin. Uzak sunucularda sabit API anahtarı yerine OAuth; token ömrü kısa, iptal edilebilir.
- Denetim kaydı. Hangi kullanıcı, hangi istemciyle, hangi aracı çağırdı; sunucu bunu loglasın.
MCP, bu yazı dizisinde anlattığımız üç bulut ajanı ile iki lokal aracın ortak dilidir. Araç seçimi için karşılaştırma yazısına, ajanlara görev yazmak için prompt rehberine dönebilirsiniz.
Sık Sorulan Sorular
MCP'nin açılımı nedir?
Model Context Protocol. Anthropic tarafından 2024 sonunda açık standart olarak yayımlandı; bugün Claude, ChatGPT, Codex, VS Code, Cursor, LM Studio ve birçok araç tarafından destekleniyor.
MCP sunucusu ile API arasındaki fark nedir?
API, bir sistemin dış dünyaya açtığı arabirimdir. MCP sunucusu ise o API'yi yapay zeka modelinin anlayacağı standart biçimde (araç tanımı, açıklama, parametre şeması) sunan köprüdür. Bir kez yazılır, MCP destekleyen her uygulamada çalışır.
MCP sunucusu kurmak için kod yazmak gerekir mi?
Hazır sunucular için gerekmez; GitHub, dosya sistemi, Playwright, veritabanı gibi yüzlerce sunucu yayımlanmış durumda. Kendi sisteminiz için sunucu yazacaksanız Python, TypeScript, PHP (Laravel MCP) gibi dillerde resmî SDK'lar vardır.
MCP güvenli mi?
Protokolün kendisi güvenlidir; risk sunucudadır. Yalnızca güvendiğiniz kaynaktan sunucu ekleyin, yazma yetkisi olan araçlarda onay isteyin, OAuth destekleyen sunucuları tercih edin ve sunucunun hangi verilere eriştiğini bilin.
Lokal modellerle MCP kullanılabilir mi?
Evet. LM Studio bir MCP istemcisidir ve Open WebUI MCP sunucularına bağlanabilir; böylece verisi dışarı çıkmayan lokal model, yerel veritabanınızı sorgulayabilir.