İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • DevOps
  • Azure Functions ile Uzun Süreli MCP Araçları Geliştirmek
DevOps Geliştirici Araçları Microsoft Azure Azure Functions, Durable Functions, MCP Tasks, Model Context Protocol (MCP), Uzun Süreli İş Akışları Aşkın KILIÇ 18/07/2026 4 Yorumlar

Azure Functions ile Uzun Süreli MCP Araçları Geliştirmek

Azure Functions ile Uzun Süreli MCP Araçları Geliştirmek
📑 İçindekiler
  1. MCP Araçlarında Bugünkü Sınır
  2. MCP Tasks Uzantısı Neyi Değiştiriyor?
  3. Durable Functions ile Bugünden Uzun Süreli Görevler
  4. Sunucunun Sunduğu Araçlar
  5. Modelin Zayıf Noktası: Ajan Belleği
  6. Tasks Uzantısı Yaygınlaştığında Ne Değişecek?
  7. Ne Zaman Bu Deseni Tercih Etmeli?
  8. İlgili İçerikler
  9. Kaynaklar ve İleri Okuma

⏱️ 4 dk okuma📅 18 Temmuz 2026

Model Context Protocol (MCP) sunucularıyla çalışan geliştiricilerin sık karşılaştığı bir problem var: Bir aracın (tool) çalışması istemcinin bekleyebileceği süreyi aştığında ne yapmalı? Basit istek/yanıt akışının dışına çıkıp çok adımlı iş akışlarına ya da dakikalarca sürebilen işlemlere geçtiğinizde, mevcut MCP çağrı modeli sınırlarına dayanıyor. Bu yazıda, Azure Functions üzerinde Durable Functions kullanarak uzun süreli MCP araçlarının bugün nasıl gerçekleştirilebileceğini ve MCP’nin bu ihtiyacı standartlaştırmak için tanıttığı Tasks uzantısının ne getirdiğini ele alacağız.

İlgili içerik: Azure Functions Managed Connectors ile SharePoint ve Teams

MCP Araçlarında Bugünkü Sınır

MCP araçları bugün özünde istek/yanıt tabanlıdır: İstemci bir tools/call gönderir, sunucu sonucu döner. Bu model hızlı işlemler için uygundur; ancak şu koşullarda çatırdamaya başlar:

  • İş akışı dakikalarca sürüyorsa,
  • Yürütme birden fazla adıma bağlıysa,
  • Gecikme öngörülemezse.

Pratikte istemciler kendi araç çağrısı zaman aşımlarını uygular. Bunlar MCP spesifikasyonuyla standartlaştırılmamış olsa da genellikle 30–60 saniye civarındadır. Bu pencere aşıldığında istemci zaman aşımına düşer, ajan çağrıyı başarısız olarak görür ve arka plandaki iş çalışmaya devam edebilir. Kısacası: senkron araç çağrıları, uzun süreli işleri doğal biçimde modellemez.

MCP Tasks Uzantısı Neyi Değiştiriyor?

MCP’nin 2026-07-28 aday sürümüyle gelen Tasks uzantısı, tam olarak bu boşluğu doldurmayı hedefliyor. Uzantı etkinleştirildiğinde sunucu, bir tools/call‘a nihai sonuç yerine asenkron bir task handle (görev tanıtıcısı) ile yanıt verebiliyor. Yaşam döngüsünün geri kalanını istemci sürüyor:

  • tasks/get: Görevin durumunu sorgular.
  • tasks/update: Görev input_required durumuna geçerse sunucuya girdi gönderir.
  • tasks/cancel: Devam eden bir görevi iptal eder.

Bir görevin durumu working, input_required, completed, failed veya cancelled olabilir; tamamlandığında nihai sonucu da taşır. Görev oluşturma sunucu güdümlüdür: İstemci desteği istek başına yeteneklerinde bildirir, sunucu ise her istekte task döndürüp döndürmeyeceğine karar verir. Desteğini beyan etmeyen bir istemciye sunucu task döndürmez.

Ancak Tasks’ın işlevsel olabilmesi ekosistem desteğine bağlı: İstemcilerin uzantıyı beyan etmesi ve MCP SDK’larının görev yaşam döngüsünü uygulaması gerekiyor. Uzantı tanımlanmış olsa da geniş istemci ve SDK desteği hâlâ olgunlaşma sürecinde.

Durable Functions ile Bugünden Uzun Süreli Görevler

