Aracılığıyla paylaş


API Management'ta REST API'yi MCP sunucusu olarak kullanıma sunma

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

API Management'ta, yerleşik yapay zeka ağ geçidini kullanarak API Management'ta yönetilen bir REST API'yi uzak Model Bağlam Protokolü (MCP) sunucusu olarak kullanıma açabilirsiniz. BIR veya daha fazla API işlemini MCP istemcilerinin MCP protokollerini kullanarak çağırabileceği araçlar olarak kullanıma sunma.

Azure API Management, API Management dışında barındırılan mevcut MCP uyumlu sunucularla güvenli tümleştirmeyi de destekler. Daha fazla bilgi için bkz. Mevcut bir MCP sunucusunu kullanıma sunma.

Şu konularda daha fazla bilgi edinin:

Sınırlamalar

  • API Management şu anda MCP sunucu araçlarını destekler, ancak MCP kaynaklarını veya istemlerini desteklemez.
  • API Management şu anda çalışma alanlarında MCP sunucusu özelliklerini desteklememektedir.

Önkoşullar

  • Henüz bir 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.

  • Örneğinizin, MCP sunucusu olarak kullanıma açmak istediğiniz HTTP uyumlu bir API'yi (Azure kaynaklarından içeri aktarılan API'ler de dahil olmak üzere REST API olarak içeri aktarılan tüm API'ler) yönettiğinden emin olun. Örnek API'yi içeri aktarmak için bkz. İlk API'nizi içeri aktarma ve yayımlama.

    Uyarı

    API Management'ta HTTP uyumlu olmayan diğer API türleri MCP sunucuları olarak gösterilemiyor.

  • API Management hizmet örneğiniz için genel kapsamda (tüm API'ler) Application Insights veya Azure İzleyici aracılığıyla tanılama günlüğünü etkinleştirirseniz Ön Uç Yanıtı için Günlük için 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'a veya MCP Inspector gibi araçlara erişimi olan Visual Studio Code kullanabilirsiniz.

API'yi MCP sunucusu olarak kullanıma sunma

YÖNETILEN REST API'yi API Management'ta MCP sunucusu olarak kullanıma açmak için şu adımları izleyin:

  1. Azure portalında API Management örneğine gidin.
  2. Soldaki menüde, API'ler'in altında MCP Sunucuları>+ MCP sunucusu oluştur'u seçin.
  3. API'yi MCP sunucusu olarak kullanıma sunma'ya tıklayın.
  4. Arka uç MCP sunucusunda:
    1. MCP sunucusu olarak kullanıma açmak için yönetilen bir API seçin.
    2. Araç olarak kullanıma sunulan bir veya daha fazla API işlemi seçin. Tüm işlemleri veya yalnızca belirli işlemleri seçebilirsiniz.

      Uyarı

      Araç olarak sunulan işlemleri daha sonra MCP sunucunuzun Araçlar dikey penceresinde güncelleştirebilirsiniz.

  5. Yeni MCP sunucusunda:
    1. API Management'ta MCP sunucusu için bir Ad girin.
    2. İ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 API işlemleri araç olarak kullanıma sunulur.
  • MCP sunucusu , MCP Sunucuları dikey penceresinde listelenir. Sunucu URL'si sütunu, test için çağrılacak MCP sunucusunun uç noktasını veya bir istemci uygulaması içinde gösterir.

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

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, Semantik Çekirdek veya Copilot Studio gibi) veya bir test istemcisi (örneğin curl) 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'da MCP sunucusunu ekleme

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

Visual Studio Code'da MCP sunucusunu 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'da 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'da bir MCP sunucusu ekledikten sonra aracı modundaki araçları kullanabilirsiniz.

  1. GitHub Copilot sohbetinde Aracı modu'nu seçin ve kullanılabilir araçları görmek için Araçlar 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'da araçları seçme işleminin 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'daki sohbet sonuçlarının ekran görüntüsü.

Sorun giderme ve bilinen sorunlar

Sorun Sebep Çözüm
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ç noktayı iki kez denetleme
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