Claude Code'da MCP (Model Context Protocol) Rehberi

Claude Code'u terminalinizde kullanmaya başladıktan sonra er ya da geç şu duvarla karşılaşırsınız: Claude dosyalarınızı okuyup düzenleyebiliyor, komut çalıştırabiliyor ama GitHub'daki bir issue'yu, Sentry'deki bir hata kaydını ya da veritabanınızdaki bir tabloyu doğrudan göremiyor. Bu bilgiyi elle kopyalayıp sohbete yapıştırmak zorunda kalırsınız. MCP (Model Context Protocol) tam olarak bu sınırı ortadan kaldırmak için var: Claude Code'u yüzlerce harici araca ve veri kaynağına bağlayan, açık kaynaklı bir standart. Bu yazıda MCP sunucularını Claude Code'a nasıl ekleyeceğinizi, kapsamların (scope) ne anlama geldiğini, kimlik doğrulamanın nasıl işlediğini ve dikkat etmeniz gereken güvenlik noktalarını, tamamen resmi dokümantasyona (code.claude.com/docs) dayanarak adım adım anlatıyorum.

MCP Nedir?

Model Context Protocol, yapay zekâ araçlarının dış sistemlerle konuşması için tasarlanmış açık kaynaklı bir protokoldür. Resmi Claude Code dokümantasyonuna göre Claude Code, MCP üzerinden "yüzlerce harici araç ve veri kaynağına" bağlanabilir; MCP sunucuları Claude Code'a araçlarınıza, veritabanlarınıza ve API'lerinize erişim sağlar. Kabaca şöyle düşünebilirsiniz: bir MCP sunucusu, belirli bir sistemin (GitHub, Sentry, Notion, PostgreSQL, Figma...) yeteneklerini standart bir arayüzle dışa açan küçük bir köprüdür. Claude Code bu köprüye bağlanır ve o sistemin sunduğu araçları, tıpkı kendi yerleşik araçları (dosya okuma, komut çalıştırma) gibi kullanabilir.

Pratikte MCP'nin açtığı kapı şu örneklerle özetlenebilir (resmi dokümantasyondan):

  • Issue tracker'dan özellik geliştirme: "JIRA'daki ENG-4521 issue'sunda açıklanan özelliği ekle ve GitHub'da bir PR oluştur."
  • İzleme verisini analiz etme: "Sentry ve Statsig'i kontrol edip ENG-4521 özelliğinin kullanımına bak."
  • Veritabanı sorgulama: "PostgreSQL veritabanımıza göre ENG-4521 özelliğini kullanan 10 rastgele kullanıcının e-postasını bul."
  • Tasarım entegrasyonu: "Slack'te paylaşılan yeni Figma tasarımlarına göre standart e-posta şablonumuzu güncelle."
  • İş akışı otomasyonu: "Bu 10 kullanıcıyı bir geri bildirim oturumuna davet eden Gmail taslakları oluştur."

Anthropic'in resmi Directory'sinde (claude.ai/directory) incelenmiş konnektörler listelenir; buradaki herhangi bir uzak sunucu claude mcp add ile doğrudan eklenebilir. Kendi sunucunuzu yazmak isterseniz Claude Code'a /plugin install mcp-server-dev@claude-plugins-official komutuyla resmi mcp-server-dev pluginini kurdurup /mcp-server-dev:build-mcp-server skill'iyle bir HTTP veya stdio sunucusu iskeleti oluşturtabilirsiniz.

Transport Türleri: http, sse, stdio, ws

Bir MCP sunucusuna bağlanırken önce sunucunun hangi taşıma (transport) türünü kullandığını bilmeniz gerekir. Resmi dokümantasyon dört türü tanımlar:

Transport Kullanım alanı Notlar
http Bulut tabanlı, URL üzerinden erişilen uzak sunucular En yaygın desteklenen ve önerilen tür. JSON yapılandırmasında streamable-http takma adı da kabul edilir.
sse Server-Sent Events üzerinden uzak sunucular Kullanımdan kaldırılmıştır (deprecated). Mümkünse HTTP kullanın.
stdio Yerel makinede alt süreç olarak çalışan sunucular Varsayılan transport türüdür; --transport belirtilmezse bu kullanılır. Dosya sistemi, tarayıcı gibi yerel kaynaklara erişim gerektiren araçlar için idealdir.
ws Kalıcı, çift yönlü WebSocket bağlantısı Sunucunun olayları Claude'a anlık ittiği (push) senaryolarda kullanılır. Yalnızca .mcp.json veya claude mcp add-json ile yapılandırılır; claude mcp add --transport bu değeri kabul etmez.

