İç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.

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

Copilot Code Review: Agent Skills ve MCP Genel Kullanıma
Copilot Code Review: Agent Skills ve MCP Genel Kullanıma1 Ağu 2026
Microsoft Agent Framework ile .NET’te Ajan Kurmanın İncelikleri
Microsoft Agent Framework ile .NET’te Ajan Kurmanın İncelikleri4 May 2026
Azure Portal'dan ZIP ile App Service Dağıtımı Kolaylaştı
Azure Portal'dan ZIP ile App Service Dağıtımı Kolaylaştı11 Ağu 2026
Microsoft JavaOne 2026'da: Java ile AI Çağı
Microsoft JavaOne 2026'da: Java ile AI Çağı8 Ağu 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

Gemini 3.8 Flash GitHub Copilot'ta Kullanıma Sunuldu
Aşkın KILIÇ 0

Gemini 3.8 Flash GitHub Copilot’ta Kullanıma Sunuldu

03/09/2026
Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü
Aşkın KILIÇ 0

Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü

03/09/2026
GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor
Aşkın KILIÇ 0

GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor

03/09/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/

Yanıtla
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/

Yanıtla
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?

Yanıtla
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/

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Gemini 3.8 Flash GitHub Copilot'ta Kullanıma Sunuldu
    03/09/2026 Gemini 3.8 Flash GitHub Copilot’ta Kullanıma Sunuldu
  • Kubernetes v1.37 HPA ile İş Yüklerini Sıfıra İndiriyor
    03/09/2026 Kubernetes v1.37 HPA ile İş Yüklerini Sıfıra İndiriyor
  • Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü
    03/09/2026 Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü
  • GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor
    03/09/2026 GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor
  • Ajanik Yapay Zekâ Terimleri: Loop, Harness ve Squad
    03/09/2026 Ajanik Yapay Zekâ Terimleri: Loop, Harness ve Squad
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • 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?
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • 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

SİZİN İÇİN DERLEDİK

Gemini 3.8 Flash GitHub Copilot'ta Kullanıma Sunuldu
Microsoft Azure Yapay Zeka

Gemini 3.8 Flash GitHub Copilot’ta Kullanıma Sunuldu

03/09/2026 Aşkın KILIÇ
Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü
Bulut Altyapı Geliştirici Araçları Veri & Analitik

Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü

03/09/2026 Aşkın KILIÇ
GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor
Bulut Altyapı Geliştirici Araçları Yapay Zeka

GitHub Copilot AI Kodlamada Maliyeti Nasıl Düşürüyor

03/09/2026 Aşkın KILIÇ
Ajanik Yapay Zekâ Terimleri: Loop, Harness ve Squad
Kurumsal Teknoloji Yapay Zeka

Ajanik Yapay Zekâ Terimleri: Loop, Harness ve Squad

03/09/2026 Aşkın KILIÇ
Visual Studio'da Çözüm Bazlı Renk Teması Nasıl Ayarlanır
Geliştirici Araçları Microsoft Azure

Visual Studio’da Çözüm Bazlı Renk Teması Nasıl Ayarlanır

02/09/2026 Aşkın KILIÇ
SPFx Dev Skills: Ajanların Bildiği ve Kaçırdığı Detaylar
DevOps Geliştirici Araçları Yapay Zeka

SPFx Dev Skills: Ajanların Bildiği ve Kaçırdığı Detaylar

02/09/2026 Aşkın KILIÇ
Microsoft Entra ID için Bicep Şablonları Genel Kullanıma
DevOps Güvenlik & Kimlik Microsoft Azure

Microsoft Entra ID için Bicep Şablonları Genel Kullanıma

02/09/2026 Aşkın KILIÇ
Kubernetes v1.37: etcd RangeStream ile Bellek Dostu Liste
Bulut Altyapı Konteyner & Kubernetes

Kubernetes v1.37: etcd RangeStream ile Bellek Dostu Liste

02/09/2026 Aşkın KILIÇ
Visual Studio'da GitHub Pull Request İnceleme Rehberi
DevOps Geliştirici Araçları Yapay Zeka

Visual Studio’da GitHub Pull Request İnceleme Rehberi

01/09/2026 Aşkın KILIÇ
Python in Visual Studio Code – November 2025 Release
Bulut Altyapı Geliştirici Araçları

Python in Visual Studio Code – November 2025 Release

01/09/2026 Aşkın KILIÇ
Azure SRE Agent'ı Connector Namespace ile Güçlendirmek
Bulut Altyapı Microsoft Azure Yapay Zeka

Azure SRE Agent’ı Connector Namespace ile Güçlendirmek

01/09/2026 Aşkın KILIÇ
Enterprise Live Migrations is now in public preview
Bulut Altyapı DevOps

Enterprise Live Migrations is now in public preview

01/09/2026 Aşkın KILIÇ

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 sdk Azure SQL bulut bilişim C++ CI/CD CodeQL 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 Foundry otomasyon performans Pull Request RAG SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka yapay zeka ajanları 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ı 432 yazı 🏗️ Bulut Altyapı 345 yazı 🤖 Yapay Zeka 289 yazı 🔧 DevOps 242 yazı ☁️ Microsoft Azure 231 yazı 🔒 Güvenlik & Kimlik 199 yazı 🏢 Kurumsal Teknoloji 83 yazı 📊 Veri & Analitik 62 yazı 🐳 Konteyner & Kubernetes 53 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