Aracılığıyla paylaş


Öğretici: Azure İşlevleri'ne mcp sunucusu barındırma

Bu makalede, Azure İşlevleri'ne uzak Model Bağlam Protokolü (MCP) sunucularını barındırma işlemi gösterilmektedir. Ayrıca, sunucu uç noktası yetkilendirmesini yapılandırmak ve yapay zeka araçlarınızın güvenliğini daha iyi sağlamak için yerleşik kimlik doğrulamasını kullanmayı da öğrenirsiniz.

Azure İşlevleri'nde uzak bir MCP sunucusunu barındırmanın iki yolu vardır:

MCP sunucusu seçeneği Description En iyi...
MCP uzantı sunucusu Azure İşlevleri MCP uzantısını kullanarak özel MCP sunucuları oluşturur ve burada uzantı tetikleyicisi araç uç noktalarınızı tanımlamanıza olanak tanır. Bu sunucular tüm İşlevler dillerinde desteklenir ve başka bir işlev uygulaması olarak geliştirilir, dağıtılır ve yönetilir. İşlevler ve bağlama tabanlı programlama modeli hakkında bilgi sahibi olduğunuzda.
Kendi kendine barındırılan sunucu İşlevler, standart MCP SDK'ları kullanılarak oluşturulan bir MCP sunucu projesini barındırabilir. Sunucunuzu zaten resmi MCP SDK'larını kullanarak derlediyseniz ve Azure'da olay odaklı, sunucusuz ve ölçeklenebilir barındırmayı arıyorsanız.

Uyarı

Resmi MCP SDK'larını kullanarak oluşturduğunuz Azure İşlevleri'nin MCP sunucularını barındırma özelliği şu anda önizleme aşamasındadır.

Bu öğretici, İşlevler tarafından desteklenen her iki MCP sunucusu seçeneğini de kapsar. Senaryonuza en uygun sekmeyi seçin.

Bu öğreticide, Visual Studio Code kullanarak şunları kullanacaksınız:

  • MCP uzantısını kullanarak bir MCP sunucu projesi oluşturun.
  • MCP sunucunuzu yerel olarak çalıştırın ve doğrulayın.
  • Azure'da bir işlev uygulaması oluşturun.
  • MCP sunucu projenizi dağıtın.
  • Yerleşik kimlik doğrulamasını etkinleştirin.

Önemli

Bu makale şu anda yalnızca C#, Python ve TypeScript'i desteklemektedir. Hızlı başlangıcı tamamlamak için makalenin üst kısmındaki desteklenen dillerden birini seçin.

Bu makale, Azure İşlevleri için Node.js programlama modelinin 4. sürümünü destekler.

Bu makale, Azure İşlevleri için Python programlama modelinin 2. sürümünü destekler.

Önkoşullar

MCP sunucu projenizi oluşturma

Tercih ettiğiniz dilde yerel olarak bir MCP sunucu projesi oluşturmak için Visual Studio Code'u kullanın.

  1. Visual Studio Code'da F1 tuşuna basarak komut paletini açın. komutunu Azure Functions: Create New Project...arayın ve çalıştırın.

  2. Proje çalışma alanınız için dizin konumunu seçin ve Seç'i seçin. Yeni bir klasör oluşturmanız veya proje çalışma alanı için boş bir klasör seçmeniz gerekir. Zaten bir çalışma alanının parçası olan bir proje klasörünü seçmeyin.

  1. Aşağıdaki bilgileri istenen yerde sağlayın.

    Uyarı Seleksiyon
    Proje türü seçme öğesini C# seçin.
    .NET çalışma zamanı seçme öğesini .NET 8.0 LTS seçin.
    Projenizin ilk işlevi için bir şablon seçin öğesini MCP Tool trigger seçin.
    İşlev adı belirtin McpTrigger yazın.
    Ad alanı sağlama My.Functions yazın.
    Yetkilendirme düzeyi Uzak MCP sunucusuna bağlanırken erişim anahtarı gerektiren öğesini seçin FUNCTION.
    Projenizi nasıl açmak istediğinizi seçin öğesini Open in current window seçin.
  1. Aşağıdaki bilgileri istenen yerde sağlayın.

    Uyarı Seleksiyon
    Proje türü seçme öğesini TypeScript seçin.
    Projenizin ilk işlevi için bir şablon seçin öğesini MCP Tool trigger seçin.
    İşlev adı belirtin mcpToolTrigger yazın.
    Yetkilendirme düzeyi Uzak MCP sunucusuna bağlanırken erişim anahtarı gerektiren öğesini seçin FUNCTION.
    Projenizi nasıl açmak istediğinizi seçin öğesini Open in current window seçin.
  1. Aşağıdaki bilgileri istenen yerde sağlayın.

    Uyarı Seleksiyon
    Proje türü seçme öğesini Python seçin.
    Sanal ortam oluşturmak için Python yorumlayıcısını seçme Tercih ettiğiniz Python yorumlayıcıyı seçin. Bir seçenek gösterilmiyorsa Python ikili dosyanızın tam yolunu yazın.
    Projenizin ilk işlevi için bir şablon seçin öğesini MCP Tool trigger seçin.
    Oluşturmak istediğiniz işlevin adı mcp_trigger girin.
    Yetkilendirme düzeyi Uzak MCP sunucusuna bağlanırken erişim anahtarı gerektiren öğesini seçin FUNCTION.
    Projenizi nasıl açmak istediğinizi seçin öğesini Open in current window seçin.

