Udostępnij za pomocą


Uwidaczniaj istniejący serwer MCP i zarządzaj nim

DOTYCZY: Deweloper | Podstawowa | Podstawowa wersja 2 | Standardowa | Standardowa wersja 2 | Premium | Premium wersja 2

W tym artykule pokazano, jak za pomocą usługi API Management uwidaczniać istniejący serwer zdalnego protokołu MCP (Model Context Protocol) i zarządzać nim — serwer narzędzi hostowany poza usługą API Management. Uwidaczniaj narzędzia serwera i zarządzaj nimi za pomocą usługi API Management, aby klienci MCP mogli je wywoływać przy użyciu protokołu MCP.

Oto kilka przykładowych scenariuszy:

  • Serwery narzędzi Proxy LangChain lub LangServe za pośrednictwem usługi API Management z uwierzytelnianiem na serwerze i limitami szybkości.
  • Bezpieczne udostępnianie narzędzi opartych na usłudze Azure Logic Apps dla kopilotów przy użyciu filtrowania adresów IP i protokołu OAuth.
  • Scentralizowanie narzędzi serwera MCP z usługi Azure Functions i środowisk uruchomieniowych typu open source do Centrum interfejsów API platformy Azure.
  • Włącz narzędzie GitHub Copilot, Claude by Anthropic lub ChatGPT, aby bezpiecznie korzystać z narzędzi w całym przedsiębiorstwie.

Usługa API Management obsługuje również serwery MCP udostępniane natywnie w usłudze API Management z zarządzanych interfejsów API REST. Aby uzyskać więcej informacji, zobacz Udostępnianie interfejsu API REST jako serwera MCP.

Dowiedz się więcej o:

Ograniczenia

  • Zewnętrzny serwer MCP musi być zgodny z wersją 2025-06-18 mcp lub nowszą. Serwer może obsługiwać następujące możliwości:

  • Usługa API Management obecnie obsługuje narzędzia serwera MCP, ale nie obsługuje zasobów ani monitów MCP.

  • Usługa API Management obecnie nie obsługuje możliwości serwera MCP w obszarach roboczych.

Wymagania wstępne

  • Jeśli nie masz jeszcze wystąpienia usługi API Management, wykonaj czynności opisane w następującym przewodniku Szybki start: Tworzenie wystąpienia usługi Azure API Management. Wystąpienie musi znajdować się w jednej z warstw usług obsługujących serwery MCP.

  • Dostęp do zewnętrznego serwera zgodnego z mcp (na przykład hostowanego w usłudze Azure Logic Apps, Azure Functions, LangServe lub innych platformach).

  • Odpowiednie poświadczenia serwera MCP (takie jak poświadczenia klienta OAuth 2.0 lub klucze interfejsu API, w zależności od serwera) na potrzeby bezpiecznego dostępu.

  • Jeśli włączysz rejestrowanie diagnostyczne za pomocą usługi Application Insights lub usługi Azure Monitor w zakresie globalnym (wszystkie interfejsy API) dla wystąpienia usługi API Management, ustaw opcję Liczba bajtów ładunku do rejestrowania dla odpowiedzi frontowej na 0. To ustawienie zapobiega niezamierzonemu rejestrowaniu treści odpowiedzi we wszystkich interfejsach API i pomaga zapewnić prawidłowe działanie serwerów MCP. Aby rejestrować ładunki selektywnie dla określonych interfejsów API, skonfiguruj ustawienie indywidualnie w zakresie interfejsu API, co pozwala na ukierunkowaną kontrolę nad rejestrowaniem odpowiedzi.

  • Aby przetestować serwer MCP, użyj programu Visual Studio Code z dostępem do narzędzia GitHub Copilot lub narzędzia takiego jak MCP Inspector.

Uwidacznia istniejący serwer MCP

