MCP: Claude’u dış araçlara bağlayan standart
- Okuma süresi: 5 dk
- Kod bilgisi gerekmez

Bu derste MCP’nin (Model Context Protocol) ne olduğunu, hazır bir MCP sunucusunu Claude Code’a nasıl bağlayacağınızı ve çok küçük bir sunucunun nasıl yazıldığını öğreneceksiniz. Kod bilmeseniz de sunucuyu Claude Code’a yazdırabilirsiniz.
Not: Claude Code ücretli bir erişim gerektirir (Claude aboneliği, Claude Console hesabı ya da desteklenen bir bulut sağlayıcısı). Üçüncü taraf MCP sunucularının kendi hesap ya da ücret koşulları olabilir.
Aklınıza bir soru mu takıldı?
Bu derste neler öğreneceksiniz?
- MCP’nin ne işe yaradığını ve sunucunun neler sunabileceğini.
- Claude Code’a uzak ya da yerel bir MCP sunucusu eklemeyi ve yönetmeyi.
- Python ile minimal bir sunucu yazıp çalıştırmayı.
MCP nedir?
modelcontextprotocol.io sitesine göre MCP, yapay zekâ uygulamalarını dış sistemlere bağlamak için açık kaynaklı bir standarttır. Bu sistemler yerel dosyalar ve veritabanları gibi veri kaynakları, arama motorları ve hesap makineleri gibi araçlar ya da hazır komut kalıpları gibi iş akışları olabilir. Site MCP’yi yapay zekâ uygulamaları için bir USB-C girişine benzetiyor: farklı cihazlar tek bir standart kabloyla bağlanır.
Sitenin verdiği örnekler arasında Google Takvim ve Notion’a erişen bir asistan ve bir Figma tasarımından web uygulaması üreten Claude Code var. Yani her uygulama için ayrı bir bağlantı yazmak yerine bir kez yazılan sunucu, MCP destekleyen tüm uygulamalarda kullanılabilir.
Bir MCP sunucusu üç tür şey sunabilir:
- Kaynaklar (resources): Okunabilen dosya benzeri veri.
- Araçlar (tools): Yapay zekânın, kullanıcı onayıyla çağırabildiği işlevler.
- Komutlar (prompts): Belirli işler için hazır şablonlar.
Claude Code’a sunucu eklemek
Claude Code belgesine göre bir sunucuyu claude mcp add komutuyla eklersiniz. Uzak (internet üzerindeki) sunucular için önerilen yol HTTP’dir:
claude mcp add --transport http <ad> <adres>
# Belgedeki örnek
claude mcp add --transport http notion https://mcp.notion.com/mcp
Bilgisayarınızda çalışan yerel sunucu için sözdizimi şöyledir. Çift tire (--), Claude’un seçeneklerini sunucu komutundan ayırır:
claude mcp add [seçenekler] <ad> -- <komut> [bağımsız değişkenler...]
Kapsam, sunucunun nerede geçerli olacağını belirler. Varsayılan olan local yalnızca o projede ve yalnızca sizin için geçerlidir. project kapsamı sunucuyu projenin kökündeki .mcp.json dosyasına yazar ve ekiple paylaşır. user kapsamı ise tüm projelerinizde geçerlidir. Seçmek için --scope project ya da --scope user eklenir.
Sunucuları yönetmek için:
claude mcp list: tüm sunucuları listeler.claude mcp get notion: bir sunucunun ayrıntısını gösterir.claude mcp remove notion: sunucuyu kaldırır./mcp: oturum içinde durumu gösterir; OAuth ile giriş gereken uzak sunucularda kimlik doğrulamayı da buradan yaparsınız.
Güvenlik: Belge, bir sunucuya bağlanmadan önce ona güvenip güvenmediğinizi doğrulamanızı söylüyor. Dış içerik getiren sunucular sizi komut enjeksiyonu (prompt-injection/”>prompt injection) riskine açabilir; bu, bir web sayfası ya da belgenin içine gizlenmiş talimatların Claude’u yanıltması demektir. Projeye ait .mcp.json sunucuları kullanılmadan önce Claude Code sizden onay ister.
Minimal bir sunucu yazmak
MCP sitesindeki hava durumu öğreticisi Python kullanıyor. Gereksinim Python 3.10 ve üzeri ile Python MCP SDK’sının 2.0.0 ya da daha yeni sürümü. Öğretici ortamı uv adlı bir araçla kuruyor. Aşağıdaki sunucu o öğreticinin kalıbını izleyen, ağ bağlantısı kullanmayan çok küçük bir uyarlamadır; bu ders için yazıldı ve SDK ile çalıştırılarak denendi.
# macOS / Linux
uv init selam
cd selam
uv venv
source .venv/bin/activate
uv add "mcp[cli]"
# Windows (PowerShell)
uv init selam
cd selam
uv venv
.venv\Scripts\activate
uv add mcp[cli]
Sonra klasördeki selam.py dosyasına şunu yazın:
from mcp.server import MCPServer
mcp = MCPServer("selam")
@mcp.tool()
async def selamla(isim: str) -> str:
"""Verilen isme kısa bir selam mesajı döndürür.
Args:
isim: Selamlanacak kişinin adı
"""
return f"Merhaba {isim}, MCP sunucunuz çalışıyor."
if __name__ == "__main__":
mcp.run(transport="stdio")
Sunucuyu uv run selam.py ile başlatabilirsiniz; bir MCP uygulamasından gelen mesajları dinler. Claude Code’a eklemek için belgedeki yerel sunucu sözdizimini ve öğreticideki uv --directory ... run kalıbını birleştirin. Yolu kendi klasörünüze göre değiştirin:
claude mcp add --transport stdio selam -- uv --directory /MUTLAK/YOL/selam run selam.py
Öğretici Claude Desktop uygulaması için de bir yol anlatıyor: yapılandırma dosyasındaki mcpServers anahtarına sunucuyu eklersiniz ve uygulamayı yeniden başlatırsınız. Windows’ta dosya yolunda çift ters eğik çizgi ya da düz eğik çizgi kullanılmalı.
Komut (Claude Code’a yazdırma)
Bu klasörde uv ve Python MCP SDK ile selam adında minimal bir MCP sunucusu kur. Tek bir araç olsun: verilen isme selam mesajı döndürsün. Sunucuda print kullanma. Kurulumu yap, çalıştığını dene ve bana Claude Code’a eklemek için gereken tam komutu ver. Eklemeden önce onayımı al.
Adım adım uygulama
- Önce hazır bir sunucu deneyin: belgedeki
claude mcp add --transport httpkalıbıyla güvendiğiniz bir sunucuyu ekleyin. - Oturumda
/mcpyazıp durumuna bakın; gerekirse kimlik doğrulayın. - Sunucunun sunduğu bir işi Claude’dan isteyin ve yaptığı çağrıyı okuyun.
- Sunucuyu
claude mcp removeile kaldırıp temiz başlayın. - Sonra yukarıdaki komutla kendi minimal sunucunuzu Claude Code’a yazdırın.
- Sunucuyu
claude mcp addile ekleyin ve aracı çağırtın.
Kontrol listesi
- Eklediğim sunucunun kim tarafından yazıldığını biliyorum.
- Sunucuya gereğinden fazla yetki vermedim.
- Anahtarları .mcp.json gibi paylaşılan dosyalara düz yazmadım.
- Kendi sunucumda print kullanmadım.
- Gereksiz sunucuları kaldırdım.
Sık yapılan hatalar
- Her sunucuya güvenmek: Bilmediğiniz kaynaktan sunucu eklemeyin; sunucu bilgisayarınızda komut çalıştırabilir ya da verilerinizi okuyabilir.
- Anahtarı komuta ya da .mcp.json içine yazmak: Belge yapılandırmada
${VAR}biçiminde ortam değişkeni kullanımını destekliyor. Gizli değerleri düz yazmak yerine bunu tercih edin. - Kişisel veriyi bağlamak: Veritabanı ya da belge sunucusu bağladığınızda içindeki kişisel veriler Claude’a ulaşır. KVKK kapsamındaki veriler için önce yetkinizi ve gerekliliği düşünün.
- stdio sunucusunda print kullanmak: Öğretici, bu tür sunucuda standart çıktıya yazmanın mesajları bozduğunu söylüyor. Günlük için standart kütüphanedeki logging kullanın.
- Windows yolunda tek ters eğik çizgi: JSON dosyalarında çift ters eğik çizgi ya da düz eğik çizgi yazın.
İpucu
Önce yalnızca gerçekten ihtiyaç duyduğunuz tek bir sunucu ekleyin. Belge, bir araçtan Claude’a sürekli veri kopyalayıp yapıştırdığınızı fark ettiğinizde MCP’yi düşünmenizi öneriyor.
Kendinizi deneyin
MCP’yi en iyi hangi benzetme anlatır?
Uzak bir sunucuyu Claude Code’a eklemek için belgede önerilen aktarım türü hangisidir?
Varsayılan local kapsamında eklenen sunucu kimler için geçerlidir?
Bir stdio MCP sunucusunda neden print kullanılmamalıdır?
Bilmediğiniz bir kaynaktaki MCP sunucusunu eklemeden önce ne yapmalısınız?
Kaynaklar
- What is the Model Context Protocol (MCP)? – modelcontextprotocol.io (İngilizce)
- Build an MCP server – modelcontextprotocol.io (İngilizce)
- Connect Claude Code to tools via MCP – Claude Code Docs (İngilizce)
Son kontrol: 7 Kasım 2026
Kaynak: yzdersleri.com/ders/mcp-nedir/ · Yapay Zeka Dersleri
Dersi bitirdiniz mi?
İşaretlerseniz menüde ve ilerleme çubuğunda görünür. Bu bilgi yalnızca sizin tarayıcınızda saklanır.
Öğrenme yolunda sıradaki ders: Claude API’ye giriş: anahtar, model seçimi ve araç kullanımı
Bu ders işinize yaradı mı?
Anonim oydur; kişisel veri toplanmaz.



