# MCP araç bağlar, her araç bağlam yer

MCP, Claude'a yerleşik araçların dışında araçlar verir. Kurulum tek komut. Asıl kararlar hangi scope'u kullanacağınız ve düz bir CLI'ın işi bedavaya görüp görmeyeceği.

## MCP sunucusu ne ekler

Claude kutudan çıktığı gibi dosya okuyor, arıyor, düzenliyor ve kabuk komutu çalıştırıyor. Notion sayfalarınızı, issue takipçinizi ya da veritabanınızı, ona bir yol veren bir şey olmadan göremiyor.

**MCP sunucusu** o şey. Claude'a ek araçlar sunuyor ve Claude bunları döngüdeki diğer araçlar gibi çağırıyor. Sunucu yerel bir süreç (`stdio`) olarak, ya da uzakta `http` (`streamable-http` diye de yazılıyor) veya `sse`/`ws` üzerinden çalışabilir.

Eklemek tek komut:

```bash
claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport stdio myserver -- python server.py --port 8080
```

`--` işaretinden sonrası sunucu komutuna olduğu gibi gidiyor. `--port` gibi bir bayrağın Claude Code tarafından okunmak yerine sunucunuza ulaşması böyle oluyor.

## Üç scope

Sunucuyu nereye eklediğiniz, kimin alacağını belirliyor.

- **local**, varsayılan: bu proje için `~/.claude.json` içinde tutulur, yalnızca siz görürsünüz
- **project**: repo kökündeki `.mcp.json` dosyasına yazılır, git ile paylaşılır
- **user**: bütün projelerinizde kullanılabilir

`--scope project|user|local` ile seçersiniz. Aynı isim birden fazla scope'ta varsa sıra şöyle: local, project, user, plugin, sonra claude.ai connector'ları. Kazanan kayıt bütün olarak kullanılıyor. Scope'lar arasında alanlar birleştirilmiyor.

Paylaşılan bir `.mcp.json` için sırları dosyanın dışında tutun. Ortam değişkenlerine `${VAR}` ya da `${VAR:-default}` ile başvurun, her takım arkadaşı kendi değerini versin.

**Question:** Aynı sunucu adını user ve project scope'unda farklı ayarlarla eklerseniz ne olur?

- Ayarlar alan alan birleştirilir
- User kaydı kazanır, project yok sayılır
- Project kaydı birleştirme olmadan bütün olarak kazanır
- Claude her seferinde size sorar

**Answer:** Project kaydı birleştirme olmadan bütün olarak kazanır. Öncelik sırası local, project, user. Kazanan kayıt olduğu gibi kullanılır, alanlar birleştirilmez.


## Bağlamdaki maliyeti

Araçları taşımak bedava değil. Her aracın bir adı, açıklaması ve şeması var; çok araçlı bir sunucu siz tek kelime yazmadan bağlamı doldurabilir.

Claude Code bunu yumuşatıyor: tool search varsayılan olarak açık, yani başta yalnızca araç adları yükleniyor ve tam tanımlar araç gerektiğinde geliyor. Bu çok yardımcı oluyor ama maliyeti ortadan kaldırmıyor. Çıktı da maliyet. 10.000 token'ı aşan bir araç sonucu uyarı üretiyor ve varsayılan olarak 25.000'de kesiliyor (`MAX_MCP_OUTPUT_TOKENS` bunu değiştirir). 50.000 karakteri aşan metin sonuçları ise bir dosyaya kaydediliyor.

Yani sunucu eklemeden önce sorulacak soru "bağlanır mı" değil, "bana ne taşıtacak".

> **Varsa düz CLI'ı tercih edin**
GitHub için `gh` zaten kabuktan çalışıyor ve bağlamdan hiçbir şey yemiyor. MCP'ye varsayılan olarak değil, yapılandırılmış araç ya da OAuth gerektiğinde başvurun.


## Çalıştırmak ve onarmak

`/mcp` her sunucunun durumunu gösteriyor, `/mcp reconnect <server|all>` bağlantıyı yeniden deniyor. Kopan bir uzak sunucu, bir saniyeden başlayan bekleme ile beş kez yeniden bağlanmayı deniyor. İki dakikadan uzun süren bir çağrı, `/tasks` içinde görebileceğiniz bir arka plan görevine taşınıyor.

Bilmeye değer iki sessiz tuzak var.

> **Sessiz atlamalar ve yarım silmeler**
`url` olup `type` olmayan bir kayıt stdio sayılıp sessizce atlanıyor, o yüzden `type` ekleyin. Ayrıca `claude mcp remove` yerel token'ları siliyor ama iptal etmiyor. Önce `claude mcp logout <name>` çalıştırın.


## Gelen şeye güvenmek

Sunucu, sizin çalıştırdığınız kod ve araç sonuçları doğrudan modelin bağlamına giriyor. Güvendiğiniz sunucuları ekleyin, işin izin verdiği kadar dar scope'ta tutun ve takımınızın inceleme sırasında okuyabilmesi için project scope kayıtlarını `.mcp.json` içinde bırakın.

> **Maliyeti sayın**
`/mcp` çalıştırıp bağlı olanlara bakın. Her sunucu için bu hafta kullanıp kullanmadığınızı sorun. Kullanmadıklarınızı kaldırın ya da daraltın ve elinizdeki bir CLI'ın aynı işi görüp görmediğine bakın.


**Question:** MCP'yi düz bir CLI'a tercih etmek için en güçlü sebep hangisi?

- MCP her zaman daha hızlı
- Yapılandırılmış araçlara ya da OAuth'a ihtiyacınız var
- CLI sırları okuyamaz
- MCP hiç bağlam kullanmaz

**Answer:** Yapılandırılmış araçlara ya da OAuth'a ihtiyacınız var. gh gibi bir CLI bağlamdan hiçbir şey yemez. MCP, yapılandırılmış araç ya da OAuth girişi gerektiğinde yerini hak eder.