Wykonaj następujące kroki, aby uwidocznić istniejący serwer MCP w usłudze API Management:

  1. W portalu Azure przejdź do wystąpienia usługi API Management.
  2. W menu po lewej stronie w obszarze Interfejsy API wybierz pozycję Serwery> MCP+ Utwórz serwer MCP.
  3. Wybierz pozycję Uwidocznij istniejący serwer MCP.
  4. Na serwerze MCP zaplecza:
    1. Wprowadź istniejący podstawowy adres URL serwera MCP. Na przykład https://learn.microsoft.com/api/mcp dla serwera Microsoft Learn MCP.
    2. W polu Typ transportu domyślnie jest wybierany protokół HTTP z możliwością przesyłania strumieniowego .
  5. Na nowym serwerze MCP:
    1. Wprowadź nazwę serwera MCP w usłudze API Management.
    2. W ścieżce podstawowej wprowadź prefiks trasy dla narzędzi. Na przykład mytools.
    3. Opcjonalnie wprowadź opis serwera MCP.
  6. Wybierz Utwórz.

Zrzut ekranu przedstawiający tworzenie serwera MCP w portalu.

  • Serwer MCP jest tworzony, a operacje serwera zdalnego są udostępniane jako narzędzia.
  • Serwer MCP znajduje się w okienku Serwery MCP . W kolumnie Adres URL serwera jest wyświetlany adres URL serwera MCP w celu wywołania testowania lub w aplikacji klienckiej.

Zrzut ekranu przedstawiający listę serwerów MCP w portalu.

Ważne

Obecnie usługa API Management nie wyświetla narzędzi z istniejącego serwera MCP. Należy zarejestrować i skonfigurować wszystkie narzędzia na istniejącym zdalnym serwerze MCP.

Konfigurowanie zasad dla serwera MCP

Skonfiguruj jedną lub więcej polityk usługi API Management, aby ułatwić zarządzanie serwerem MCP. Zasady dotyczą wszystkich operacji interfejsu API uwidocznionych jako narzędzia na serwerze MCP. Użyj tych zasad, aby kontrolować dostęp, uwierzytelnianie i inne aspekty narzędzi.

Dowiedz się więcej o konfigurowaniu zasad:

Ostrzeżenie

Nie należy uzyskiwać dostępu do treści odpowiedzi przy użyciu zmiennej context.Response.Body w zasadach serwera MCP. Powoduje to uruchomienie buforowania odpowiedzi, co zakłóca wymagane przez serwery MCP działanie przesyłania strumieniowego i może spowodować ich awarię.

Aby skonfigurować zasady dla serwera MCP, wykonaj następujące kroki:

  1. W portalu Azure przejdź do wystąpienia usługi API Management.

  2. W menu po lewej stronie w obszarze Interfejsy API wybierz pozycję Serwery MCP.

  3. Wybierz z listy serwer MCP.

  4. W menu po lewej stronie w obszarze MCP wybierz pozycję Zasady.

  5. W edytorze zasad dodaj lub edytuj zasady, które chcesz zastosować do narzędzi serwera MCP. Zdefiniuj zasady w formacie XML.

    Można na przykład dodać zasady, aby ograniczyć wywołania do narzędzi serwera MCP (w tym przykładzie jedno wywołanie na 60 sekund na sesję MCP).

    <!-- 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>
    

    Zrzut ekranu przedstawiający edytor zasad serwera MCP.

Uwaga / Notatka

Usługa API Management ocenia zasady skonfigurowane w zakresie globalnym (wszystkich interfejsów API), zanim oceni zasady w zakresie serwera MCP.

Weryfikowanie i używanie serwera MCP

Użyj zgodnego agenta LLM (takiego jak GitHub Copilot, Semantic Kernel lub Copilot Studio) lub klienta testowego (takiego jak curl) w celu wywołania punktu końcowego MCP hostowanego przez usługę API Management. Upewnij się, że żądanie zawiera odpowiednie nagłówki lub tokeny oraz potwierdź pomyślne routing i odpowiedź z serwera MCP.

Wskazówka

