Pratik uygulama, Model Context Protocol (MCP) gücünün somut hale geldiği yerdir. MCP’nin teorisini ve mimarisini anlamak önemli olsa da, gerçek değer bu kavramları gerçek dünya problemlerini çözen çözümler geliştirmek, test etmek ve dağıtmak için kullandığınızda ortaya çıkar. Bu bölüm, kavramsal bilgi ile uygulamalı geliştirme arasındaki boşluğu kapatarak MCP tabanlı uygulamaları hayata geçirme sürecinde size rehberlik eder.
İster akıllı asistanlar geliştiriyor, ister AI’yı iş akışlarına entegre ediyor ya da veri işleme için özel araçlar oluşturuyor olun, MCP esnek bir temel sunar. Dil bağımsız tasarımı ve popüler programlama dilleri için resmi SDK’ları sayesinde geniş bir geliştirici kitlesine erişilebilir. Bu SDK’ları kullanarak çözümlerinizi farklı platformlar ve ortamlarda hızlıca prototipleyebilir, yineleyebilir ve ölçeklendirebilirsiniz.
Aşağıdaki bölümlerde, MCP’yi C#, Java, TypeScript, JavaScript ve Python’da nasıl uygulayacağınıza dair pratik örnekler, örnek kodlar ve dağıtım stratejileri bulacaksınız. Ayrıca MCP sunucularınızı nasıl hata ayıklayacağınızı ve test edeceğinizi, API’leri nasıl yöneteceğinizi ve çözümleri Azure kullanarak buluta nasıl dağıtacağınızı öğreneceksiniz. Bu uygulamalı kaynaklar, öğrenmenizi hızlandırmak ve sağlam, üretime hazır MCP uygulamaları geliştirmenize güvenle yardımcı olmak için tasarlanmıştır.
Bu ders, MCP uygulamasının birden fazla programlama dilinde pratik yönlerine odaklanır. C#, Java, TypeScript, JavaScript ve Python’da MCP SDK’larını kullanarak sağlam uygulamalar geliştirmeyi, MCP sunucularını hata ayıklamayı ve test etmeyi, yeniden kullanılabilir kaynaklar, promptlar ve araçlar oluşturmayı keşfedeceğiz.
Bu dersin sonunda şunları yapabileceksiniz:
- Resmi SDK’ları kullanarak çeşitli programlama dillerinde MCP çözümleri uygulamak
- MCP sunucularını sistematik olarak hata ayıklamak ve test etmek
- Sunucu özellikleri (Kaynaklar, Promptlar ve Araçlar) oluşturmak ve kullanmak
- Karmaşık görevler için etkili MCP iş akışları tasarlamak
- MCP uygulamalarını performans ve güvenilirlik açısından optimize etmek
Model Context Protocol, birden fazla dil için resmi SDK’lar sunar:
Bu bölüm, MCP’yi birden fazla programlama dilinde uygulamaya yönelik pratik örnekler sunar. Örnek kodları samples dizininde, dile göre organize edilmiş şekilde bulabilirsiniz.
Depoda aşağıdaki dillerde örnek uygulamalar bulunmaktadır:
Her örnek, ilgili dil ve ekosistem için temel MCP kavramlarını ve uygulama kalıplarını gösterir.
MCP sunucuları aşağıdaki özelliklerin herhangi bir kombinasyonunu uygulayabilir:
Kaynaklar, kullanıcı veya AI modelinin kullanması için bağlam ve veri sağlar:
- Doküman depoları
- Bilgi tabanları
- Yapılandırılmış veri kaynakları
- Dosya sistemleri
Promptlar, kullanıcılar için şablonlanmış mesajlar ve iş akışlarıdır:
- Önceden tanımlanmış konuşma şablonları
- Yönlendirilmiş etkileşim kalıpları
- Özelleşmiş diyalog yapıları
Araçlar, AI modelinin çalıştırabileceği fonksiyonlardır:
- Veri işleme yardımcıları
- Harici API entegrasyonları
- Hesaplama yetenekleri
- Arama fonksiyonları
Resmi C# SDK deposu, MCP’nin farklı yönlerini gösteren çeşitli örnek uygulamalar içerir:
- Temel MCP İstemcisi: MCP istemcisi oluşturmayı ve araçları çağırmayı gösteren basit örnek
- Temel MCP Sunucusu: Basit araç kaydı ile minimal sunucu uygulaması
- Gelişmiş MCP Sunucusu: Araç kaydı, kimlik doğrulama ve hata yönetimi içeren tam özellikli sunucu
- ASP.NET Entegrasyonu: ASP.NET Core ile entegrasyon örnekleri
- Araç Uygulama Kalıpları: Farklı karmaşıklık seviyelerinde araç uygulama kalıpları
MCP C# SDK önizleme aşamasındadır ve API’lerde değişiklik olabilir. SDK geliştikçe bu blogu sürekli güncelleyeceğiz.
Tam C# uygulama örnekleri için resmi C# SDK örnek deposunu ziyaret edin.
Java SDK, kurumsal düzeyde özelliklerle güçlü MCP uygulama seçenekleri sunar.
- Spring Framework entegrasyonu
- Güçlü tip güvenliği
- Reaktif programlama desteği
- Kapsamlı hata yönetimi
Tam Java uygulama örneği için örnekler dizinindeki Java örneğine bakabilirsiniz.
JavaScript SDK, MCP uygulaması için hafif ve esnek bir yaklaşım sunar.
- Node.js ve tarayıcı desteği
- Promise tabanlı API
- Express ve diğer frameworklerle kolay entegrasyon
- Akış için WebSocket desteği
Tam JavaScript uygulama örneği için örnekler dizinindeki JavaScript örneğine bakabilirsiniz.
Python SDK, MCP uygulaması için Python’a özgü bir yaklaşım ve mükemmel ML framework entegrasyonları sunar.
- asyncio ile async/await desteği
- FastAPI entegrasyonu
- Basit araç kaydı
- Popüler ML kütüphaneleri ile yerel entegrasyon
Tam Python uygulama örneği için örnekler dizinindeki Python örneğine bakabilirsiniz.
Azure API Management, MCP Sunucularını nasıl güvence altına alabileceğimiz konusunda harika bir çözümdür. Fikir, MCP Sunucunuzun önüne bir Azure API Management örneği koymak ve aşağıdaki gibi özellikleri onun yönetmesine izin vermektir:
- hız sınırlaması
- token yönetimi
- izleme
- yük dengeleme
- güvenlik
İşte tam olarak bunu yapan bir Azure Örneği, yani bir MCP Sunucusu oluşturup Azure API Management ile güvence altına alma.
Yetkilendirme akışının aşağıdaki görselde nasıl gerçekleştiğini görün:
Yukarıdaki görselde şu işlemler gerçekleşir:
- Kimlik doğrulama/Yetkilendirme Microsoft Entra kullanılarak yapılır.
- Azure API Management bir geçit görevi görür ve trafiği yönlendirmek ve yönetmek için politikalar kullanır.
- Azure Monitor, tüm istekleri daha fazla analiz için kaydeder.
Yetkilendirme akışına daha yakından bakalım:
MCP Yetkilendirme spesifikasyonu hakkında daha fazla bilgi edinin.
Daha önce bahsettiğimiz örneği dağıtıp dağıtamayacağımıza bakalım:
-
Depoyu klonlayın
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Microsoft.Appkaynak sağlayıcısını kaydedin.- Azure CLI kullanıyorsanız,
az provider register --namespace Microsoft.App --waitkomutunu çalıştırın. - Azure PowerShell kullanıyorsanız,
Register-AzResourceProvider -ProviderNamespace Microsoft.Appkomutunu çalıştırın. Ardından kaydın tamamlanıp tamamlanmadığını kontrol etmek için bir süre sonra(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationStatekomutunu çalıştırın.
- Azure CLI kullanıyorsanız,
-
API yönetim servisi, fonksiyon uygulaması (kod ile) ve diğer gerekli Azure kaynaklarını sağlamak için şu azd komutunu çalıştırın:
azd up
Bu komutlar Azure üzerinde tüm bulut kaynaklarını dağıtmalıdır.
-
Yeni bir terminal penceresinde, MCP Inspector’ı yükleyip çalıştırın:
npx @modelcontextprotocol/inspector
Aşağıdakine benzer bir arayüz görmelisiniz:
-
Uygulamanın gösterdiği URL’den (örneğin http://127.0.0.1:6274/#resources) MCP Inspector web uygulamasını CTRL tıklayarak açın
-
Taşıma türünü
SSEolarak ayarlayın -
azd upkomutundan sonra gösterilen çalışan API Management SSE uç noktasını URL olarak ayarlayın ve Bağlan:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Araçları Listele. Bir araca tıklayın ve Aracı Çalıştır.
Eğer tüm adımlar doğru çalıştıysa, artık MCP sunucusuna bağlısınız ve bir aracı çağırabilmiş olmalısınız.
Remote-mcp-functions: Bu depo seti, Python, C# .NET veya Node/TypeScript kullanarak Azure Functions ile özel uzak MCP (Model Context Protocol) sunucuları oluşturmak ve dağıtmak için hızlı başlangıç şablonlarıdır.
Örnekler, geliştiricilerin şunları yapmasını sağlar:
- Yerel olarak oluşturma ve çalıştırma: MCP sunucusunu yerel makinede geliştirme ve hata ayıklama
- Azure’a dağıtma: Basit bir azd up komutuyla buluta kolayca dağıtım
- İstemcilerden bağlanma: VS Code’un Copilot agent modu ve MCP Inspector aracı dahil çeşitli istemcilerden MCP sunucusuna bağlanma
- Tasarım gereği güvenlik: MCP sunucusu anahtarlar ve HTTPS ile güvence altına alınmıştır
- Kimlik doğrulama seçenekleri: Dahili kimlik doğrulama ve/veya API Management kullanarak OAuth desteği
- Ağ izolasyonu: Azure Sanal Ağları (VNET) kullanarak ağ izolasyonu sağlar
- Sunucusuz mimari: Ölçeklenebilir, olay odaklı yürütme için Azure Functions kullanır
- Yerel geliştirme: Kapsamlı yerel geliştirme ve hata ayıklama desteği
- Basit dağıtım: Azure’a kolaylaştırılmış dağıtım süreci
Depo, üretime hazır bir MCP sunucu uygulamasıyla hızlıca başlamanız için gerekli tüm yapılandırma dosyalarını, kaynak kodu ve altyapı tanımlarını içerir.
- Azure Remote MCP Functions Python - Python ile Azure Functions kullanarak MCP örnek uygulaması
- Azure Remote MCP Functions .NET - C# .NET ile Azure Functions kullanarak MCP örnek uygulaması
- Azure Remote MCP Functions Node/Typescript - Node/TypeScript ile Azure Functions kullanarak MCP örnek uygulaması
- MCP SDK’ları, sağlam MCP çözümleri uygulamak için dil bazlı araçlar sağlar
- Hata ayıklama ve test süreci, güvenilir MCP uygulamaları için kritiktir
- Yeniden kullanılabilir prompt şablonları tutarlı AI etkileşimleri sağlar
- İyi tasarlanmış iş akışları, birden fazla aracı kullanarak karmaşık görevleri düzenleyebilir
- MCP çözümleri uygularken güvenlik, performans ve hata yönetimi dikkate alınmalıdır
Alanınızdaki gerçek bir problemi ele alan pratik bir MCP iş akışı tasarlayın:
- Bu problemi çözmek için faydalı olabilecek 3-4 araç belirleyin
- Bu araçların nasıl etkileşime girdiğini gösteren bir iş akışı diyagramı oluşturun
- Tercih ettiğiniz dilde araçlardan birinin temel bir versiyonunu uygulayın
- Modelin aracınızı etkili kullanmasına yardımcı olacak bir prompt şablonu oluşturun
Sonraki: Gelişmiş Konular
Feragatname:
Bu belge, AI çeviri servisi Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba gösterilse de, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek yanlış anlamalar veya yorum hatalarından sorumlu değiliz.


