# MCP sunucusu geliştiricisi (Model Context Protocol) — 2024'ten beri

> MCP ile çalıştığım işler: bir modele araç ve bağlam açan sunucular yazmak, proje başına uç kurmak ve bağlanan her sunucuyu güven sınırı saymak.

- Öne çıkanlar: 2 yıl
- Deneyim: 2024'den bu yana
- Güncelleme: 2026-11-08
- Kaynak: https://muhammetsafak.com/tr/uzmanlik/mcp/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
## MCP ekosisteminde ben

Bir projenin dokümanını modele açan ilk üç MCP sunucusu makul görünüyordu; sonra sunucular birbirinden ayrı yaşamaya başladı. Doğru birimin proje başına bir sunucu değil, bir uç olduğunu ve arkasındaki dört kararın her birinin bedelini [blogda yazdım](https://muhammetsafak.com/tr/blog/proje-basina-mcp-sunucusu-kurmayi-birakmak/).

MCP'yi bir modele bağlam vermenin protokolü olarak görüyorum; zor kısım protokol değil, arkasındaki kararlar. Bir sunucu bağlandığında bir güven sınırı açılıyor ve o sınırın nerede duracağı sunucuyu yazarken belirleniyor. [Yapay zekâ sistemleri](https://muhammetsafak.com/tr/uzmanlik/ai-systems/) sayfası bu çerçeveyi geniş anlatıyor; bu sayfa protokolün kendisi ve sunucu tarafı.

Sunucuları [TypeScript](https://muhammetsafak.com/tr/uzmanlik/typescript/) ile yazıyorum; sunduğum bağlamın retrieval tarafını [RAG sayfasında](https://muhammetsafak.com/tr/uzmanlik/rag/) anlatıyorum.

## MCP Sunucusu Geliştirici nedir?

MCP (Model Context Protocol), bir modele araç ve bağlam açan protokoldür: yapay zekâ uygulamalarının dış veri kaynaklarına ve araçlara standart bir yolla bağlanmasını sağlar. MCP sunucusu geliştirmek, bu protokolün arkasında hangi aracın ve hangi dokümanın hangi yetkiyle açılacağını tasarlamaktır.

## MCP Sunucusu Geliştirici ne iş yapar?

MCP sunucularını TypeScript ile yazıyorum. Bir projenin dokümanını modele açan sunucularda her projeye kendi ucunu veriyor, aramayı hem vektör hem tam metin indeksinden yapıyor ve iyi bir eşleşme yoksa bunu söylüyorum. Bağlanan her sunucuyu bir güven sınırı olarak ele alıyorum.

## Birlikte kullandığım teknolojiler

- Model Context Protocol: Bir modele araç ve bağlam açan protokol; bağlanan her sunucuyu bir güven sınırı olarak ele alıyorum.
- TypeScript: Model Context Protocol sunucusu yazdığım dil.
- Retrieval-Augmented Generation: Modelin cevabını dokümanlardan getirilen bağlamla kuran retrieval mimarisi.
- Docker: Geliştirme ortamı ve dağıtım paketi.

## Sık sorulanlar

### MCP ile kaç yıldır çalışıyorsun?

2024'ten bu yana, 2 yıldır.

### MCP nedir?

Model Context Protocol, yapay zekâ uygulamalarını dış veri kaynakları ve araçlarla bağlayan açık bir protokoldür. Bir modele hangi araçların ve hangi bağlamın açılacağını sunucu tarafında tarif etmeyi sağlar.

### MCP sunucusu geliştirici ne iş yapar?

Bir modelin çağırabileceği araçları ve okuyabileceği bağlamı bir sunucu olarak açar. Bende iş yalnız protokolü konuşmak değil: hangi aracın hangi yetkiyle açılacağını, aramanın nasıl yapılacağını ve sunucunun neyi yapmadığını belirlemek.

### MCP sunucusunu hangi dille yazıyorsun?

TypeScript ile. Neden bu dili seçtiğimi ve tipin MCP'de nereye kadar yettiğini TypeScript sayfasında anlatıyorum.

### MCP ile RAG arasındaki fark ne?

RAG, modelin cevabını dokümanlardan getirilen bağlamla kuran mimaridir; MCP, o bağlamı ve araçları modele açan protokol. İkisi birlikte çalışabilir: retrieval bir MCP sunucusunun arkasında durabilir. Retrieval hattını RAG sayfasında anlatıyorum.

### MCP sunucusu aradığını bulamazsa ne yapıyor?

En az kötü sonucu döndürmek yerine iyi bir eşleşme olmadığını söylüyor ve dokümanları listeleyen araca yönlendiriyor. Aynı disiplin indekslemede de geçerli: metin katmanı olmayan taranmış bir PDF indekslenmiyor, reddediliyor; çünkü kimsenin fark etmediği hata, bir doküman üreten hatadır. Boş metin indekslenir, doküman listelenir, hiçbir şeyle eşleşmez.

### MCP'de projeleri birbirinden nasıl ayırıyorsun?

İzolasyonu bir ayar olarak değil adres olarak kuruyorum: her projenin kendi URL'si var ve bir projeye bağlanan istemci diğerini göremiyor. Alternatif, projeyi argüman olarak geçmekti; o zaman gizlilik modelin doğru argümanı seçmesine kalırdı. Bedeli açık: projeler arası arama yok.

### MCP sunucunun bilinen bir sınırı var mı?

Var: diller arası arama. Türkçe sorulan sorunun cevabı İngilizce bir sayfadaysa çoğunlukla cevaplanmıyor. Hibrit arama tanımlayıcıları kurtardı ama tek bir doğal dil sorusunu kurtarmadı; çok dilli bir yeniden sıralama modeli diller arası isabeti yükseltti ama aramayı milisaniyelerden saniyelere çıkardı. İkisi de ölçüldü; asıl çözüm olan ikinci bir çeviri-eğitimli model bu sunucu için ödenmedi, bulgu bir yapılacaklar listesinde değil dokümantasyonda duruyor.