Visual Studio Code, bu bilgileri kullanarak BIR MCP sunucu tetikleyicisi için bir kod projesi oluşturur. Yerel proje dosyalarını Gezgin'de görüntüleyebilirsiniz.

MCP sunucusunu yerel olarak başlatma

İşlev uygulamalarının çalışması için bir depolama bileşeni gerekir. Sunucuyu başlatmadan önce yerel depolama öykünücüsİnİ başlatın:

  1. local.setting.jsoniçinde, sahip "AzureWebJobsStorage": "UseDevelopmentStorage=true"olduğunuzdan emin olun.

  2. Visual Studio Code'da F1 tuşuna basarak komut paletini açın. Komut paletinde Azurite: Start için arama yapın ve seçin.

  3. Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.

  4. Yerel olarak çalışmaya başlamak için F5 tuşuna basın.

İşlev uygulamalarının çalışması için bir depolama bileşeni gerekir. Sunucuyu başlatmadan önce yerel depolama öykünücüsİnİ başlatın:

  1. local.setting.json içinde, "AzureWebJobsStorage": "UseDevelopmentStorage=true" sahip olduğunuzdan emin olun.

  2. Visual Studio Code'da F1 tuşuna basarak komut paletini açın. Komut paletinde Azurite: Start için arama yapın ve seçin.

  3. Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.

  4. Yerel olarak çalışmaya başlamak için F5 tuşuna basın.

İşlev uygulamalarının çalışması için bir depolama bileşeni gerekir. Sunucuyu başlatmadan önce yerel depolama öykünücüsİnİ başlatın:

  1. local.setting.json içinde, "AzureWebJobsStorage": "UseDevelopmentStorage=true" sahip olduğunuzdan emin olun.

  2. Visual Studio Code'da F1 tuşuna basarak komut paletini açın. Komut paletinde Azurite: Start için arama yapın ve seçin.

  3. Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.

  4. Yerel olarak çalışmaya başlamak için F5 tuşuna basın.

Sunucuyu test edin

  1. .vscode dizinini bulun ve mcp.json açın. Düzenleyici sunucunun bağlantı bilgilerini eklemelidir.

  2. Sunucu adının üstündeki Başlat düğmesini seçerek sunucuyu başlatın.

  3. Sunucuya bağlandığınızda, sunucu adının üzerinde kullanılabilen araç sayısını görürsünüz.

  4. Aracı modunda Visual Studio Code Copilot sohbeti açın ve bir soru sorun. Örneğin, "#your-local-server-name ile selamla". Bu soru Copilot'un soruyu yanıtlamaya yardımcı olması için sunucuyu kullanmasını sağlar.

  5. Copilot yerel MCP sunucusundan bir araç çalıştırmayı istediğinde İzin Ver'i seçin.

  6. Durdur'u seçerek testi bitirdiğinizde sunucunun bağlantısını kesin ve Cntrl+C yerel olarak çalıştırmayı durdurun.

Tip

Copilot sohbet penceresinde, sohbet için kullanılabilen sunucuların ve araçların listesini görmek için alttaki araç simgesini seçin. Test sırasında yerel MCP sunucusunun denetlendiğinden emin olun.

Uzak MCP sunucusu yetkilendirmesi

