Azure MCP Server kavramları

Bu makalede birden çok Azure hizmetiyle çalışma, hataları işleme, performansı iyileştirme ve gerçek dünya senaryoları için ortak desenleri uygulama gibi Azure MCP Sunucusu'nu etkili bir şekilde kullanmaya yönelik temel kavramlar açıklanmaktadır.

Çok hizmetli iş akışları

Azure MCP Sunucusu, tek bir konuşmada veya iş akışında birden çok Azure hizmeti genelinde işlemleri düzenleyebilir. Bu özellik, bağlamları değiştirmeden Azure Depolama, Azure Cosmos DB ve Azure Key Vault gibi hizmetler arasında işlemleri zincirlemenizi sağlar.

Çok hizmetli işlemler için sunucu modları

Azure MCP Sunucusu, araçların kullanıma sunulma şeklini ve birden çok hizmetle nasıl etkileşim kurabileceğinizi etkileyen farklı modları destekler:

Ad alanı modu (varsayılan)

Ad alanı modu, araçları Azure hizmetine göre gruplandırarak hizmet ad alanı başına bir araç gösterir. Bu mod, çok hizmetli iş akışları için dengeli bir yaklaşım sağlar.

{
  "mcpServers": {
    "Azure MCP Server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"]
    }
  }
}

Ad alanı moduyla, şu gibi isteklerde bulunabilirsiniz:

  • "Depolama hesaplarımı listele ve ardından ilk hesaptaki kapsayıcıları göster"
  • Anahtar kasamdan gizli bilgileri alın ve bunları kullanarak Cosmos DB veritabanıma bağlanın.

Birleştirilmiş mod, ilgili işlemleri yapay zeka aracıları için iyileştirilmiş seçilmiş araçlar halinde gruplandırır. Bu mod, işlevsellik ve kullanılabilirlik arasında en iyi dengeyi sağlar.

{
  "mcpServers": {
    "Azure MCP Server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "consolidated"]
    }
  }
}

Birleştirilmiş araçlar kullanıcı amaçlarından (örneğin get_azure_databases_details, ) sonra adlandırılır ve bu da doğal dil etkileşimleri için daha sezgisel hale getirir.

Kullanılabilir sunucu modlarının ve yapılandırmalarının tam listesi için sorun giderme kılavuzuna bakın.

Tüm modlar

Mod, all 200'den fazla ayrı aracı ayrı ayrı kullanıma sunar. Bu mod, ayrıntılı denetime ihtiyacınız olduğunda kullanışlıdır ancak bazı istemcilerde araç sınırlarını aşabilir.

{
  "mcpServers": {
    "Azure MCP Server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "all"]
    }
  }
}

Hizmetler arasında zincirleme operasyonlar

Tek bir konuşmada birden çok Azure hizmeti arasında işlem zinciri oluşturabilirsiniz. Örneğin şunları yapabilirsiniz:

  1. Veritabanı kimlik bilgileri için Azure Key Vault'a sorgulama
  2. Azure Cosmos DB'ye bağlanmak için bu kimlik bilgilerini kullanın
  3. Cosmos DB'den veri sorgulama
  4. Sonuçları Azure Depolama'da sakla

Hizmetler arasında zincirleme işlemlerinin şunları içerdiğini gösteren örnek istemler:

  • "'my-vault' anahtar kasasından veritabanı bağlantı dizesini alın, veritabanına bağlanın ve koleksiyonları listeleyin"
  • "Aboneliğimdeki tüm depolama hesaplarını listele, sonra her hesap için bana kapsayıcıları göster"
  • Yeni bir depolama kapsayıcısı oluşturun ve benim anahtar kasası sırrımın içeriğini bir blob'a yükleyin.

Araçları hizmete göre filtreleme

Seçeneğini kullanarak --namespace Azure MCP Sunucusu'nu yalnızca belirli hizmetleri kullanıma sunacak şekilde yapılandırabilirsiniz. Bu yaklaşım, odaklanmış iş akışları veya birden çok MCP sunucusu örneğiyle çalışırken kullanışlıdır.

