Delen via


REST API beschikbaar maken in API Management als een MCP-server

VAN TOEPASSING OP: Ontwikkelaar | Basic | Basic v2 | Standaard | Standard v2 | Premium | Premium v2

In API Management kunt u een REST API beschikbaar maken die wordt beheerd in API Management als een EXTERNE MCP-server (Model Context Protocol) met behulp van de ingebouwde AI-gateway. Maak een of meer API-bewerkingen beschikbaar als hulpprogramma's die MCP-clients kunnen aanroepen met behulp van het MCP-protocol.

Azure API Management biedt ook ondersteuning voor beveiligde integratie met bestaande MCP-compatibele servers: hulpprogrammaservers die buiten API Management worden gehost. Zie Een bestaande MCP-server beschikbaar maken voor meer informatie.

Meer informatie over:

Beperkingen

  • API Management biedt momenteel ondersteuning voor MCP-serverhulpprogramma's, maar biedt geen ondersteuning voor MCP-resources of -prompts.
  • API Management biedt momenteel geen ondersteuning voor MCP-servermogelijkheden in werkruimten.

Vereiste voorwaarden

  • Als u nog geen API Management-exemplaar hebt, voltooit u de volgende quickstart: Een Azure API Management-exemplaar maken. Het exemplaar moet zich in een van de servicelagen bevinden die ONDERSTEUNING bieden voor MCP-servers.

  • Zorg ervoor dat uw exemplaar een HTTP-compatibele API beheert (elke API die is geïmporteerd als een REST API, inclusief API's die zijn geïmporteerd uit Azure-resources) die u als een MCP-server wilt weergeven. Als u een voorbeeld-API wilt importeren, raadpleeg uw eerste API importeren en publiceren.

    Opmerking

    Andere API-typen in API Management die niet compatibel zijn met HTTP, kunnen niet worden weergegeven als MCP-servers.

  • Als u diagnostische logboekregistratie via Application Insights of Azure Monitor inschakelt in het globale bereik (alle API's) voor uw API Management-service-exemplaar, stelt u het aantal payloadbytes om te loggen voor Frontend Response in op 0. Met deze instelling voorkomt u onbedoelde logboekregistratie van antwoordteksten in alle API's en zorgt u voor een goede werking van MCP-servers. Om payloads selectief te registreren voor specifieke API's, configureert u de instelling afzonderlijk op de API-scope, waardoor gerichte controle over het registreren van antwoorden mogelijk is.

  • Als u de MCP-server wilt testen, kunt u Visual Studio Code gebruiken met toegang tot GitHub Copilot of hulpprogramma's zoals MCP Inspector.

API beschikbaar maken als een MCP-server

Volg deze stappen om een beheerde REST API beschikbaar te maken in API Management als een MCP-server:

  1. Ga in Azure Portal naar uw API Management-exemplaar.
  2. Selecteer in het linkermenu onder API'sMCP-servers>+ MCP-server maken.
  3. Selecteer Een API beschikbaar maken als een MCP-server.
  4. In back-end MCP-server:
    1. Selecteer een beheerde API om beschikbaar te maken als een MCP-server.
    2. Selecteer een of meer API-bewerkingen om beschikbaar te maken als hulpprogramma's. U kunt alle bewerkingen of alleen specifieke bewerkingen selecteren.

      Opmerking

      U kunt de bewerkingen bijwerken die later worden weergegeven als hulpprogramma's op de blade Extra van uw MCP-server.

  5. In de nieuwe MCP-server:
    1. Voer een naam in voor de MCP-server in API Management.
    2. Voer desgewenst een beschrijving in voor de MCP-server.
  6. Klik op Creëren.

Schermopname van het maken van een MCP-server in de portal.

  • De MCP-server wordt gemaakt en de API-bewerkingen worden weergegeven als hulpprogramma's.
  • De MCP-server wordt weergegeven op de blade MCP-servers . De kolom Server-URL toont het eindpunt van de MCP-server die moet worden aangeroepen voor testen of binnen een clienttoepassing.

Schermopname van de lijst met MCP-servers in de portal.

Beleid configureren voor de MCP-server

Configureer een of meer API Management-beleidsregels om de MCP-server te beheren. Het beleid is van toepassing op alle API-bewerkingen die beschikbaar worden gesteld als hulpprogramma's op de MCP-server. Gebruik dit beleid om de toegang, verificatie en andere aspecten van de hulpprogramma's te beheren.

Meer informatie over het configureren van beleid:

Waarschuwing

Vermijd het gebruiken van de context.Response.Body-variabele om toegang te krijgen tot de hoofdtekst van het antwoord binnen MCP-serverbeleid. Als u dit doet, wordt reactiebuffering geactiveerd, waardoor het streaminggedrag dat door MCP-servers is vereist, wordt beïnvloed en deze mogelijk defect raakt.

Voer de volgende stappen uit om beleidsregels voor de MCP-server te configureren:

  1. Ga in Azure Portal naar uw API Management-exemplaar.

  2. Selecteer MCP-servers in het linkermenu onder API's.

  3. Selecteer een MCP-server in de lijst.

  4. Selecteer Beleid in het linkermenu onder MCP.

  5. Voeg in de beleidseditor het beleid toe of bewerk het beleid dat u wilt toepassen op de hulpprogramma's van de MCP-server. Definieer het beleid in XML-indeling.

    U kunt bijvoorbeeld een beleid toevoegen om aanroepen te beperken tot de hulpprogramma's van de MCP-server (in dit voorbeeld één aanroep per 60 seconden per MCP-sessie).

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

    Schermopname van de beleidseditor voor een MCP-server.

Opmerking

API Management evalueert beleidsregels die zijn geconfigureerd op het globale bereik (alle API's) voordat het beleid evalueert op het MCP-serverbereik.

De MCP-server valideren en gebruiken

Gebruik een compatibele LLM-agent (zoals GitHub Copilot, Semantic Kernel of Copilot Studio) of een testclient (zoals curl) om het DOOR API Management gehoste MCP-eindpunt aan te roepen. Zorg ervoor dat de aanvraag de juiste headers of tokens bevat en controleer of de routering en het antwoord van de MCP-server is geslaagd.

Aanbeveling

Als u de MCP Inspector gebruikt om een MCP-server te testen die wordt beheerd door API Management, gebruikt u versie 0.9.0.

De MCP-server toevoegen in Visual Studio Code

Gebruik in Visual Studio Code GitHub Copilot-chat in de agentmodus om de MCP-server toe te voegen en de hulpprogramma's te gebruiken. Zie MCP-servers gebruiken in VS Code voor achtergrondinformatie over MCP-servers in Visual Studio Code.

De MCP-server toevoegen in Visual Studio Code:

  1. Gebruik de opdracht MCP: Server toevoegen vanuit het opdrachtpalet.

  2. Wanneer u hierom wordt gevraagd, selecteert u het servertype: HTTP (HTTP- of Server Sent Events).

  3. Voer de server-URL van de MCP-server in API Management in. Bijvoorbeeld https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp voor het MCP-eindpunt.

  4. Voer een server-id van uw keuze in.

  5. Selecteer of u de configuratie wilt opslaan in uw werkruimte-instellingen of gebruikersinstellingen.

    • Werkruimte-instellingen : de serverconfiguratie wordt alleen opgeslagen in een .vscode/mcp.json bestand dat alleen beschikbaar is in de huidige werkruimte.

    • Gebruikersinstellingen : de serverconfiguratie wordt toegevoegd aan uw globale settings.json bestand en is beschikbaar in alle werkruimten. De configuratie ziet er ongeveer als volgt uit:

    Schermopname van MCP-servers die zijn geconfigureerd in Visual Studio Code.

Voeg velden toe aan de JSON-configuratie voor instellingen zoals verificatieheader. In het volgende voorbeeld ziet u de configuratie voor een API Management-sleutel die in een header als invoerwaarde is doorgegeven. Meer informatie over de configuratie-indeling

Schermopname van de configuratie van de verificatieheader voor een MCP-server

Hulpprogramma's gebruiken in agentmodus

Nadat u een MCP-server hebt toegevoegd in Visual Studio Code, kunt u hulpprogramma's gebruiken in de agentmodus.

  1. In GitHub Copilot-chat selecteert u de agentmodus en selecteert u de knop Extra om de beschikbare hulpprogramma's weer te geven.

    Schermopname van de knop Hulpmiddelen in chat.

  2. Selecteer een of meer hulpprogramma's van de MCP-server die beschikbaar zijn in de chat.

    Schermopname van het selecteren van hulpprogramma's in Visual Studio Code.

  3. Voer een prompt in de chat in om het hulpprogramma aan te roepen. Als u bijvoorbeeld een hulpprogramma hebt geselecteerd om informatie over een bestelling op te halen, kunt u de agent vragen om een order.

    Get information for order 2
    

    Selecteer Doorgaan om de resultaten weer te geven. De agent gebruikt het hulpprogramma om de MCP-server aan te roepen en retourneert de resultaten in de chat.

    Schermopname van chatresultaten in Visual Studio Code.

Probleemoplossing en veelvoorkomende problemen

Probleem Oorzaak Solution
401 Unauthorized fout van back-end Autorisatieheader niet doorgestuurd Gebruik zo nodig set-header beleidsregel om het token handmatig te koppelen
API-aanroep werkt in API Management, maar mislukt in agent Onjuiste basis-URL of ontbrekend token Beveiligingsbeleid en eindpunt controleren
STREAMING van MCP-server mislukt wanneer diagnostische logboeken zijn ingeschakeld Logboekregistratie van antwoordtekst of toegang tot antwoordbody via beleid interfereert met MCP-transport Logboekregistratie van antwoordtekst uitschakelen in het bereik Alle API's - zie Vereisten