Tasks uzantısı istemciler arasında yaygın destek bulana kadar, mevcut istek/yanıt istemcileriyle çalışan ve uzun süreli yürütmeyi destekleyen bir desene ihtiyaç var. Microsoft tarafından paylaşılan örnekler bunu Durable Functions ile çözüyor. Durable Functions; kontrol noktası oluşturma, ölçekleme ve kurtarmayı otomatik yöneterek durum bilgisi tutan, uzun süreli iş akışlarını sıradan kod olarak yazmanıza olanak tanıyan bir çerçevedir.

Örneklerdeki uzun süreli iş, kısa bir blok zinciri madenciliğini simüle ediyor: Her blok, belirli bir örüntüye (örneğin belirli sayıda sıfırla başlayan bir çıktıya) ulaşana kadar farklı girdilerin denenmesini gerektiren bir hesaplama bulmacasını çözmeyi içeriyor. Bol deneme-yanılma barındırdığı için doğal olarak zaman alan, uzun süreli iş akışına iyi bir örnek oluşturuyor.

Sunucunun Sunduğu Araçlar

Örnek sunucu iki araç sunuyor:

  • start_mining

    • Blokları madenlemek için bir Durable Functions orkestrasyonu başlatır.
    • Yapılandırılabilir bir bütçe dahilinde kısa süre bekler.
    • Bütçe içinde tamamlanırsa sonucu satır içi döner; hâlâ çalışıyorsa bir workflow_id döner.
  • get_mining_result

    • workflow_id‘yi parametre olarak alır.
    • Mevcut durumu döner: completed, running, failed veya not_found.

Ajanın araçları doğru sırada çağırması için workflow_id, get_mining_result‘ta zorunlu bir parametre olarak tanımlanmış; böylece ajan önce bir madencilik başlatmadan sorgulama yapamıyor. Ayrıca running yanıtı, bir poll_after_seconds değeri ve bir next talimatı taşıyor. Bu, ajanı iş bitmediğinde vazgeçmek ya da tamamlandı varsaymak yerine tekrar yoklama yapmaya yönlendiriyor.

Modelin Zayıf Noktası: Ajan Belleği

Buna rağmen sorgulama yolu, ajanın kendisine verilen workflow_id‘yi doğru hatırlamasına ve halüsinasyona kapılmamasına bağlı. Ajan kimliği bozar veya uydurursa, sorgu yanlış örneğe düşer ya da hiçbir örneğe düşmez. Bu yüzden get_mining_result, tahmin yürütmek yerine not_found dönduruyor.

Tasks Uzantısı Yaygınlaştığında Ne Değişecek?

Tasks uzantısı istemciler ve SDK’lar genelinde tam olarak uygulandığında model daha basit ve daha güvenilir hâle geliyor: Sunucu bir Task handle dönduruyor, istemci sorgulamayı ve yaşam döngüsü çağrılarını yönetiyor, SDK yürütme durumunu takip ediyor. Bu, bugünkü çözümün ajanın workflow_id gibi tanımlayıcıları hatırlayıp doğru şekilde iletmesine bağlı olması gibi kritik kısıtı ortadan kaldırıyor.

Ne Zaman Bu Deseni Tercih Etmeli?

Yazının özetlediği koşullar bu deseni değerli kılıyor:

  • Aracın çalışma süresi öngörülemez veya istemcinin zaman aşımını aşabilecek kadar uzunsa,
  • İş akışı birden fazla adım içeriyor ve durum bilgisi tutulması gerekiyorsa,
  • Kontrol noktası, ölçekleme ve hata kurtarma gibi özelliklere ihtiyaç varsa.

Durable Functions bu ihtiyaçları serverless bir modelde karşılarken, Azure Functions üzerindeki MCP eklentisiyle de doğal biçimde birleşiyor. Tasks uzantısı olgunlaştığında ise mevcut kodun büyük bölümünü koruyup istemci tarafındaki polling yükünü standart bir yaşam döngüsüne devretmek mümkün olacak.

İlgili İçerikler

  • Azure MCP Araçları Visual Studio 2022’de Yerleşik Geldi
  • Azure DevOps MCP Server Nisan Güncellemesi: Küçük Dokunuşlar, Büyük Etki
  • Microsoft Foundry’de Azure DevOps Remote MCP Server: İlk İzlenimler ve Gerçekler