{
  "mcpServers": {
    "Azure Storage": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start", "--namespace", "storage"]
    },
    "Azure KeyVault": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start", "--namespace", "keyvault"]
    }
  }
}

Bu yapılandırma, Depolama ve Key Vault için ayrı MCP sunucu örnekleri oluşturarak araçları etki alanı veya proje gereksinimlerine göre düzenlemenizi sağlar.

Hata işleme ve yeniden deneme mantığı

Azure MCP Sunucusu, Azure hizmetleriyle etkileşim kurarken oluşabilecek çeşitli hata senaryolarını işler. Bu desenleri anlamak sorunları gidermenize ve dayanıklı iş akışları oluşturmanıza yardımcı olur.

Kimlik doğrulama hataları

Kimlik doğrulaması, Azure kaynaklarıyla çalışırken karşılaşılan yaygın bir hata kaynağıdır.

401 Yetkisiz hatalar

401 hatası erişim belirtecinin geçersiz veya eksik olduğunu gösterir. Bu hata şu durumlarda meydana gelebilir:

  • Kaynakta yerel yetkilendirme (erişim anahtarları) devre dışı bırakıldı
  • Kimlik doğrulama belirtecinin süresi doldu
  • Kullanılabilir bir geçerli kimlik bilgisi yok

Çözüm yaklaşımları:

  • Veya tercih ettiğiniz kimlik doğrulama yöntemini kullanarak az login Azure'da kimliğinizin doğrulandığını doğrulayın
  • Kaynağın kullandığınız kimlik doğrulama yöntemine izin verdiğinden denetleyin
  • Erişim anahtarları devre dışı bırakılmış kaynaklar için uygun Role-Based Erişim Denetimi (RBAC) izinlerine sahip olduğunuzdan emin olun

403 Yasak hataları

403 hatası, kimliği doğrulanmış kullanıcının istenen kaynağa erişmek için yeterli izinlere sahip olmadığını gösterir.

Yaygın nedenler:

  • Kaynak grubu veya abonelik düzeyinde eksik RBAC izinleri
  • Yanlış abonelik veya kiracı bağlamı
  • Birden çok hesap oturum açtığında istenmeyen bir hesap kullanma

Çözüm yaklaşımları:

  • RBAC izinlerinin doğru kapsamda atandığını doğrulayın
  • İstemlerinizde aboneliği ve kiracıyı açıkça belirtin: "Kiracıda subscription-namebulunan abonelikteki tenant-nametüm depolama hesaplarımı listele"
  • AZURE_MCP_ONLY_USE_BROKER_CREDENTIAL ortam değişkenini true olarak hesap seçimini istemek için ayarlayın

Ağ ve güvenlik duvarı kısıtlamaları

Kurumsal ortamlar genellikle Azure MCP Sunucusu bağlantısını etkileyebilecek ağ denetimlerine sahiptir.

Kimlik doğrulaması için gerekli uç noktalar:

  • login.microsoftonline.com:443
  • login.windows.net:443
  • management.azure.com:443
  • graph.microsoft.com:443

Kaynağa özgü uç noktalar , kullandığınız Azure hizmetlerine bağlıdır, örneğin:

  • Azure Depolama: *.blob.core.windows.net:443
  • Azure Key Vault: *.vault.azure.net:443
  • Azure Cosmos DB:*.documents.azure.com:443

Şirket ara sunucusunun arkasındaysanız ortam değişkenlerini kullanarak ara sunucu ayarlarını yapılandırın:

export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1

Geçici hatalar

Azure MCP Sunucusu, geçici hatalar için yerleşik yeniden deneme mantığına sahip olan Azure SDK'larını kullanır. Bu SDK'lar otomatik olarak şunları işler:

  • Ağ bağlantısı sorunları
  • Hizmet kısıtlaması ve oran sınırları
  • Geçici hizmet kullanılamaz

Yeniden deneme ilkeleri, yüksek yük veya olay senaryolarında aşırı yüke neden olan hizmetleri önlemek için üstel geri alma kullanır.

Hata iletileri ve tanılama

