Freigeben über


Verfügbarmachen und Steuern eines vorhandenen MCP-Servers

GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2

In diesem Artikel wird gezeigt, wie Sie API Management verwenden, um einen vorhandenen MCP-Remoteserver (Model Context Protocol) verfügbar zu machen und zu steuern. Bei einem MCP-Server handelt es sich um einen Toolserver, der außerhalb von API Management gehostet wird. Machen Sie die Tools des Servers über die API-Verwaltung verfügbar und steuern Sie sie, damit MCP-Clients diese mithilfe des MCP-Protokolls aufrufen können.

Beispielszenarios umfassen:

  • Leiten Sie LangChain- oder LangServe-Toolserver per Proxy über API Management mit serverbasierter Authentifizierung und serverbasierten Ratenbegrenzungen.
  • Stellen Sie Azure Logic Apps-basierte Tools sicher mithilfe von IP-Filterung und OAuth für Kopiloten bereit.
  • Zentralisieren Sie MCP-Servertools aus Azure Functions und Open-Source-Laufzeiten in Azure API Center.
  • Aktivieren Sie GitHub Copilot, Claude by Anthropic oder ChatGPT, um sicher mit Tools in Ihrem Unternehmen zu interagieren.

API Management unterstützt zudem MCP-Server, die nativ in API Management von verwalteten REST-APIs verfügbar gemacht werden. Weitere Informationen finden Sie unter Verfügbarmachen einer REST-API als MCP-Server.

Weitere Informationen zu:

Einschränkungen

  • Der externe MCP-Server muss der MCP-Version 2025-06-18 oder höher entsprechen. Der Server kann Folgendes unterstützen:

  • Die API-Verwaltung unterstützt derzeit MCP-Servertools, unterstützt jedoch keine MCP-Ressourcen oder -Eingabeaufforderungen.

  • Die API-Verwaltung unterstützt derzeit keine MCP-Serverfunktionen in Arbeitsbereichen.

Voraussetzungen

  • Arbeiten Sie die folgende Schnellstartanleitung durch, falls Sie nicht bereits über eine API Management-Instanz verfügen: Erstellen einer Azure API Management-Instanz. Die Instanz muss sich in einer der Dienstebenen befinden, die MCP-Server unterstützen.

  • Zugriff auf einen externen MCP-kompatiblen Server (z. B. in Azure Logic Apps, Azure Functions, LangServe oder auf anderen Plattformen gehostet)

  • Geeignete Anmeldeinformationen für den MCP-Server (z. B. OAuth 2.0-Clientanmeldeinformationen oder API-Schlüssel, je nach Server) für den sicheren Zugriff

  • Wenn Sie die Diagnoseprotokollierung über Application Insights oder Azure Monitor im globalen Bereich (alle APIs) für Ihre API-Verwaltungsinstanz aktivieren, legen Sie die Anzahl der Nutzlastbytes fest, um die Einstellung für die Frontend-Antwort auf 0 zu protokollieren. Diese Einstellung verhindert die unbeabsichtigte Protokollierung von Antworttexten über alle APIs hinweg und trägt dazu bei, das ordnungsgemäße Funktionieren von MCP-Servern sicherzustellen. Um Nutzlasten selektiv für bestimmte APIs zu protokollieren, konfigurieren Sie die Einstellung einzeln im API-Bereich, sodass die gezielte Kontrolle über die Antwortprotokollierung ermöglicht wird.

  • Um den MCP-Server zu testen, verwenden Sie Visual Studio Code mit Zugriff auf GitHub Copilot oder ein Tool wie MCP Inspector.

Verfügbarmachen eines vorhandenen MCP-Servers