Uzak MCP sunucu uç noktalarınızın yetkisiz kullanımını azaltmanın veya önlemenin iki yolu vardır:

Yöntem Description
Yerleşik sunucu kimlik doğrulaması (önizleme) İşlevler, MCP yetkilendirme belirtimi protokolünün OAuth gereksinimlerini uygulayan yerleşik App Service kimlik doğrulamasını ve yetkilendirmesini içerir. Sunucuya erişmeye çalışan istemciler, bağlanmaya izin verilmeden önce kimlik doğrulaması için Microsoft Entra Id gibi yapılandırılmış bir kimlik sağlayıcısına yönlendirilir. Bu yöntem, araç uç noktalarınız için en yüksek güvenlik düzeyini sağlar.
Anahtar tabanlı kimlik doğrulaması Varsayılan olarak İşlevler, MCP sunucu araçlarını kullanmaya çalışan istemcilerin istek üst bilgisinde paylaşılan bir gizli anahtar değeri sunması için bir erişim anahtarı gereksinimi uygular. OAuth tabanlı kimlik doğrulamasıyla aynı güvenlik düzeyini sağlamasa da, erişim anahtarları ortak araçlara erişmeyi zorlaştırır. OAuth tabanlı kimlik doğrulaması kullanırken sunucunuzdaki erişim anahtarlarını devre dışı bırakmak için erişim Anonymous düzeyini kullanın.

Uyarı

Bu öğretici, diğer makalelerde App Service Kimlik Doğrulaması olarak da adlandırılan yerleşik sunucu yetkilendirme ve kimlik doğrulama özelliği için ayrıntılı yapılandırma yönergeleri içerir. Özelliğe genel bir bakış ve bazı kullanım kılavuzlarını Yerleşik sunucu yetkilendirmesini yapılandırma (önizleme) makalesinde bulabilirsiniz.

Anahtar tabanlı kimlik doğrulamayı devre dışı bırakma

Yerleşik sunucu yetkilendirme özelliği, Azure İşlevleri'nden ayrı bir bileşendir. Sunucu kimlik doğrulaması kullanırken, önce anonim erişime izin vererek anahtar tabanlı kimlik doğrulamasını devre dışı bırakmak en iyisidir.

MCP sunucunuzda konak tabanlı kimlik doğrulamasını devre dışı bırakmak için host.json dosyasında system.webhookAuthorizationLevel öğesini Anonymous olarak ayarlayın.

{
  "version": "2.0",
  "extensions": {
    "mcp": {
      ...
      "system": {
        "webhookAuthorizationLevel": "Anonymous"
      }
    }    
  }
}

Azure'da işlev uygulamasını oluşturma