Jeśli używasz inspektora MCP do testowania serwera MCP zarządzanego przez usługę API Management, użyj wersji 0.9.0.

Dodawanie serwera MCP w programie Visual Studio Code

W programie Visual Studio Code użyj czatu GitHub Copilot w trybie agenta, aby dodać serwer MCP i użyć narzędzi. Aby uzyskać informacje na temat serwerów MCP w programie Visual Studio Code, zobacz Używanie serwerów MCP w programie VS Code.

Aby dodać serwer MCP w programie Visual Studio Code:

  1. Użyj polecenia MCP: Dodaj serwer z palety poleceń.

  2. Po wyświetleniu monitu wybierz typ serwera: HTTP (HTTP lub Server Sent Events).

  3. Wprowadź adres URL serwera MCP w usłudze API Management. Na przykład https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp dla punktu końcowego MCP.

  4. Wprowadź wybrany identyfikator serwera .

  5. Wybierz, czy chcesz zapisać konfigurację w ustawieniach obszaru roboczego , czy w ustawieniach użytkownika.

    • Ustawienia obszaru roboczego — konfiguracja serwera jest zapisywana w .vscode/mcp.json pliku dostępnym tylko w bieżącym obszarze roboczym.

    • Ustawienia użytkownika — konfiguracja serwera jest dodawana do pliku globalnego settings.json i jest dostępna we wszystkich obszarach roboczych. Konfiguracja wygląda podobnie do następującej:

    Zrzut ekranu przedstawiający serwery MCP skonfigurowane w programie Visual Studio Code.

Dodaj pola do konfiguracji JSON, aby ustawić opcje takie jak nagłówek uwierzytelnienia. W poniższym przykładzie przedstawiono konfigurację klucza subskrypcji usługi API Management przekazanego w nagłówku jako wartość wejściową. Dowiedz się więcej o formacie konfiguracji

Zrzut ekranu przedstawiający konfigurację nagłówka uwierzytelniania dla serwera MCP

Korzystanie z narzędzi w trybie agenta

Po dodaniu serwera MCP w programie Visual Studio Code można użyć narzędzi w trybie agenta.

  1. W czacie Copilot w usłudze GitHub wybierz pozycję Tryb agenta i wybierz przycisk Narzędzia , aby wyświetlić dostępne narzędzia.

    Zrzut ekranu przedstawiający przycisk Narzędzia w czacie.

  2. Wybierz co najmniej jedno narzędzie z serwera MCP, które ma być dostępne na czacie.

    Zrzut ekranu przedstawiający wybieranie narzędzi w programie Visual Studio Code.

  3. Wprowadź monit w czacie, aby wywołać narzędzie. Na przykład, jeśli wybrano narzędzie do uzyskania informacji o zamówieniu, możesz zapytać agenta o zamówienie.

    Get information for order 2
    

    Wybierz pozycję Kontynuuj , aby wyświetlić wyniki. Agent używa narzędzia do wywoływania serwera MCP i zwraca wyniki rozmowy.

    Zrzut ekranu przedstawiający wyniki czatu w programie Visual Studio Code.

Rozwiązywanie problemów i znane problemy

Problem Przyczyna Rozwiązanie
401 Unauthorized błąd z zaplecza Nagłówek autoryzacji nie jest przekazywany W razie potrzeby użyj set-header polityki, aby ręcznie dołączyć token
Wywołanie interfejsu API działa w usłudze API Management, ale kończy się niepowodzeniem w agencie Nieprawidłowy podstawowy adres URL lub brak tokenu Dokładnie sprawdź zasady zabezpieczeń i punkt końcowy
Przesyłanie strumieniowe serwera MCP kończy się niepowodzeniem po włączeniu dzienników diagnostycznych Rejestrowanie treści odpowiedzi lub uzyskiwanie dostępu do treści odpowiedzi za pośrednictwem zasad zakłóca transport MCP Wyłączanie rejestrowania treści odpowiedzi w zakresie Wszystkie interfejsy API — zobacz Wymagania wstępne