Führen Sie die folgenden Schritte aus, um einen vorhandenen MCP-Server in der API-Verwaltung verfügbar zu machen:

  1. Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.
  2. Wählen Sie im linken Menü unter APIs die Optionen MCP-Server>+ MCP-Server erstellen aus.
  3. Wählen Sie Vorhandenen MCP-Server verfügbar machen aus.
  4. Unter Back-End-MCP-Server:
    1. Geben Sie die vorhandene Basis-URL des MCP-Servers ein. Zum Beispiel https://learn.microsoft.com/api/mcp für den Microsoft Learn MCP-Server.
    2. Im Transporttyp ist Streamable HTTP standardmäßig ausgewählt.
  5. Unter Neuer MCP-Server:
    1. Geben Sie einen Namen für den MCP-Server in der API-Verwaltung ein.
    2. Geben Sie unter Basispfad ein Routenpräfix für Tools ein. Beispiel: mytools.
    3. Geben Sie optional eine Beschreibung für den MCP-Server ein.
  6. Wählen Sie "Erstellen" aus.

Screenshot: Erstellen eines MCP-Servers im Portal

  • Der MCP-Server wird erstellt, und die Vorgänge des Remoteservers werden als Tools verfügbar gemacht.
  • Der MCP-Server wird im BEREICH "MCP-Server " aufgeführt. In der Spalte Server-URL wird die MCP-Server-URL angezeigt, die zum Testen oder innerhalb einer Clientanwendung aufgerufen werden soll.

Screenshot: MCP-Serverliste im Portal

Von Bedeutung

Derzeit zeigt API Management keine Tools vom vorhandenen MCP-Server an. Sie müssen alle Tools auf dem vorhandenen Remote-MCP-Server registrieren und konfigurieren.

Konfigurieren von Richtlinien für den MCP-Server

Konfigurieren Sie eine oder mehrere API-Verwaltungsrichtlinien , um den MCP-Server zu verwalten. Die Richtlinien gelten für alle API-Vorgänge, die als Tools auf dem MCP-Server verfügbar gemacht werden. Verwenden Sie diese Richtlinien, um den Zugriff, die Authentifizierung und andere Aspekte der Tools zu steuern.

Weitere Informationen zum Konfigurieren von Richtlinien:

Vorsicht

Greifen Sie nicht auf den Antworttext zu, indem Sie die context.Response.Body Variable in MCP-Serverrichtlinien verwenden. Dadurch wird die Antwortpufferung ausgelöst, die das für MCP-Server erforderliche Streamingverhalten stört und somit zu Fehlfunktionen führen kann.

Führen Sie die folgenden Schritte aus, um Richtlinien für den MCP-Server zu konfigurieren:

  1. Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.

  2. Wählen Sie im linken Menü unter APIs die Option MCP-Server aus.

  3. Wählen Sie in der Liste einen MCP-Server aus.

  4. Wählen Sie im linken Menü unter MCP die Option "Richtlinien" aus.

  5. Fügen Sie im Richtlinien-Editor die Richtlinien hinzu, die Sie auf die Tools des MCP-Servers anwenden möchten, oder bearbeiten Sie sie. Definieren Sie die Richtlinien im XML-Format.

    Sie können z. B. eine Richtlinie hinzufügen, um Aufrufe an die Tools des MCP-Servers einzuschränken (in diesem Beispiel ein Anruf pro 60 Sekunden pro MCP-Sitzung).

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

    Screenshot des Richtlinien-Editors für einen MCP-Server.

Hinweis

Die API-Verwaltung wertet Richtlinien aus, die im globalen Bereich (alle APIs) konfiguriert sind, bevor sie Richtlinien im MCP-Serverbereich auswertet.

Überprüfen und Verwenden des MCP-Servers

Verwenden Sie einen kompatiblen LLM-Agent (z. B. GitHub Copilot, Semantic Kernel oder Copilot Studio) oder einen Testclient (z. B. curl), um den von API Management gehosteten MCP-Endpunkt aufzurufen. Stellen Sie sicher, dass die Anforderung geeignete Header oder Token enthält, und überprüfen Sie das erfolgreiche Routing und die erfolgreiche Antwort vom MCP-Server.

Tipp

Wenn Sie den MCP Inspector verwenden, um einen MCP-Server zu testen, der von der API-Verwaltung verwaltet wird, verwenden Sie Version 0.9.0.

