Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP: Ontwikkelaar | Basic | Basic v2 | Standaard | Standard v2 | Premium | Premium v2
In dit artikel wordt beschreven hoe u API Management gebruikt om een bestaande MCP-server (Remote Model Context Protocol) beschikbaar te maken en te beheren: een hulpprogrammaserver die buiten API Management wordt gehost. Stel de hulpprogramma's van de server beschikbaar en beheer deze via API Management, zodat MCP-clients deze kunnen aanroepen met behulp van het MCP-protocol.
Voorbeeldscenario's zijn onder andere:
- Proxy LangChain - of LangServe-hulpprogrammaservers via API Management met verificatie per server en frequentielimieten.
- Azure Logic Apps-hulpprogramma's veilig beschikbaar maken voor copilots met behulp van IP-filtering en OAuth.
- Centraliseer MCP-serverhulpprogramma's van Azure Functions en opensource-runtimes in Azure API Center.
- Schakel GitHub Copilot, Claude by Antropic of ChatGPT in om veilig te communiceren met hulpprogramma's in uw hele onderneming.
API Management biedt ook ondersteuning voor MCP-servers die systeemeigen beschikbaar zijn in API Management vanuit beheerde REST API's. Zie Een REST API beschikbaar maken als een MCP-server voor meer informatie.
Meer informatie over:
Beperkingen
De externe MCP-server moet voldoen aan de MCP-versie
2025-06-18of hoger. De server kan het volgende ondersteunen:- Geen autorisatieprotocollen of autorisatieprotocollen die voldoen aan de volgende normen: https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#standards-compliance.
- Streambare HTTP- of SSE-transportprotocollen.
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.
Toegang tot een externe MCP-compatibele server (bijvoorbeeld gehost in Azure Logic Apps, Azure Functions, LangServe of andere platforms).
De juiste referenties voor de MCP-server (zoals OAuth 2.0-clientreferenties of API-sleutels, afhankelijk van de server) voor beveiligde toegang.
Als u diagnostische logboekregistratie via Application Insights of Azure Monitor inschakelt op globaal bereik (alle API's) voor uw API Management-exemplaar, stelt u de instelling voor het aantal bytes van de payload dat gelogd moet worden voor het front-endantwoord 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, gebruikt u Visual Studio Code met toegang tot GitHub Copilot of een hulpprogramma zoals MCP Inspector.
Een bestaande MCP-server beschikbaar maken
Volg deze stappen om een bestaande MCP-server beschikbaar te maken in API Management:
- Ga in Azure Portal naar uw API Management-exemplaar.
- Selecteer in het linkermenu, onder API's, MCP-servers>+ MCP-server maken.
- Selecteer Een bestaande MCP-server beschikbaar maken.
- In back-end MCP-server:
- Voer de bestaande BASIS-URL van de MCP-server in. Bijvoorbeeld
https://learn.microsoft.com/api/mcpvoor de Microsoft Learn MCP-server. - In Transporttype is Streamable HTTP standaard geselecteerd.
- Voer de bestaande BASIS-URL van de MCP-server in. Bijvoorbeeld
- In de nieuwe MCP-server:
- Voer een naam in voor de MCP-server in API Management.
- Voer in het basispad een routevoorvoegsel in voor hulpprogramma's. Bijvoorbeeld:
mytools. - Voer desgewenst een beschrijving in voor de MCP-server.
- Klik op Creëren.
- De MCP-server wordt gemaakt en de bewerkingen van de externe server worden weergegeven als hulpprogramma's.
- De MCP-server wordt weergegeven in het deelvenster MCP-servers . In de kolom Server-URL ziet u de URL van de MCP-server die moet worden aangeroepen voor testen of binnen een clienttoepassing.
Belangrijk
Op dit moment worden hulpprogramma's van de bestaande MCP-server niet weergegeven in API Management. U moet alle hulpprogramma's registreren en configureren op de bestaande externe MCP-server.
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:
- Beleid in API Management
- Uw API transformeren en beveiligen
- Beleid instellen en bewerken
- Beveiligde toegang tot MCP-server
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:
Ga in Azure Portal naar uw API Management-exemplaar.
Selecteer MCP-servers in het linkermenu onder API's.
Selecteer een MCP-server in de lijst.
Selecteer Beleid in het linkermenu onder MCP.
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>
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:
Gebruik de opdracht MCP: Server toevoegen vanuit het opdrachtpalet.
Wanneer u hierom wordt gevraagd, selecteert u het servertype: HTTP (HTTP- of Server Sent Events).
Voer de server-URL van de MCP-server in API Management in. Bijvoorbeeld
https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcpvoor het MCP-eindpunt.Voer een server-id van uw keuze in.
Selecteer of u de configuratie wilt opslaan in uw werkruimte-instellingen of gebruikersinstellingen.
Werkruimte-instellingen : de serverconfiguratie wordt alleen opgeslagen in een
.vscode/mcp.jsonbestand dat alleen beschikbaar is in de huidige werkruimte.Gebruikersinstellingen : de serverconfiguratie wordt toegevoegd aan uw globale
settings.jsonbestand en is beschikbaar in alle werkruimten. De configuratie ziet er ongeveer als volgt uit:
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
Hulpprogramma's gebruiken in agentmodus
Nadat u een MCP-server hebt toegevoegd in Visual Studio Code, kunt u hulpprogramma's gebruiken in de agentmodus.
In GitHub Copilot-chat selecteert u de agentmodus en selecteert u de knop Extra om de beschikbare hulpprogramma's weer te geven.
Selecteer een of meer hulpprogramma's van de MCP-server die beschikbaar zijn in de chat.
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 2Selecteer 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.
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 |
Verwante inhoud
Voorbeeld: MCP-serversautorisatie met metagegevens van beveiligde resources (PRM)
Voorbeeld: Externe MCP-servers beveiligen met behulp van Azure API Management (experimenteel)
De Azure API Management-extensie voor VS Code gebruiken om API's te importeren en beheren
Externe MCP-servers registreren en detecteren in Azure API Center
REST API beschikbaar maken in API Management als een MCP-server