MCP Sunucusu Ekleme: claude mcp add

Bir sunucuyu kaydetmenin temel komutu claude mcp add'dur. Bu komut, aktif bir claude oturumu içinde değil, doğrudan terminalde çalıştırılır -- çünkü sohbete başlamadan önce sunucuyu yapılandırıyorsunuzdur.

Uzak HTTP sunucusu ekleme

# Temel söz dizimi
claude mcp add --transport http <isim> <url>

# Gerçek örnek: Notion'a bağlanma
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Bearer token ile örnek
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

Komuttaki parçaları tek tek açalım: claude mcp add sunucuyu Claude Code'a kaydeder; --transport http sunucunun bir URL üzerinden barındırıldığını belirtir; <isim> kendinizin belirlediği, sunucunun araçlarını etiketlemek ve claude mcp remove gibi komutlarda referans vermek için kullanılan bir addır; <url> ise sunucunun barındırıldığı adrestir. Komut çalıştığında Added HTTP MCP server ... to local config gibi bir onay mesajı ve değiştirilen yapılandırma dosyasını gösteren bir File modified: satırı basılır.

Yerel (stdio) sunucu ekleme

Bir stdio sunucusu, makinenizde alt süreç olarak çalışan bir programdır. Tarayıcı, dosya sistemi ya da yerel bir veritabanı soketi gibi yerel kaynaklara erişmesi gereken araçlar için tercih edilir. Örnek olarak, hesap gerektirmeyen ve tarayıcıyı gezinme/tıklama/okuma yeteneğiyle donatan Playwright MCP sunucusu verilebilir (Node.js 18+ gerektirir):

claude mcp add playwright -- npx -y @playwright/mcp@latest

Burada iki noktaya dikkat edin: --transport belirtilmedi çünkü yerel sunucular varsayılan olarak stdio kullanır; -- (çift tire) ayracından sonraki her şey Claude Code'un kendi seçenekleri (--transport, --env, --scope) olarak değil, doğrudan sunucuyu başlatacak komut olarak yorumlanır. Bu ayracı unutursanız Claude Code, sunucunun kendi bayraklarını (örn. --port) kendi seçeneği sanıp hata verir.

Ortam değişkeni gerektiren bir sunucuya --env ile değer geçirebilirsiniz:

claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

WebSocket sunucusu ekleme

WebSocket sunucuları yalnızca claude mcp add-json veya .mcp.json üzerinden tanımlanır:

claude mcp add-json events-server \
  '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

Kapsamlar (Scope): local, project, user

Bir sunucuyu eklerken onu nerede geçerli kılacağınızı da belirlersiniz. Resmi dokümantasyona göre üç kapsam vardır:

Kapsam Nerede yüklenir Ekiple paylaşılır mı? Saklandığı yer
local (varsayılan) Yalnızca eklendiği proje Hayır ~/.claude.json (o projenin girdisi altında)
project Yalnızca eklendiği proje Evet, versiyon kontrolüyle .mcp.json (proje kök dizininde)
user Tüm projeleriniz Hayır ~/.claude.json (üst düzey mcpServers anahtarı altında)

Kapsamı -s veya --scope bayrağıyla belirtirsiniz:

# Yalnızca sizin için, bu projede (varsayılan)
claude mcp add --transport http stripe --scope local https://mcp.stripe.com

# Tüm projelerinizde, yalnızca siz kullanacaksınız
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

# Ekiple paylaşılacak, .mcp.json'a yazılır
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

project kapsamıyla eklenen .mcp.json dosyası versiyon kontrolüne eklenmek üzere tasarlanmıştır -- ekip arkadaşlarınız depoyu klonladığında Claude Code onlara sunucuyu onaylamalarını sorar, onayladıktan sonra onlar için de bağlanır. Güvenlik nedeniyle Claude Code, .mcp.json'daki proje kapsamlı sunucuları kullanmadan önce her zaman onay ister; bu onay tercihlerini sıfırlamak için claude mcp reset-project-choices komutunu kullanabilirsiniz.

Aynı isimli sunucu birden fazla kapsamda tanımlanmışsa Claude Code onu yalnızca bir kez, en yüksek önceliğe sahip kaynaktan bağlanır. Öncelik sırası: local > project > user > plugin tarafından sağlanan sunucular > claude.ai konnektörleri. İlk üç kapsam sunucu ismine göre, plugin ve konnektörler ise uç noktaya (URL veya komut) göre eşleştirilir.