Hatalar oluştuğunda, Azure MCP Sunucusu sorunları anlamanıza ve çözmenize yardımcı olmak için ayrıntılı hata iletileri sağlar. Kapsamlı sorun giderme kılavuzu için sorun giderme kılavuzuna bakın.

İyileştirme ipuçları

Azure MCP Server yapılandırmanızı iyileştirmek performansı artırır, belirteç kullanımını azaltır ve kullanıcı deneyimini geliştirir.

Araç sayılarını yönetme

Bazı MCP istemcilerinin işleyebileceği araç sayısıyla ilgili sınırlamaları vardır. Örneğin, Visual Studio Code Copilot'un istek başına 128 araç sınırı vardır.

Birleştirilmiş modu kullanma

Birleştirilmiş mod, istemci aracı sınırları altında iyi kalırken tam işlevsellik sağlar:

{
  "mcpServers": {
    "Azure MCP": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "consolidated"]
    }
  }
}

Bu yapılandırma, hem işlevsellik hem de yapay zeka aracısı verimliliği için iyileştirerek ilgili işlemleri gruplandıran seçilmiş araçları kullanıma sunar.

Seçmeli araç yükleme kullanma

Yalnızca belirli iş akışınız için ihtiyacınız olan araçları yükleyin:

{
  "mcpServers": {
    "Azure Essentials": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start",
        "--tool",
        "azmcp_subscription_list",
        "--tool",
        "azmcp_group_list",
        "--tool",
        "azmcp_storage_account_get"
      ]
    }
  }
}

Özel sohbet modlarını kullanma

Visual Studio Code, farklı senaryolar için farklı araç kümeleri yapılandırmanıza olanak sağlayan özel sohbet modlarını destekler. Bu yaklaşım, istemci sınırları içinde kalırken geçerli görevinize göre araç yapılandırmaları arasında geçiş yapmanızı sağlar.

Belirteç yönetimi

Etkili belirteç yönetimi, dil modellerini kullanırken yanıt sürelerini artırır ve maliyetleri azaltır.

Belirli istemleri kullanma

Belirli istemler, araç çağrılarının sayısını ve gereken bağlam miktarını azaltır:

Daha az etkili:

  • "Azure kaynaklarımı anlat"

Daha etkili:

  • 'my-subscription' aboneliğindeki 'my-rg' kaynak grubunda bulunan depolama hesaplarını listeleyin
  • "'mystorageaccount' depolama hesabı için bağlantı dizesini göster"

İşlemleri uygun şekilde kapsamlayın

Mümkün olduğunda, kapsam işlemlerini aboneliklerin tamamını sorgulamak yerine belirli kaynaklara veya kaynak gruplarına uygulayın:

Daha az verimli:

  • "Aboneliğimdeki tüm kaynakları listele ve depolama hesapları için filtre uygula"

Daha verimli:

  • "'production-rg' kaynak grubundaki depolama hesaplarını listele"

Toplu işlemler

Azure MCP Sunucusu, belirli senaryolar için toplu işlemleri destekler. Birden çok kaynakla çalışırken:

Sıralı işlemler:

List storage accounts, then for each one show the containers

Uygun olduğunda paralel işlemler:

Get details for storage accounts 'account1', 'account2', and 'account3'

Azure MCP Sunucusu ve temel alınan Azure SDK'ları uygun olduğunda toplu işlemleri otomatik olarak işler, ağ çağrılarını en iyi duruma getirerek gecikme süresini azaltır.

Önbelleğe alma ve yeniden kullanma

Azure MCP Sunucusu bir oturum sırasında bağlantı durumunu korur. Performansı iyileştirmek için:

  • MCP sunucu örneklerini sık sık başlatmak ve durdurmak yerine çalışır durumda tutun
  • Abonelik ve kaynak grubu bilgilerini sonraki sorgularda yeniden kullanma
  • Birden çok kez başvurmanız gerektiğinde iş akışınızda kaynak ayrıntılarını önbelleğe alma

Yaygın kullanım örnekleri

Azure MCP Sunucusu çok çeşitli gerçek dünya senaryolarını destekler. Bu bölümde yaygın desenler ve iş akışları örnekleri sağlanır.