Kaynaklar ve İleri Okuma

  • devblogs.microsoft.com
  • How to build long-running MCP tools on Azure Functions – Azure SDK Blog (Lily Ma)
  • MCP 2026-07-28 Release Candidate ve Tasks uzantısı duyurusu
  • Durable Functions’a genel bakış (Microsoft Learn)
  • Örnek: mcp-functions-long-running-tools-python
  • Örnek: mcp-functions-long-running-tools (.NET)
  • Azure Functions MCP Extension Build 2026: Yenilikler ve Saha Notları
  • Azure Functions’ta MCP Apps: TypeScript ile Hızlı Başlangıç
  • Azure Functions’ta Retry Fırtınasını Durdurmak: Backoff ve Circuit Breaker
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

GitHub Lisans Verisi Kalitesi: Kayıp Oran %45'ten %24'e
GitHub Lisans Verisi Kalitesi: Kayıp Oran %45'ten %24'e16 Ağu 2026
Visual Studio'da GitHub Copilot: Temmuz 2026 Güncellemesi
Visual Studio'da GitHub Copilot: Temmuz 2026 Güncellemesi3 Ağu 2026
GitHub HydraFusion: Göreve Göre Model Orkestrasyonu
GitHub HydraFusion: Göreve Göre Model Orkestrasyonu5 Eyl 2026
Covering Index ile T-SQL Sorgu Performansı
Covering Index ile T-SQL Sorgu Performansı21 Tem 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket Azure Functions Durable Functions MCP Tasks Model Context Protocol (MCP) Uzun Süreli İş Akışları
Önceki yazı

GitHub Copilot ile C++ İteratif Build’lerinizi Hızlandırın

Sonraki yazı

GitHub Copilot app now available in the usage metrics API

İlginizi Çekebilir

GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
Aşkın KILIÇ 0

GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı

18/10/2026
Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
Aşkın KILIÇ 0

Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol

18/10/2026
Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
Aşkın KILIÇ 0

Visual Studio 2026: İlk Hatada Derlemeyi Durdurma

18/10/2026

4 comments

comments user
Berk N. 18/07/2026 11:47

Durable Functions ile MCP araçlarını entegre etmek gerçekten akıllıca bir yaklaşım, zaman aşımı sorununu bu şekilde çözmek hiç aklıma gelmemişti. Biz de projemizde benzer timeout sorunlarıyla boğuşuyoruz, deneyeceğim kesinlikle. Bu arada .NET tarafında başlamak isteyenler için şu yazınız da güzeldi: https://www.askinkilic.com.tr/net-modernization-for-beginners-kursu-duyuruldu/

comments user
Kaan T. 18/07/2026 13:11

Durable Functions’ı başka senaryolarda kullandım ama MCP araçlarıyla birleştirme hiç aklıma gelmemişti, mantıklı bir yaklaşım. Timeout sorununu orkestrasyon ile aşmak gerçekten temiz bir çözüm. Bu arada şu yazınız da güzeldi: Copilot Kullanım Metrikleri Artık Repo Bazında — https://www.askinkilic.com.tr/copilot-kullanim-metrikleri-artik-repo-bazinda/

comments user
Derya E. 18/07/2026 22:28

Durable Functions’ın orkestrasyon mantığını MCP ile birleştirmek gerçekten akıllıca bir yaklaşım. Biz de benzer bir senaryoda fan-out/fan-in pattern’ını kullanmaya çalışmıştık ama zaman aşımı sorununu çözemedik, Tasks uzantısından haberdar değildim açıkçası. Activity function’ların retry policy’si bu durumda nasıl davranıyor, yazıda değindiniz mi?

comments user
Zeynep A. 19/07/2026 01:34

Durable Functions kısmı çok işe yarar bilgi, zaman aşımı sorunuyla geçen ay epey boğuştum ve farklı bir yol izlemek zorunda kalmıştım. MCP’nin Tasks uzantısını daha önce duymamıştım, biraz daha araştırmam lazım. Bu arada şu yazınız da güzeldi: Visual Studio Private Marketplace Önizlemesi Başlıyor — https://www.askinkilic.com.tr/visual-studio-private-marketplace-onizlemesi-basliyor/

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
    18/10/2026 GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı
  • Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
    18/10/2026 Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
  • Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
    18/10/2026 Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
  • Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
    18/10/2026 Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
  • GitHub Code Quality Lisans Kullanımını CSV ile Doğrulayın
    17/10/2026 GitHub Code Quality Lisans Kullanımını CSV ile Doğrulayın
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans public preview Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← GitHub Copilot ile C++ İterati...
    GitHub Copilot app now availab... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS