Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure İşlevleri'da uzak Model Bağlam Protokolü (MCP) sunucularını nasıl barındırabileceğiniz 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 uzak bir MCP sunucusunu barındırmanın iki yolu vardır:
| MCP sunucusu seçeneği | Description | En uygun... |
|---|---|---|
| MCP uzantı sunucusu | Uzantı tetikleyicisinin araç uç noktalarınızı tanımlamanıza olanak tanıyan özel MCP sunucuları oluşturmak için Azure İşlevleri MCP uzantısını kullanır. Bu sunucular, desteklenen bir dilde diğer herhangi bir fonksiyon uygulaması gibi 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 resmi MCP SDK'larını kullanarak zaten kurduysanız ve Azure'da olay odaklı, sunucusuz ve ölçeklenebilir bir barındırma arıyorsanız. |
Uyarı
Azure İşlevleri'ın, resmi MCP SDK'larını kullanarak oluşturduğunuz MCP sunucularını barındırma yeteneğ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ı yapacaksı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'de 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 destekler. 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
şu uzantılarla Visual Studio Code:
Azure İşlevleri uzantısı. Bu uzantı Azure İşlevleri Core Tools gerektirir ve kullanılabilir olmadığında yüklemeyi dener.
Azure CLI. Azure CLI komutlarını Azure Cloud Shell içinde de çalıştırabilirsiniz.
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
MCP sunucu projenizi oluşturma
Tercih ettiğiniz dilde yerel olarak bir MCP sunucu projesi oluşturmak için Visual Studio Code kullanın.
Visual Studio Code F1 tuşlarına basarak komut paletini açın.
Azure İşlevleri: Create New Project...komutunu arayın ve çalıştırın.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.
Aşağıdaki bilgileri istenen yerde sağlayın.
Uyarı Seleksiyon Proje türü seçme C#'ı seçin..NET çalışma zamanı seçin .NET 8.0 LTS'ı seçin.Projenizin ilk işlevi için bir şablon seçin MCP Tool trigger'ı seçin.İşlev adı belirtin McpTriggeryazın.Ad alanı belirle My.Functionsyazı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 Open in current window'ı seçin.
Aşağıdaki bilgileri istenen yerde sağlayın.
Uyarı Seleksiyon Proje türü seçme TypeScript'ı seçin.Projenizin ilk işlevi için bir şablon seçin MCP Tool trigger'ı seçin.İşlev adı belirtin mcpToolTriggeryazı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 Open in current window'ı seçin.
Aşağıdaki bilgileri istenen yerde sağlayın.
Uyarı Seleksiyon Proje türü seçme Python'ı seçin.Bir sanal ortam oluşturmak için Python yorumlayıcı seçin 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 MCP Tool trigger'ı seçin.Oluşturmak istediğiniz işlevin adı mcp_triggergirin.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 Open in current window'ı seçin.
Visual Studio Code bu bilgileri kullanarak 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:
local.setting.jsoniçinde, sahip
"AzureWebJobsStorage": "UseDevelopmentStorage=true"olduğunuzdan emin olun.Visual Studio Code F1 tuşlarına basarak komut paletini açın. Komut paletinde arama yapın ve
Azurite: Startöğesini seçin.Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.
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:
local.setting.jsoniçinde, sahip
"AzureWebJobsStorage": "UseDevelopmentStorage=true"olduğunuzdan emin olun.Visual Studio Code F1 tuşlarına basarak komut paletini açın. Komut paletinde arama yapın ve
Azurite: Startöğesini seçin.Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.
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:
local.setting.jsoniçinde, sahip
"AzureWebJobsStorage": "UseDevelopmentStorage=true"olduğunuzdan emin olun.Visual Studio Code F1 tuşlarına basarak komut paletini açın. Komut paletinde arama yapın ve
Azurite: Startöğesini seçin.Alt çubuğu denetleyin ve Azurite öykünme hizmetlerinin çalıştığını doğrulayın. Öyleyse, artık sunucuyu yerel olarak çalıştırabilirsiniz.
Yerel olarak çalışmaya başlamak için F5 tuşuna basın.
Sunucuyu test edin
.vscode/mcp.json'ı açın. Düzenleyici sunucunun bağlantı bilgilerini eklemelidir.Sunucu adının üstündeki Başlat düğmesini seçerek sunucuyu başlatın.
Sunucuya bağlandığınızda, sunucu adının üzerinde kullanılabilen araç sayısını görürsünüz.
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ıtlamak için sunucudan yararlanmasını garanti eder.
Copilot, yerel MCP sunucusundan bir aracı çalıştırmayı istediğinde, Allow seçeneğini seçin.
Testi tamamladığınızda, Stop seçeneğini belirleyerek sunucuyla bağlantıyı kesin ve yerel olarak çalıştırmayı durdurmak için
Ctrl+Cdüğmesine basın.
Tip
sohbet Copilot penceresinde, sohbet için kullanılabilir 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.
Azure'de işlev uygulamasını oluşturma
MCP sunucunuzu barındıran Azure Flex Tüketim planında bir işlev uygulaması oluşturun.
Azure portalında menüden veya Home sayfasından Kaynak oluştur öğesini seçin.
Başlarken'i seçin ve ardından İşlev Uygulaması altında Oluştur'u seçin.
Barındırma seçeneği belirleyin'in altında Esnek Tüketim seçeneğini Seç.
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-9ve-.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 developed locally olmalıdır. 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. 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.
İ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, Log Analytics Workspace seçmeniz de istenir.
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ı 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.
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.
Memnun olduğunuzda oluştur'u seçerek işlev uygulamasını ve ilgili kaynakları sağlayın ve dağıtın.
Portalın sağ üst köşesindeki Bildirimler simgesini seçin ve Dağıtım başarılı iletisini izleyin.
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.
MCP sunucu projesini dağıtma
Sunucu projesini dağıtma:
Önemli
Mevcut bir işlev uygulamasına dağıtım yapıldığında Azure'da bu uygulamanın içeriğinin her zaman üzerine yazılacağını unutmayın.
Komut paletine Azure İşlevleri: İşlev Uygulamasına Dağıt yazın ve seçin.
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.
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 View Output öğesini seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.
Önemli
Mevcut bir işlev uygulamasına dağıtım yapıldığında Azure'da bu uygulamanın içeriğinin her zaman üzerine yazılacağını unutmayın.
Komut paletine Azure İşlevleri: İşlev Uygulamasına Dağıt yazın ve seçin.
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.
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 View Output öğesini seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.
Dağıtım tamamlandığında, Visual Studio Code 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.
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.
Azure portalında yerleşik MCP kimlik doğrulamasını etkinleştirme
Azure portalı, MCP sunucunuz için yerleşik kimlik doğrulaması ve yetkilendirmeyi yapılandırmak için tek tıklamayla bir deneyim sağlar. Bu preview özelliği, Microsoft Entra ID’yi kimlik sağlayıcısı olarak otomatik olarak oluşturur ve yapılandırır, gerekli istemci uygulamalarını kaydeder ve sizin için gerekli uygulama ayarlarını ekler. Bu özelliği kullanarak yerleşik MCP kimlik doğrulamasını açmak, sunucuya varsayılan anahtar tabanlı erişimi otomatik olarak kapatır.
Azure portalında yerleşik MCP kimlik doğrulamasını etkinleştirmek için:
Portalda sunucu uygulamanızı açın.
Soldaki menüde yapay zeka (önizleme) sekmesini bulun.
Kimlik Doğrulaması bölümünü bulun ve MCP kimlik doğrulamasını aç düğmesine tıklayın.
Açılan yan bölmeye benzersiz bir Entra uygulaması kayıt adı girin. Kimlik doğrulamasını ayarlamak için bu uygulama gereklidir.
Kaydet'e tıklayın ve yapılandırmanın tamamlanmasını bekleyin.
Uyarı
Kimlik doğrulamasını el ile ayarlamayı tercih ediyorsanız, bkz . Alternatif: Yerleşik kimlik doğrulamasını el ile yapılandırma.
Sunucuya bağlanma
Dağıtımdan sonra açılan pencerede Connect öğesini seçtiğinizde Visual Studio Code .vscode/mcp.json 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:
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 tsvVisual Studio Code'da komut paletini açın, MCP: Sunucu Ekle... komutuna gidin ve şu istemleri izleyin:
Uyarı Öneri Eklenecek sunucu türü HTTP MCP sunucunuzun URL'si https://<FUNCTION_APP_NAME>.azurewebsites.net/runtime/webhooks/mcpSunucu adı remote-mcp-server Sunucunun yükleneceği yer Workspace Visual Studio Code sizin için
mcp.jsonayar dosyasını açar.
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 MCP kimlik doğrulaması ile
Sunucu adının üstündeki Başlat düğmesini seçerek uzak sunucuyu başlatın.
Microsoft ile kimlik doğrulaması sorulduğunda Allow öğesini seçin, ardından e-postanızla (Azure portalında oturum açmak için kullanılan) oturum açın.
Sunucuya başarıyla bağlandığınızda, sunucu adının üzerinde kullanılabilir araç sayısını görürsünüz.
Aracı modunda Visual Studio Code Copilot sohbeti açın ve bir soru sorun. Örneğin,
Greet with #your-remote-mcp-server-name.Testi bitirdiğinizde sunucuyu durdurun.
Visual Studio Code uzak MCP sunucusuna bağlanmaya çalıştığında ne olacağını ayrıntılı olarak anlamak için bkz. Server yetkilendirme protokolü.
Erişim anahtarı ile
Yerleşik MCP kimlik doğrulamasını etkinleştirmezseniz, sunucunuz varsayılan olarak İşlevler erişim anahtarını kullanıyor olmalıdır. Erişim anahtarını sunucu kaydınızın istek üst bilgisine ekleyin.
Dosya ./vscode/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ı bulmak için 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 Trace öğesini seçin.
Microsoft Foundry aracısını araçlarınızı kullanacak şekilde yapılandırma
Bir Foundry aracısını yalnızca VS Code'da Copilot değil sunucunuzdaki araçları kullanacak şekilde yapılandırabilirsiniz. Adım adım yönergeler için bkz. Azure İşlevleri MCP sunucularını Microsoft Foundry'da araç olarak kullanma.
sunucuyu Azure API Center'a kaydetme
Kuruluşunuz genelinde kolayca bulunabilen uzak MCP sunucularının özel envanterini korumak için MCP sunucunuzu Azure API Center'a kaydetmeyi göz önünde bulundurun. Adım adım yönergeler için bkz. Azure API Center Azure İşlevleri'da barındırılan
Alternatif: Yerleşik kimlik doğrulamayı el ile yapılandırma
Aşağıdaki yönergeler, sunucu uygulamasında yerleşik yetkilendirme ve kimlik doğrulama özelliğini el ile etkinleştirmeyi ve kimlik sağlayıcısı olarak Microsoft Entra ID yapılandırmayı gösterir. Tek tıklamayla portal deneyimini kullanmak istemiyorsanız bu adımları kullanın.
Anahtar tabanlı kimlik doğrulamasını devre dışı bırakma
Yerleşik kimlik doğrulamasını etkinleştirirken, anonim erişime izin vererek önce varsayılan anahtar tabanlı kimlik doğrulamasını devre dışı bırakın. Bunu yapmadıysanız ve uygulamanız zaten dağıtılmışsa aşağıdaki yönergeleri izleyin.
MCP sunucunuzda konak tabanlı kimlik doğrulamasını devre dışı bırakmak için uygulama ayarlarınıza değerine AzureFunctionsJobHost__extensions__mcp__system__webhookAuthorizationLevel sahip adlı Anonymous bir ayar ekleyin. Bu ayarı portala ekleyebilir veya aşağıdaki Azure CLI komutunu kullanabilirsiniz:
az functionapp config appsettings set --name <APP_NAME> --resource-group <RESOURCE_GROUP> \
--settings "AzureFunctionsJobHost__extensions__mcp__system__webhookAuthorizationLevel=Anonymous"
Bu örnekte, <APP_NAME> ve <RESOURCE_GROUP> öğelerini işlev uygulamanızın ve kaynak grubunuzun adıyla değiştirin.
Tip
Bu ayar, system.webhookAuthorizationLevel dosyasının MCP Uzantısı bölümünde Anonymoushost.json ayarıyla eşdeğerdir. Ancak, bu yöntem sunucu projenizi yeniden yayımlamanızı gerektirir.
Sunucu uygulamasında kimlik doğrulamayı yapılandırma
Azure portalında sunucu uygulamasını açın ve sol menüden Settings>Authentication seçin.
Kimlik sağlayıcısı olarak>Microsoft'u ekle'yi seçin.
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.
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ı Ek denetimler: altında, Client uygulama gereksinimi için Belirli istemci uygulamalarından gelen istekleri izin ver öğesini 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.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 Add (Ekle) seçeneğini belirleyin. Ayarlar yayıldıktan sonra aşağıdaki sonucu görmeniz gerekir:
Visual Studio Code'u istemci olarak önceden yetkilendir
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.
Soldaki menüde Yönet -> API'yi kullanıma sunma'yı bulun.
Yetkili istemci uygulamaları'nın altında +İstemci uygulaması ekle'yi seçin.
Visual Studio Code istemci kimliğini girin:
aebc6443-996d-45c2-90f0-388ff96faa56.Kapsamın önünde
api://abcd123-efg456-hijk-7890123/user_impersonationgibi görünen kutuyu seçin.Uygulama ekle'yi seçin.
Korumalı kaynak meta verilerini yapılandırma (önizleme)
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.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>"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.
Sunucu yetkilendirme protokolü
Visual Studio Code 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:
- Düzenleyici, MCP sunucusuna bir başlatma isteği gönderir.
- 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.
- Düzenleyici PRM'yi getirir ve yetkilendirme sunucusunu tanımlamak için kullanır.
- Düzenleyici, yetkilendirme sunucusundaki iyi bilinen bir uç noktadan yetkilendirme sunucusu meta verilerini (ASM) almayı dener.
- 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.
- OpenID Connect belirtimleri aslında iyi bilinen uç noktayı yol bilgisinin ardından tanımlar ve Microsoft Entra ID de bunu burada barındırır. Böylece düzenleyici bu biçimle yeniden dener.
- 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.
- 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.
- 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
Oluşan hatalar hakkında Copilot sohbetine sorun.
Sonraki Adımlar
Azure API Center üzerinde Azure İşlevleri barındırılan MCP sunucularını