Mevcut bir MCP sunucusunu kullanıma sunma ve yönetme

ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium | Premium v2

Bu makalede, API Management'ın dışında barındırılan bir araç sunucusu olan mevcut uzak Model Bağlam Protokolü (MCP) sunucusunu kullanıma sunma ve yönetme amacıyla API Management'ın nasıl kullanılacağı gösterilmektedir. Sunucu araçlarını, MCP istemcilerinin MCP protokolünü kullanarak çağırabilmesi için API Management aracılığıyla kullanıma sunun ve yönetin.

Bazı örnek senaryolar şunlardır:

  • Sunucu başına kimlik doğrulaması ve hız sınırlarıyla API Management aracılığıyla Ara Sunucu LangChain veya LangServe araç sunucuları.
  • IP filtreleme ve OAuth kullanarak Azure Logic Apps tabanlı araçları yardımcı pilotlara güvenli bir şekilde kullanıma sunma.
  • MCP sunucu araçlarını Azure Functions ve açık kaynak çalışma zamanlarından Azure API Center olarak merkezileştirin.
  • Kuruluşunuz genelindeki araçlarla güvenli bir şekilde etkileşime geçmek için GitHub Copilot, Antropik tarafından Claude veya ChatGPT'yi etkinleştirin.

API Management, yönetilen REST API'lerinden API Management'ta yerel olarak kullanıma sunulan MCP sunucularını da destekler. Daha fazla bilgi için bkz. REST API'yi MCP sunucusu olarak kullanıma sunma.

Şu konularda daha fazla bilgi edinin:

Sınırlamalar

  • Dış MCP sunucusu MCP sürümüne 2025-06-18 veya sonraki bir sürüme uygun olmalıdır. Sunucu aşağıdakileri destekleyebilir:

  • Dış MCP sunucuları için API Management şu anda MCP sunucu araçlarını ve kaynaklarını destekler, ancak MCP istemlerini desteklemez.

  • API Management şu anda çalışma alanlarında MCP sunucusu özelliklerini desteklememektedir.