Azure'daki Flex Consumption planında MCP sunucunuzu barındıran bir işlev uygulaması oluşturun.

  1. Azure portalında, menüden veya Giriş sayfasında Kaynak oluştur'u seçin.

  2. Başlarken'i ve ardından İşlev Uygulaması'nın altında Oluştur'useçin.

  3. Barındırma seçeneği belirleyin'in altında Esnek Tüketim

  4. Temel Bilgiler sayfasında, aşağıdaki tabloda belirtilen işlev uygulaması ayarlarını kullanın:

    Setting Önerilen değer Description
    Subscription Aboneliğiniz Yeni işlev uygulamanızı oluşturduğunuz abonelik.
    Kaynak Grubu myResourceGroup İşlev uygulamanızı oluşturduğunuz yeni kaynak grubunun adı.
    İşlev Uygulamasının adı Genel olarak benzersiz bir ad Yeni işlev uygulamanızı tanımlayan ad. Geçerli karakterler şunlardır: a-z (büyük/küçük harf duyarsız), 0-9 ve -.
    Region Tercih edilen bölge Size yakın veya işlevlerinizin erişebileceği diğer hizmetlere yakın bir bölge seçin. Desteklenmeyen bölgeler görüntülenmez. Daha fazla bilgi için bkz . Şu anda desteklenen bölgeleri görüntüleme.
    Çalışma zamanı yığını Tercih edilen dil Desteklenen dil çalışma zamanı yığınlarından birini seçin. Web için Visual Studio Code kullanılarak portal içi düzenleme şu anda yalnızca Node.js, PowerShell ve Python uygulamalarında kullanılabilir. C# sınıf kitaplığı ve Java işlevleri yerel olarak geliştirilmelidir.
    Sürüm Dil sürümü Dil çalışma zamanı yığınınızın desteklenen bir sürümünü seçin.
    Örnek boyutu Varsayılan Uygulamanızın her örneği için ayrılan örnek belleği miktarını belirler. Daha fazla bilgi için Örnek boyutlarını inceleyin.
  5. Depolama sayfasında, yeni bir varsayılan konak depolama hesabı oluşturmanın varsayılan davranışını kabul edin veya mevcut bir depolama hesabını kullanmayı seçin.

  1. İzleme sayfasında Application Insights'ı Etkinleştir'in seçili olduğundan emin olun. Yeni bir Application Insights örneği oluşturmak için varsayılanı kabul edin veya var olan bir örneği kullanmayı seçin. Application Insights örneği oluşturduğunuzda bir Log Analytics Çalışma Alanı seçmeniz de istenir.

  2. Kimlik Doğrulaması sayfasında, tüm kaynaklar için Kimlik doğrulama türünüYönetilen kimlik olarak değiştirin. Bu seçenekle, uygulamanızın Microsoft Entra Id kimlik doğrulamasını kullanarak bu Azure kaynaklarına erişmek için kullandığı kullanıcı tarafından atanan yönetilen kimlik de oluşturulur. Microsoft Entra Id ile yönetilen kimlikler, Azure kaynaklarına bağlanmak için en yüksek güvenlik düzeyini sağlar.

  3. Kalan sekmelerdeki varsayılan seçenekleri kabul edin ve ardından gözden geçir + oluştur'u seçerek seçtiğiniz uygulama yapılandırmasını gözden geçirin.

  4. Memnun olduğunuzda oluştur'u seçerek işlev uygulamasını ve ilgili kaynakları sağlayın ve dağıtın.

  5. Portalın sağ üst köşesindeki Bildirimler simgesini seçin ve Dağıtım başarılı iletisini izleyin.

  6. Yeni işlev uygulamanızı görüntülemek için Kaynağa git’i seçin. Panoya sabitle'yi de seçebilirsiniz. Sabitleme, gösterge tablonuzdan bu işlev uygulaması kaynak bilgisine geri dönmeyi daha kolay hale getirir.

    Dağıtım bildiriminin ekran görüntüsü.

MCP sunucu projesini dağıtma

Önemli

Mevcut bir işlev uygulamasına dağıtılması her zaman Azure'da bu uygulamanın içeriğinin üzerine yazılır.

  1. Komut paletine girin ve Azure İşlevleri: İşlev Uygulamasına Dağıt'ı seçin.

  2. Yeni oluşturduğunuz işlev uygulamasını seçin. Önceki dağıtımların üzerine yazmanız istendiğinde, işlev kodunuzu yeni işlev uygulaması kaynağına dağıtmak için Dağıt'ı seçin.

  3. Dağıtım tamamlandığında, oluşturduğunuz Azure kaynakları da dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için Çıkışı Görüntüle'yi seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.

    Çıktıyı Görüntüle penceresinin ekran görüntüsü.

  1. Python uygulamaları bu uygulama ayarını eklemenizi de gerektirir:

    PYTHONPATH=/home/site/wwwroot/.python_packages/lib/site-packages.

Şimdi sunucu projesini dağıtabilirsiniz:

Önemli

Mevcut bir işlev uygulamasına dağıtılması her zaman Azure'da bu uygulamanın içeriğinin üzerine yazılır.

  1. Komut paletine girin ve Azure İşlevleri: İşlev Uygulamasına Dağıt'ı seçin.

  2. Yeni oluşturduğunuz işlev uygulamasını seçin. Önceki dağıtımların üzerine yazmanız istendiğinde, işlev kodunuzu yeni işlev uygulaması kaynağına dağıtmak için Dağıt'ı seçin.

  3. Dağıtım tamamlandığında, oluşturduğunuz Azure kaynakları da dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için Çıkışı Görüntüle'yi seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.

    Çıktıyı Görüntüle penceresinin ekran görüntüsü.


Dağıtım tamamlandığında, Visual Studio Code'da sunucuya bağlanma hakkında bir bildirim görmeniz gerekir. Düzenleyicinin içinde sunucu bağlantı bilgilerini ayarlamasını sağlamak için mcp.json düğmesini seçin.