Hinzufügen des MCP-Servers in Visual Studio Code

Verwenden Sie in Visual Studio Code GitHub Copilot Chat im Agent-Modus, um den MCP-Server hinzuzufügen und die Tools zu verwenden. Hintergrundinformationen zu MCP-Servern in Visual Studio Code finden Sie unter Verwenden von MCP-Servern in VS Code.

So fügen Sie den MCP-Server in Visual Studio Code hinzu:

  1. Verwenden Sie den Befehl MCP: Add Server aus der Befehlspalette.

  2. Wenn Sie dazu aufgefordert werden, wählen Sie den Servertyp HTTP (HTTP- oder Server gesendete Ereignisse) aus.

  3. Geben Sie die Server-URL des MCP-Servers in API Management ein. Beispiel: https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp für den MCP-Endpunkt.

  4. Geben Sie eine Server-ID Ihrer Wahl ein.

  5. Wählen Sie aus, ob die Konfiguration in Ihren Arbeitsbereichseinstellungen oder Benutzereinstellungen gespeichert werden soll.

    • Arbeitsbereichseinstellungen – Die Serverkonfiguration wird nur in einer .vscode/mcp.json Datei gespeichert, die nur im aktuellen Arbeitsbereich verfügbar ist.

    • Benutzereinstellungen – Die Serverkonfiguration wird ihrer globalen settings.json Datei hinzugefügt und ist in allen Arbeitsbereichen verfügbar. Die Konfiguration sieht ähnlich wie folgt aus:

    Screenshot der MCP-Server, die in Visual Studio Code konfiguriert sind.

Fügen Sie der JSON-Konfiguration Felder für Einstellungen wie den Authentifizierungsheader hinzu. Das folgende Beispiel zeigt die Konfiguration für einen API-Verwaltungsabonnementschlüssel, der in einem Header als Eingabewert übergeben wird. Weitere Informationen zum Konfigurationsformat

Screenshot der Konfiguration des Authentifizierungsheaders für einen MCP-Server

Verwenden von Tools im Agentmodus

Nachdem Sie einen MCP-Server in Visual Studio Code hinzugefügt haben, können Sie Tools im Agent-Modus verwenden.

  1. Wählen Sie im GitHub Copilot-Chat den Agent-Modus aus, und wählen Sie die Schaltfläche "Extras " aus, um die verfügbaren Tools anzuzeigen.

    Screenshot der Schaltfläche

  2. Wählen Sie ein oder mehrere Tools vom MCP-Server aus, um im Chat verfügbar zu sein.

    Screenshot der Auswahl von Tools in Visual Studio Code.

  3. Geben Sie im Chat eine Eingabeaufforderung ein, um das Tool aufzurufen. Wenn Sie z. B. ein Tool zum Abrufen von Informationen zu einer Bestellung ausgewählt haben, können Sie den Agenten um eine Bestellung bitten.

    Get information for order 2
    

    Wählen Sie "Weiter" aus, um die Ergebnisse anzuzeigen. Der Agent verwendet das Tool, um den MCP-Server aufzurufen und die Ergebnisse im Chat zurückgibt.

    Screenshot der Chatergebnisse in Visual Studio Code.

Problembehandlung und bekannte Probleme

Problem Ursache Lösung
401 Unauthorized-Fehler vom Back-End Autorisierungsheader nicht weitergeleitet Verwenden Sie bei Bedarf die Richtlinie set-header, um Token manuell anzufügen.
API-Aufruf erfolgreich in API Management, aber fehlerhaft im Agent Falsche Basis-URL oder fehlendes Token Überprüfen von Sicherheitsrichtlinien und Endpunkten
Fehler beim MCP-Serverstreaming, wenn Diagnoseprotokolle aktiviert sind Die Protokollierung des Antworttexts und der Zugriff auf den Antworttext durch Richtlinien beeinträchtigen den MCP-Transport. Deaktivieren der Protokollierung des Antworttexts im Bereich „Alle APIs“ (siehe Voraussetzungen)