Yeni hizmet dağıtma

Yeni bir Azure hizmeti dağıtırken, altyapı kurulumunu ve yapılandırmasını otomatikleştirmek için Azure MCP Sunucusu'nu kullanabilirsiniz:

  1. Kaynak grubu ve kaynak oluşturma:

    Create a resource group called 'webapp-prod' in East US, 
    then create a storage account called 'webappdata' in that resource group
    
  2. Kaynakları yapılandırma:

    Get the storage account connection string and store it as a secret 
    in key vault 'webapp-kv' with name 'StorageConnectionString'
    
  3. Dağıtımı doğrulayın:

    List all resources in resource group 'webapp-prod' 
    and verify that the storage account and key vault exist
    

Canlı site sorununda hata ayıklama

Azure MCP Sunucusu, üretim sorunlarını tanılamanıza ve gidermenize yardımcı olabilir:

  1. Kaynak durumunu denetleyin:

    Check the health status of App Service 'my-webapp' 
    and list any recent service health incidents
    
  2. Sorgu günlükleri:

    Query Application Insights for exceptions in the last hour 
    from application 'my-webapp'
    
  3. Yapılandırmayı inceleyin:

    Get the application settings for App Service 'my-webapp' 
    and check if the database connection string is configured correctly
    
  4. Bağımlılıkları denetleyin:

    List the databases in SQL server 'my-sql-server' 
    and verify connectivity to database 'my-database'
    

Gizli anahtarları ve yapılandırmaları yönetme

Yaygın bir şablon, ortamlar arasında gizli bilgileri ve konfigürasyonu yönetmeyi içerir.

  1. Gizli bilgileri denetleme:

    List all secrets in key vault 'production-kv' 
    and show me which ones are expiring in the next 30 days
    
  2. Gizli bilgileri döndürme:

    Generate a new connection string for storage account 'mystore', 
    update the secret 'StorageConnection' in key vault 'production-kv', 
    and restart App Service 'my-webapp'
    
  3. Eşitleme yapılandırması:

    Get all key-value pairs from App Configuration 'my-appconfig' 
    with label 'production' and compare them to the staging environment
    

Hizmetler arasında veri işlemleri

Azure MCP Sunucusu, birden çok hizmette veri işlemlerini koordine etme konusunda çok başarılıdır:

  1. Ayıklama, Dönüştürme, Yükleme (ETL):

    Get data from Cosmos DB container 'raw-data', 
    transform it using the provided logic, 
    and upload the results to blob container 'processed-data' 
    in storage account 'analytics'
    
  2. Yedekleme ve arşivleme:

    Export all documents from Cosmos DB container 'transactions' 
    and create a snapshot in blob storage with timestamp
    
  3. Hizmetler arası sorgular:

    Query Azure Data Explorer for events where error count is greater than 100, 
    then lookup the associated user data from Cosmos DB
    

Altyapı denetimi ve uyumluluğu

Altyapıyı denetlemek ve uyumluluğu doğrulamak için Azure MCP Sunucusu'nu kullanın:

  1. Güvenlik denetimi:

    List all storage accounts in my subscription 
    and check which ones don't have firewall rules configured
    
  2. Maliyet analizi:

    List all SQL databases in my subscription, 
    show their pricing tiers, 
    and identify candidates for downgrading
    
  3. Kaynak etiketleme:

    List all resources in subscription 'production-sub' 
    without an 'Environment' tag and show their resource groups
    

Geliştirme ve test iş akışları

Geliştiriciler geliştirme iş akışlarını kolaylaştırmak için Azure MCP Server'ı kullanabilir:

  1. Ortam kurulumu:

    Create a development environment with a storage account, 
    key vault, and App Service in resource group 'dev-environment'
    
  2. Test veri yönetimi:

    Copy data from production storage container 'data' 
    to development storage container 'test-data', 
    anonymizing sensitive fields
    
  3. Yapılandırma yönetimi:

    Compare App Service settings between 'staging-webapp' 
    and 'production-webapp' and highlight differences