Yerleşik sunucu yetkilendirmesini ve kimlik doğrulamasını etkinleştirme

Aşağıdaki yönerge, sunucu uygulamasında yerleşik yetkilendirme ve kimlik doğrulama özelliğinin nasıl etkinleştirileceği gösterilir ve Microsoft Entra Id'yi kimlik sağlayıcısı olarak yapılandırılır. İşiniz bittiğinde, Visual Studio Code'da sunucuya bağlanarak test yapar ve bağlanmadan önce kimlik doğrulaması yapmanız istendiğini görürsünüz.

Sunucu uygulamasında kimlik doğrulamayı yapılandırma

  1. Azure portalında sunucu uygulamasını açın ve soldaki menüden Ayarlar>Kimlik Doğrulaması'nı seçin.

  2. Kimlik sağlayıcısı olarak>Microsoft'u ekle'yi seçin.

  3. Uygulamanız ve kullanıcıları için bir kiracı seçin alanındaİş gücü yapılandırması (geçerli kiracı) seçeneğini belirleyin.

  4. Uygulama kaydı: altında şu ayarları kullanın:

    Setting Seleksiyon
    Uygulama kayıt türü Yeni uygulama kaydı oluşturma
    İsim Uygulamanız için açıklayıcı bir ad girin
    İstemci gizli anahtar süresi dolma Önerilen: 180 gün
    Desteklenen hesap türleri Geçerli kiracı - Tek kiracı
  5. Ek denetimler: altında, İstemci uygulaması gereksinimi için Belirli istemci uygulamalarından gelen isteklere izin ver'i seçin, kalem simgesini seçin, Visual Studio Code istemci kimliğini aebc6443-996d-45c2-90f0-388ff96faa56ekleyin ve Tamam'ı seçin. Diğer bölümleri olduğu gibi bırakın.

  6. App Service kimlik doğrulama ayarları altında şu ayarları kullanın:

    Setting Seleksiyon
    Erişimi kısıtla Kimlik doğrulaması gerektir
    Kimliği doğrulanmamış istekler HTTP 401 Yetkisiz: API'ler için önerilir
    Belirteç deposu Belirteç yenilemesine izin veren kutuyu işaretleyin
  7. Add (Ekle) seçeneğini belirleyin. Ayarlar yayıldıktan sonra aşağıdaki sonucu görmeniz gerekir:

    Kimliği doğrulanmamış istekler için 'Kimlik doğrulaması gerektir' seçili ve 'HTTP 401 Yetkisiz' ayarlarını gösteren App Service kimlik doğrulama ayarlarının ekran görüntüsü.

Visual Studio Code'u istemci olarak önceden yetkilendirme

  1. Microsoft'un yanındaki Entra uygulamasının adını seçin. Bu eylem sizi Entra uygulama kaynağına Genel Bakış'a götürür.

  2. Soldaki menüde Yönet -> API'yi kullanıma sunma'yı bulun.

  3. Yetkili istemci uygulamaları'nın altında +İstemci uygulaması ekle'yi seçin.

  4. Visual Studio Code'un istemci kimliğini girin: aebc6443-996d-45c2-90f0-388ff96faa56.

  5. Kapsamın önünde api://abcd123-efg456-hijk-7890123/user_impersonation gibi görünen kutuyu seçin.

  6. Uygulama ekle'yi seçin.

Korumalı kaynak meta verilerini yapılandırma (önizleme)

  1. Aynı API'yi kullanıma sunma görünümünde Kapsamlar bölümünü bulun ve yöneticilerin ve kullanıcıların Entra uygulamasını onaylamasına izin veren kapsamı kopyalayın. Bu değer şuna benzer: api://abcd123-efg456-hijk-7890123/user_impersonation.

  2. ayarını WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESeklemek için öncekiyle aynı komutu çalıştırın:

    az functionapp config appsettings set --name <function-app-name> --resource-group <resource-group-name> --settings "WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES=<scope>"
    
  3. Ayrıca API'yi kullanıma sunma görünümünde, en üstte Uygulama Kimliği URI'sini (gibi api://abcd123-efg456-hijk-7890123görünür) bulun ve sonraki adım için kaydedin.

Sunucuya bağlanma

mcp.json dizininde .vscode açın.

Dağıtımdan sonra açılan pencerede Bağlan'ı seçtiğinizde, Visual Studio Code dosyayı sunucu bağlantı bilgileriyle doldurur.

Bu adımı kaçırırsanız, dağıtım günlüklerinin sonunda satır içi bağlantı düğmesini bulmak için Çıkış 'ı (Ctrl/Cmd+Shift+U) da açabilirsiniz.

Ayrıca bağlantı bilgilerini el ile de ekleyebilirsiniz:

  1. Aşağıdaki komutu çalıştırarak sunucu etki alanını alın:

    az functionapp show --name <FUNCTION_APP_NAME> --resource-group <RESOURCE_GROUP_NAME> --query "defaultHostName" --output tsv
    
  2. Visual Studio Code'da komut paletini açın, MCP: Sunucu Ekle... komutunu arayıp çalıştırın ve ardından şu istemleri izleyin:

    Uyarı Öneri
    Eklenecek sunucu türü HTTP
    MCP sunucunuzun URL'si https://<FUNCTION_APP_NAME>.azurewebsites.azurewebsites.net/runtime/webhooks/mcp
    Sunucu adı remote-mcp-server
    Sunucunun yükleneceği yer Workspace
  3. Visual Studio Code sizin için ayar dosyasını açar mcp.json .

Kimlik doğrulamasını nasıl yapılandırdığınıza bağlı olarak sunucuya bağlanmak için sonraki bölümdeki yönergeleri izleyin.

Yerleşik kimlik doğrulaması ve yetkilendirme ile

  1. Sunucu adının üstündeki Başlat düğmesini seçerek uzak sunucuyu başlatın.

  2. Microsoft ile kimlik doğrulaması sorulduğunda İzin Ver'i seçin, ardından e-postanızla (Azure portalında oturum açmak için kullanılan) oturum açın.

  3. Sunucuya başarıyla bağlandığınızda, sunucu adının üzerinde kullanılabilir araç sayısını görürsünüz.

  4. Aracı modunda Visual Studio Code Copilot sohbeti açın ve bir soru sorun. Örneğin, Greet with #your-remote-mcp-server-name.

  5. Testi bitirdiğinizde sunucuyu durdurun.

Visual Studio Code uzak MCP sunucusuna bağlanmaya çalıştığında ne olduğunu ayrıntılı olarak anlamak için bkz. Sunucu yetkilendirme protokolü.

Erişim anahtarı ile

Yerleşik kimlik doğrulama ve yetkilendirmeyi etkinleştirmediyseniz ve bunun yerine bir erişim anahtarı kullanarak MCP sunucunuza bağlanmak istiyorsanız, mcp.json sunucu kaydının istek üst bilgilerinde İşlevler erişim anahtarı bulunmalıdır.

Sunucuyu başlattığınızda Visual Studio erişim anahtarını otomatik olarak doldurur.

Dosya mcp.json aşağıdaki örnekteki gibi görünmelidir:

{
	"servers": {
		"remote-mcp-server": {
			"type": "http",
			"url": "https://${input:functionapp-domain}/runtime/webhooks/mcp",
			"headers": {
				"x-functions-key": "${input:functions-key}"
			}
		}
	},
	"inputs": [
		{
			"type": "promptString",
			"id": "functions-key",
			"description": "Functions App Key",
			"password": true
		},
		{
			"type": "promptString",
			"id": "functionapp-domain",
			"description": "The domain of the function app.",
			"password": false
		}
	]
}

Erişim anahtarını kendiniz bulmak istiyorsanız Azure portalında İşlev uygulamasına gidin. Soldaki menüde İşlevler -> Uygulama anahtarları'nı bulun. Sistem anahtarları bölümünde mcp_extension adlı bir anahtar bulun.

Tip

Bağlantı günlüklerini görmek için sunucu adına gidin ve Ardından Diğer>Çıkışı Göster'i seçin. İstemci (Visual Studio Code) ile uzak MCP sunucusu arasındaki etkileşim hakkında daha fazla bilgi için dişli simgesini seçin ve İzleme'yi tercih edin.

MCP sunucu ayarlarının ekran görüntüsünde _Trace_ günlük düzeyi seçili halde gösterilmiştir.

Azure AI Foundry aracısını araçlarınızı kullanacak şekilde yapılandırma

Azure AI Foundry'de aracıyı, Azure İşlevleri üzerinde barındırılan MCP sunucuları tarafından kullanıma sunulan araçları kullanacak şekilde yapılandırabilirsiniz.

  1. Foundry portalında, İşlevler'de barındırılan MCP sunucularıyla yapılandırmak istediğiniz aracıyı bulun.

  2. Araçlar'ın altında Ekle düğmesini ve ardından + Yeni araç ekle'yi seçin.

  3. Özel sekmesini ve ardından Model Bağlam Protokolü (MCP) ve Oluştur düğmesini seçin.

  4. Aşağıdaki bilgileri girin:

    • Ad: Sunucunun adı
    • Uzak MCP Sunucusu uç noktası:
      • MCP uzantı sunucusu: https://<server domain>/runtime/webhooks/mcp
      • Kendi kendine barındırılan sunucu: https://<server domain>/mcp
    • Kimlik doğrulaması: "Microsoft Entra" seçeneğini belirleyin
    • Tür: "Proje Yönetilen Kimliği"ni seçin
    • Hedef Kitle: Bu, Korumalı kaynak meta verilerini yapılandırma bölümünden Entra Uygulama Kimliği URI'sidir

    Örneğin:

    MCP sunucusuna bağlanmak için Döküm aracı yapılandırmasını gösteren diyagram.

  5. Bağlan seçeneğini seçin.

  6. Sohbet penceresinde bir sunucu aracının yardımıyla yanıtlanabilir bir soru sorarak test edin.

Sunucu yetkilendirme protokolü

Visual Studio Code'un hata ayıklama çıkışında, MCP istemcisi ve sunucusu etkileşim kurarken bir dizi istek ve yanıt görürsünüz. Yerleşik MCP sunucu yetkilendirmesini kullandığınızda aşağıdaki olay dizisini görürsünüz:

  1. Düzenleyici, MCP sunucusuna bir başlatma isteği gönderir.
  2. MCP sunucusu yetkilendirme gerektiğini belirten bir hatayla yanıt verir. Yanıt, uygulama için korumalı kaynak meta verilerine (PRM) yönelik bir işaretçi içerir. Yerleşik yetkilendirme özelliği, sunucu uygulaması için PRM'yi oluşturur.
  3. Düzenleyici PRM'yi getirir ve yetkilendirme sunucusunu tanımlamak için kullanır.
  4. Düzenleyici, yetkilendirme sunucusundaki iyi bilinen bir uç noktadan yetkilendirme sunucusu meta verilerini (ASM) almayı dener.
  5. Microsoft Entra ID iyi bilinen uç noktada ASM'yi desteklemediğinden düzenleyici, ASM'yi almak için OpenID Connect meta veri uç noktasını kullanmaya geri döner. Diğer yol bilgilerden önce iyi bilinen uç noktayı ekleyerek bunu keşfetmeye çalışır.
  6. OpenID Connect belirtimleri aslında iyi bilinen uç noktayı yol bilgileri sonrasında olarak tanımlar ve Microsoft Entra ID onu burada barındırmaktadır. Böylece düzenleyici bu biçimle yeniden dener.
  7. Düzenleyici ASM'yi başarıyla alır. Daha sonra oturum açmak için bu bilgileri kendi istemci kimliğiyle kullanır. Bu noktada düzenleyici sizden oturum açmanızı ve uygulamayı onaylamanızı ister.
  8. Başarıyla oturum açıp onay verdiğinizi varsayarsak düzenleyici kimlik doğrulamasını tamamlar. Bu sefer başlatma isteğini MCP sunucusuna yetkilendirme belirteci içeren bir şekilde yeniden gönderir. Bu yeniden deneme hata ayıklama çıkış düzeyinde görünmez, ancak bunu İzleme çıktısı düzeyinde görebilirsiniz.
  9. MCP sunucusu belirteci doğrular ve başlatma isteğine başarılı bir yanıt verir. Standart MCP akışı bu noktadan devam eder ve sonuçta bu örnekte tanımlanan MCP aracının bulunmasıyla sonuçlanır.

Sorun giderme

Sorunla karşılaşırsanız GitHub Copilot'dan yardım isteyin. Sorun gidermeye yönelik bazı belirli fikirler şunlardır:

Şu anda başka fikir yok. Copilot sohbetine oluşan hataları sormayı unutmayın.

Sonraki Adımlar

Azure İşlevleri tarafından barındırılan MCP sunucularını Azure API Center'a kaydetmeyi öğrenin.