Önkoşullar

  • Api Management örneğiniz yoksa şu hızlı başlangıcı tamamlayın: Azure API Management örneği oluşturma. Örnek, MCP sunucularını destekleyen hizmet katmanlarından birinde olmalıdır.

  • Dış MCP uyumlu sunucuya (örneğin, Azure Logic Apps, Azure Functions, LangServe veya diğer platformlarda barındırılan) erişim.

  • Güvenli erişim için MCP sunucusuna uygun kimlik bilgileri (sunucuya bağlı olarak OAuth 2.0 istemci kimlik bilgileri veya API anahtarları gibi).

  • Application Insights veya Azure Monitor aracılığıyla API Management örneğiniz için global kapsamda (tüm API'ler) tanılama günlüğünü etkinleştirirseniz, Ön Uç Yanıtı için günlüğe kaydedilecek yük bayt sayısı ayarını 0 olarak ayarlayın. Bu ayar, tüm API'lerde yanıt gövdelerinin istem dışı olarak kaydedilmesini önler ve MCP sunucularının sorunsuz çalışmasına yardımcı olur. Belirli API'ler için yükleri seçmeli olarak kaydetmek amacıyla ayarları API kapsamındaki seviyede tek tek yapılandırarak belirli yanıtları kaydetmeyi kontrol etmenizi sağlar.

  • MCP sunucusunu test etmek için GitHub Copilot erişimi olan Visual Studio Code veya MCP Denetçisi gibi bir aracı kullanın.

Mevcut bir MCP sunucusunu kullanıma sunma

API Management'ta mevcut bir MCP sunucusunu kullanıma açmak için şu adımları izleyin:

  1. Azure portalında API Management örneğine gidin.
  2. Sol taraftaki menüde , API'ler'in altında MCP sunucuları>+ MCP sunucusu oluştur'u seçin.
  3. Mevcut bir MCP sunucusunu kullanıma sunma'ya tıklayın.
  4. Arka uç MCP sunucusunda:
    1. Mevcut MCP sunucusu temel URL'sini girin. Örneğin, https://learn.microsoft.com/api/mcp Microsoft Learn MCP sunucusu için.
    2. Aktarım türü'nde, akışla aktarılabilir HTTP varsayılan olarak seçilidir.
  5. Yeni MCP sunucusunda:
    1. API Management'ta MCP sunucusu için bir Ad girin.
    2. Temel yol alanına araçlar için bir yol ön eki girin. Örneğin, mytools.
    3. İsteğe bağlı olarak, MCP sunucusu için bir Açıklama girin.
  6. Oluştur'i seçin.

Portalda MCP sunucusu oluşturma işleminin ekran görüntüsü.

  • MCP sunucusu oluşturulur ve uzak sunucunun işlemleri araç olarak kullanıma sunulur.
  • MCP sunucusu MCP Sunucuları bölmesinde listelenir. Sunucu URL'si sütunu, test için veya bir istemci uygulaması içinde çağrılacak MCP sunucu URL'sini gösterir.

Portaldaki MCP sunucu listesinin ekran görüntüsü.

Önemli

Api Management şu anda mevcut MCP sunucusundaki araçları görüntülemez. Mevcut uzak MCP sunucusundaki tüm araçları kaydetmeniz ve yapılandırmanız gerekir.

MCP sunucusu için ilkeleri yapılandırma

MCP sunucusunu yönetmeye yardımcı olmak için bir veya daha fazla API Management ilkesi yapılandırın. İlkeler, MCP sunucusunda araç olarak sunulan tüm API işlemleri için geçerlidir. Erişimi, kimlik doğrulamayı ve araçların diğer yönlerini denetlemek için bu ilkeleri kullanın.

İlkeleri yapılandırma hakkında daha fazla bilgi edinin:

Dikkat

MCP sunucu ilkeleri içinde context.Response.Body değişkenini kullanarak yanıt gövdesine erişmeyin. Bunun yapılması, MCP sunucularının gerektirdiği akış davranışına müdahale ederek yanıt arabelleğini tetikler ve sunucuların hatalı çalışmasına yol açabilir.

MCP sunucusuna yönelik ilkeleri yapılandırmak için şu adımları izleyin:

  1. Azure portalında API Management örneğine gidin.

  2. Sol taraftaki menüde , API'ler'in altında MCP Sunucuları'nı seçin.

  3. Listeden bir MCP sunucusu seçin.

  4. Soldaki menüde MCP altında İlkeler'i seçin.

  5. İlke düzenleyicisinde, MCP sunucusunun araçlarına uygulamak istediğiniz ilkeleri ekleyin veya düzenleyin. İlkeleri XML biçiminde tanımlayın.

    Örneğin, MCP sunucusunun araçlarına yönelik çağrıları sınırlamak için bir ilke ekleyebilirsiniz (bu örnekte, MCP oturumu başına 60 saniyede bir çağrı).

    <!-- Rate limit tool calls by Mcp-Session-Id header -->
    <set-variable name="body" value="@(context.Request.Body.As<string>(preserveContent: true))" />
    <choose>
        <when condition="@(
            Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"] != null 
            && Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"].ToString() == "tools/call"
        )">
        <rate-limit-by-key 
            calls="1" 
            renewal-period="60" 
            counter-key="@(
                context.Request.Headers.GetValueOrDefault("Mcp-Session-Id", "unknown")
            )" />
        </when>
    </choose>
    

    MCP sunucusunun ilke düzenleyicisinin ekran görüntüsü.

Uyarı