Sunucuları Yönetme: list, get, remove, /mcp

Sunucular eklendikten sonra şu komutlarla yönetilir:

# Tüm yapılandırılmış sunucuları listele
claude mcp list

# Belirli bir sunucunun ayrıntılarını gör
claude mcp get github

# Bir sunucuyu kaldır
claude mcp remove github

# (Claude Code oturumu içinde) Sunucu durumunu kontrol et
/mcp

claude mcp list her sunucunun yanında bir durum göstergesi gösterir:

Durum Anlamı
✔ Connected Kullanıma hazır.
! Connected · tools fetch failed Sunucu bağlandı ama araç listesini alamadı; claude mcp get <isim> ile hata ayrıntısına bakın.
! Needs authentication Sunucuya ulaşılabiliyor ama tarayıcıdan giriş veya --header ile token gerekiyor.
✘ Failed to connect / ✘ Connection error Sunucu yanıt vermedi veya bağlantı hatası oluştu.
⏸ Pending approval Proje kapsamlı bir sunucu, henüz onaylamadınız; claude komutunu interaktif çalıştırıp onaylayın.

Eski Windows konsollarında (varsayılan Windows 10 konsolu gibi) Unicode karakterler desteklenmediğinden ve yerine ve × görebilirsiniz.

.mcp.json Dosyasını Elle Düzenleme

Her kapsam tablosundaki dosya aynı JSON formatını kullanır. Proje kök dizininde bir .mcp.json dosyası oluşturarak sunucuları elle de tanımlayabilirsiniz -- bu dosya depoya kod olarak yazılmış yapılandırma (configuration-as-code) niteliğindedir:

{
  "mcpServers": {
    "claude-code-docs": {
      "type": "http",
      "url": "https://code.claude.com/docs/mcp"
    },
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    }
  }
}

HTTP sunucuları için url alanı, stdio sunucuları için command ve args alanları zorunludur. Dosyayı kaydettikten sonra projede yeni bir Claude Code oturumu başlatın -- Claude Code .mcp.json'ı yalnızca oturum başında okur. Proje kapsamlı bir sunucuyla ilk kez karşılaşıldığında Claude Code onayınızı ister; bu, klonladığınız bir deponun rızanız olmadan makinenizde süreç başlatmasını engellemek içindir.

Bir type alanı olmadan yalnızca url içeren bir JSON girdisi yapılandırma hatasıdır -- Claude Code bunu type alanı belirtilmemiş bir stdio sunucusu olarak okur ve şu uyarıyı verir: MCP server "<isim>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry.

Ortam değişkeni genişletme (${VAR} sözdizimi)

Ekip içinde paylaşılan .mcp.json dosyalarında makineye özgü yollar veya API anahtarları gibi hassas değerler için ortam değişkeni genişletme desteklenir:

  • ${VAR}VAR ortam değişkeninin değerine genişler.
  • ${VAR:-default}VAR ayarlıysa onu, değilse default değerini kullanır.
{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

Genişletme command, args, env, url ve headers alanlarında geçerlidir. Referans verilen bir değişken ayarlı değilse ve varsayılan değeri yoksa yapılandırma yine de yüklenir; Claude Code claude mcp list çıktısında bir uyarı gösterir ve metni olduğu gibi (${VAR}) kullanır.

Kimlik Doğrulama: OAuth ve Statik Token

Sentry, Linear, Notion gibi barındırılan servislerin MCP sunucuları genellikle OAuth 2.0 arkasında çalışır. Sunucu bir 401 Unauthorized veya 403 Forbidden döndürdüğünde Claude Code onu "kimlik doğrulama gerekiyor" olarak işaretler. Akış şu şekildedir:

# 1. Kimlik doğrulama gerektiren sunucuyu ekle
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# 2. Bir oturum içinde /mcp komutuyla tarayıcıdan giriş yap
/mcp

/mcp panelinde sunucuyu seçip Authenticate seçeneğini işaretlediğinizde tarayıcınız servisin giriş sayfasını açar; onayladıktan sonra Claude Code'daki durum "connected" olarak güncellenir. Terminalden, oturuma hiç girmeden doğrudan giriş yapmak için ise:

claude mcp login sentry

Kimlik bilgilerini silmek için claude mcp logout <isim> kullanılır. SSH oturumu gibi yerel tarayıcının olmadığı durumlarda komut, tarayıcı açmak yerine yetkilendirme URL'sini terminale yazdırır; URL'yi kendi makinenizde açıp tarayıcının adres çubuğundaki tam yönlendirme (redirect) URL'sini terminale yapıştırırsınız.

OAuth desteklemeyen, statik token ile çalışan sunucular için token'ı ekleme anında --header ile geçirirsiniz. GitHub'ın uzak MCP sunucusu buna iyi bir örnektir: önce GitHub token ayarlarından ince taneli (fine-grained) bir personal access token oluşturursunuz, sonra:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"

Önemli bir ayrıntı: claude mcp add komutu kimlik bilgisini doğrulamadan kaydeder, yani sahte bir token bile "eklendi" mesajı alır ama sunucu daha sonra bağlanamaz. Bağlantıyı doğrulamak için mutlaka /mcp çalıştırıp sunucunun connected gösterdiğini teyit edin.

Pratik Örnek: GitHub MCP ile Kod İnceleme İş Akışı

Yukarıdaki github sunucusu bağlandıktan sonra, artık GitHub'a geçmeden doğrudan terminalden şu tür isteklerde bulunabilirsiniz (resmi dokümantasyondaki örnekler):

> PR #456'yı incele ve iyileştirme öner
> Az önce bulduğumuz hata için yeni bir issue oluştur
> Bana atanmış tüm açık PR'ları göster

Benzer şekilde bir PostgreSQL veritabanına stdio transport'uyla bağlanıp doğal dille sorgu yazdırabilirsiniz:

claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
> Bu ayki toplam gelirimiz ne kadar?
> orders tablosunun şemasını göster
> 90 gündür alışveriş yapmamış müşterileri bul

Bu iki örnek, MCP'nin asıl değerini gösterir: Claude Code artık yalnızca kod tabanınızı değil, projenizle ilgili canlı, dış sistemlerdeki veriyi de görüp üzerinde eyleme geçebilir.

MCP Kaynaklarını @ ile Referans Verme

Bazı MCP sunucuları, dosyalar gibi @ ile referans verebileceğiniz kaynaklar (resources) sunar. Prompt içinde @ yazdığınızda bağlı tüm sunuculardan gelen kaynaklar dosyalarla birlikte otomatik tamamlama menüsünde belirir. Belirli bir kaynağa @sunucu:protokol://kaynak/yol formatıyla referans verilir:

@github:issue://123 numaralı issue'yu analiz edip bir çözüm öner
@docs:file://api/authentication adresindeki API dokümantasyonunu incele

Tek bir prompt içinde birden fazla kaynağa da referans verilebilir, örneğin @postgres:schema://users ile @docs:file://database/user-model karşılaştır. Kaynaklar referans verildiğinde otomatik olarak alınıp eke (attachment) dönüştürülür; içerik metin, JSON veya sunucunun sağladığı herhangi bir yapılandırılmış veri olabilir.

MCP Prompt'larını Slash Komutu Olarak Çalıştırma

MCP sunucuları, Claude Code'da komut olarak beliren prompt'lar da tanımlayabilir. / yazdığınızda MCP sunucularından gelenler dahil tüm komutlar listelenir; MCP prompt'ları /mcp__sunucuadi__promptadi biçiminde görünür:

/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "Login akışında hata" high

Argümanlar boşlukla ayrılarak geçirilir ve prompt'un tanımladığı parametrelere göre ayrıştırılır; sonuç doğrudan konuşmaya enjekte edilir. Sunucu ve prompt isimlerindeki boşluklar alt çizgiye dönüştürülerek normalize edilir.

Bağlam Yönetimi: Tool Search

Çok sayıda MCP sunucusu bağladığınızda her sunucunun araç tanımları normalde bağlam penceresini (context window) doldurabilir. Bunu önlemek için Claude Code'da tool search özelliği varsayılan olarak açıktır: araç tanımları oturum başında yüklenmek yerine ertelenir, yalnızca sunucu isimleri ve talimatları yüklenir. Claude bir göreve ihtiyaç duyduğunda ilgili araçları arayıp bulur; yalnızca gerçekten kullanılan araçlar bağlama girer. Bu sayede daha fazla MCP sunucusu eklemenin bağlam penceresine etkisi minimum düzeyde kalır.

Davranışı ENABLE_TOOL_SEARCH ortam değişkeniyle özelleştirebilirsiniz: auto eşik tabanlı yükleme (araçlar bağlamın %10'una sığıyorsa baştan yüklenir), auto:N özel yüzdeyle eşik, false ise tüm araçların baştan yüklenmesi anlamına gelir. Claude'un her turda ihtiyaç duyacağı az sayıdaki aracı arama adımı olmadan görünür kılmak isterseniz, o sunucunun yapılandırmasına "alwaysLoad": true ekleyebilirsiniz.

Güvenlik: Nelere Dikkat Etmelisiniz

Resmi dokümantasyon açık bir uyarıyla başlıyor: bağlanacağınız her sunucuya güvendiğinizden emin olun. Harici içerik çeken sunucular, prompt injection riskine sizi açık bırakabilir -- yani kötü niyetli bir web sayfası veya belge, MCP aracının döndürdüğü metin içine gizlenmiş talimatlarla Claude'u manipüle etmeye çalışabilir. Bu risk özellikle web tarama, e-posta okuma veya harici doküman içeriği döndüren sunucularda geçerlidir.

Ek olarak dikkat edilmesi gereken pratik noktalar:

  • stdio sunucuları makinenizde süreç çalıştırır. npx -y paket-adi gibi bir komutla eklediğiniz her stdio sunucusu, kaynağını doğrulamadığınız sürece keyfi kod çalıştırma riski taşır.
  • Proje kapsamlı sunucular onay ister. .mcp.json içinden gelen bir sunucu, depoyu klonladığınızda otomatik çalışmaz; Claude Code önce onayınızı sorar. Bu onay adımını atlamayın, özellikle güvenmediğiniz bir depoyu klonladıysanız.
  • Statik token'ları .mcp.json'a düz metin yazmayın. Bunun yerine ${VAR} ortam değişkeni genişletmesini kullanıp gerçek değeri kendi ortamınızda (veya bir secret yöneticisinde) tutun.
  • MCP çıktı limitlerine dikkat edin. Bir aracın çıktısı 10.000 token'ı geçtiğinde Claude Code uyarı gösterir; varsayılan üst sınır 25.000 token'dır ve MAX_MCP_OUTPUT_TOKENS ortam değişkeniyle yükseltilebilir.

Sık Karşılaşılan Sorunlar

Belirti Olası neden ve çözüm
/mcp "No MCP servers configured" gösteriyor Sunucu farklı bir projeden eklenmiş olabilir (local kapsam projeye bağlıdır) ya da yanlış bir dosyaya yazılmış olabilir. Doğru dosyalar yalnızca ~/.claude.json ve <proje>/.mcp.json'dır.
Failed to connect / Connection error HTTP sunucuları için curl -I <url> ile erişilebilirliği kontrol edin: 404/405 sunucunun ayakta olduğunu, 401/403 kimlik doğrulama gerektiğini gösterir. Stdio sunucuları için yapılandırılan komutu terminalde doğrudan çalıştırıp hatayı görün.
Bağlantı başlangıçta zaman aşımına uğruyor Varsayılan başlangıç zaman aşımı 30 saniyedir. MCP_TIMEOUT=60000 claude ile milisaniye cinsinden yükseltebilirsiniz.
Sunucu bağlanıyor ama hiç araç görünmüyor /mcp içinde sunucuyu seçip araç listesine bakın; boşsa genellikle eksik bir ortam değişkeni (API anahtarı gibi) nedeniyledir. --env KEY=value ile geçirin.
.mcp.json'daki değişiklikler etkili olmuyor Claude Code bu dosyayı yalnızca oturum başında okur; dosyayı düzenledikten sonra oturumu kapatıp yeniden başlatın.

Sıkça Sorulan Sorular

MCP nedir, neden Claude Code için önemlidir?

MCP (Model Context Protocol), yapay zekâ araçlarının harici sistemlere -- veritabanları, issue tracker'lar, tasarım araçları, izleme panelleri -- bağlanması için açık kaynaklı bir standarttır. Claude Code, MCP sayesinde yüzlerce dış araç ve veri kaynağına bağlanabilir; böylece Claude başka bir uygulamadan kopyala-yapıştır yapmak yerine ilgili sisteme doğrudan erişip okuma ve eylem gerçekleştirebilir.

claude mcp add ile hangi transport türleri desteklenir?

Dört transport türü vardır: http (uzak sunuculara bağlanmak için önerilen ve en yaygın desteklenen tür), sse (kullanımdan kaldırılmıştır, mümkünse http tercih edilmeli), stdio (yerel makinede alt süreç olarak çalışan sunucular için varsayılan tür) ve ws (WebSocket; kalıcı çift yönlü bağlantı gerektiren sunucular için, yalnızca .mcp.json veya claude mcp add-json ile yapılandırılır).

local, project ve user kapsamları arasındaki fark nedir?

local kapsam (varsayılan) yalnızca eklendiği projede ve yalnızca o kullanıcı için geçerlidir, ~/.claude.json içinde saklanır. project kapsamı .mcp.json dosyasında saklanır, versiyon kontrolüne eklenebilir ve depoyu klonlayan herkesle paylaşılır -- ancak her kullanıcı ilk kullanımda onay vermelidir. user kapsamı ise ~/.claude.json'da saklanır ve o kullanıcının tüm projelerinde, yalnızca kendisi için aktif olur. Aynı isimli sunucu birden fazla kapsamda tanımlıysa öncelik sırası local > project > user > plugin > claude.ai konnektörü'dür.

OAuth gerektiren bir MCP sunucusuna nasıl giriş yapılır?

Önce claude mcp add --transport http komutuyla sunucu eklenir; sunucu 401 veya 403 döndürdüğünde claude mcp list çıktısında "Needs authentication" olarak görünür. Ardından bir Claude Code oturumunda /mcp komutu çalıştırılıp ilgili sunucu seçilir ve Authenticate seçeneğiyle tarayıcı üzerinden giriş tamamlanır. Terminalden doğrudan giriş için claude mcp login <isim> komutu da kullanılabilir; kimlik bilgilerini silmek için claude mcp logout <isim> çalıştırılır.

MCP kaynaklarını (@ mention) ve prompt'larını nasıl kullanırım?

Bağlı bir sunucunun sunduğu kaynaklara @sunucu:protokol://yol formatıyla, örneğin @github:issue://123 şeklinde, prompt içinde referans verilebilir; içerik otomatik olarak alınıp konuşmaya eklenir. Bir sunucunun tanımladığı prompt'lar ise /mcp__sunucuadi__promptadi formatında slash komutu olarak görünür ve argümanlar boşlukla ayrılarak geçirilir, örneğin /mcp__github__pr_review 456.

MCP sunucusu eklerken güvenlik açısından nelere dikkat etmeliyim?

Resmi dokümantasyona göre bağlanacağınız her sunucuya güvendiğinizden emin olmalısınız; harici içerik çeken sunucular prompt injection riskine açık olabilir. stdio sunucuları makinenizde alt süreç olarak keyfi komut çalıştırabildiğinden, kaynağını bilmediğiniz paketleri npx ile çalıştırmadan önce inceleyin. Proje kapsamındaki (.mcp.json) sunucular, depoyu klonlayan herkesin makinesinde otomatik başlamaması için ilk kullanımda onay ister; bu onay adımını atlamayın.

Özet

MCP, Claude Code'u tek başına çalışan bir kodlama asistanından, projenizin tüm ekosistemine (issue tracker, veritabanı, izleme paneli, tasarım aracı) erişebilen bir ajana dönüştürür. Başlamak için tek ihtiyacınız claude mcp add --transport http <isim> <url> gibi tek satırlık bir komut; kapsam seçimiyle (local/project/user) sunucuyu yalnızca kendinize mi yoksa ekibinize mi açacağınıza karar verirsiniz. OAuth gerektiren servislerde /mcp veya claude mcp login ile giriş yapar, statik token'lı servislerde --header kullanırsınız. Kaynaklara @sunucu:protokol://yol ile referans verip, sunucuların sunduğu prompt'ları /mcp__sunucu__prompt komutlarıyla çalıştırabilirsiniz. Tek kural değişmiyor: bağlandığınız her sunucuya güvenin, çünkü Claude Code o sunucunun döndürdüğü her şeyi bağlamına dahil ediyor.

MCP'yi Claude Code'un diğer otomasyon katmanlarıyla -- örneğin hooks ile olay tabanlı otomasyonla ya da agent skills ve slash komutlarıyla -- birlikte kullandığınızda, terminalinizdeki asistan gerçek anlamda projenizin tüm bağlamına erişen bir ajana dönüşüyor. Henüz Claude Code'u kurmadıysanız kurulum rehberimden başlayabilirsiniz.

Bu yazı Ahmet Bilgiç tarafından ahmetbilgic.com için yazılmıştır. Diğer yazılar için: medium.com/@ahmet_bilgic07