API Management, MCP sunucu kapsamındaki ilkeleri değerlendirmeden önce genel (tüm API'ler) kapsamında yapılandırılan ilkeleri değerlendirir.

MCP sunucusunu doğrulama ve kullanma

API Management tarafından barındırılan MCP uç noktasını çağırmak için uyumlu bir LLM aracısı (GitHub Copilot, Semantic Kernel veya Copilot Studio gibi) veya bir test istemcisi (curl gibi) kullanın. İsteğin uygun üst bilgiler veya belirteçler içerdiğinden emin olun ve MCP sunucusundan başarılı yönlendirmeyi ve yanıtı onaylayın.

Tavsiye

API Management tarafından yönetilen bir MCP sunucusunu test etmek için MCP Denetçisi'ni kullanıyorsanız 0.9.0 sürümünü kullanın.

"Visual Studio Code'a belirtilen MCP sunucusunu ekleyin."

Visual Studio Code aracı modunda GitHub Copilot sohbet kullanarak MCP sunucusunu ekleyin ve araçları kullanın. Visual Studio Code'daki MCP sunucuları hakkında arka plan bilgileri için bkz. VS Code'da MCP Sunucularını kullanma.

MCP sunucusunu Visual Studio Code eklemek için:

  1. Komut Paleti'nden MCP: Sunucu Ekle komutunu kullanın.

  2. İstendiğinde, sunucu türünü seçin: HTTP (HTTP veya Sunucu Tarafından Gönderilen Olaylar).

  3. API Management'ta MCP sunucusunun Sunucu URL'sini girin. Örneğin, https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp MCP uç noktası için.

  4. Tercihinize göre bir Sunucu Kimliği girin.

  5. Yapılandırmanın çalışma alanı ayarlarınıza mı yoksa kullanıcı ayarlarınıza mı kaydedilmeyeceğini seçin.

    • Çalışma alanı ayarları - Sunucu yapılandırması yalnızca geçerli çalışma alanında kullanılabilen bir .vscode/mcp.json dosyaya kaydedilir.

    • Kullanıcı ayarları - Sunucu yapılandırması genel settings.json dosyanıza eklenir ve tüm çalışma alanlarında kullanılabilir. Yapılandırma aşağıdakine benzer:

     Visual Studio Code'de yapılandırılan MCP sunucularının ekran görüntüsü.

Kimlik doğrulaması üst bilgisi gibi ayarlar için JSON yapılandırmasına alanlar ekleyin. Aşağıdaki örnekte, giriş değerinde olduğu gibi bir başlıkta iletilen bir API Management abonelik anahtarının yapılandırması gösterilmektedir. Yapılandırma biçimi hakkında daha fazla bilgi edinin

MCP sunucusu için kimlik doğrulaması üst bilgisi yapılandırmasının ekran görüntüsü

Aracı modunda araçları kullanma

Visual Studio Code bir MCP sunucusu ekledikten sonra aracı modundaki araçları kullanabilirsiniz.

  1. GitHub Copilot sohbette Agent modunu seçin ve kullanılabilir araçları görmek için Tools düğmesini seçin.

    Sohbetteki Araçlar düğmesinin ekran görüntüsü.

  2. Sohbette kullanılabilir olmak için MCP sunucusundan bir veya daha fazla araç seçin.

    Visual Studio Code'de araçları seçme ekran görüntüsü.

  3. Aracı çağırmak için sohbete bir istem girin. Örneğin, sipariş hakkında bilgi almak için bir araç seçtiyseniz, aracıya sipariş hakkında soru sorabilirsiniz.

    Get information for order 2
    

    Sonuçları görmek için Devam'ı seçin. Temsilci, MCP sunucusunu çağırmak için aracı kullanır ve sonuçları sohbet penceresinde döndürür.

    Visual Studio Code'deki sohbet sonuçlarının ekran görüntüsü.

Sorun giderme ve bilinen sorunlar

Sorun Sebep Solution
401 Unauthorized arka uçtan hata Yetkilendirme üst bilgisi iletilmedi Gerekirse, set-header ilkesini kullanarak token'ı elle ekleyin.
API çağrısı API Management'ta çalışır ancak aracıda başarısız olur Yanlış temel URL veya eksik belirteç Güvenlik ilkelerini ve uç nokta aygıtlarını tekrar kontrol et
Tanılama günlükleri etkinleştirildiğinde MCP sunucusu akışı başarısız oluyor Yanıt gövdesinin günlüğe kaydedilmesi veya ilke aracılığıyla yanıt gövdesine erişim, MCP aktarımını engeller Tüm API'ler kapsamında yanıt gövdesi günlüğünü devre dışı bırakma - bkz Önkoşullar