Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Den här artikeln visar hur du använder API Management för att exponera och styra en befintlig MCP-server (Remote Model Context Protocol) – en verktygsserver som finns utanför API Management. Exponera och styra serverns verktyg via API Management så att MCP-klienter kan anropa dem med hjälp av MCP-protokollet.
Några exempelscenarier omfattar:
- Proxy-LangChain- eller LangServe-verktygsservrar via API Management med autentisering per server och hastighetsbegränsningar.
- Exponera säkert verktyg baserade på Azure Logic Apps för co-piloter med hjälp av IP-filtrering och OAuth.
- Centralisera MCP-serververktyg från Azure Functions och körning med öppen källkod till Azure API Center.
- Aktivera GitHub Copilot, Claude by Anthropic eller ChatGPT för att interagera säkert med verktyg i hela företaget.
API Management har också stöd för MCP-servrar som är internt exponerade i API Management från hanterade REST-API:er. Mer information finns i Exponera ett REST API som en MCP-server.
Läs mer om:
Begränsningar
Den externa MCP-servern måste överensstämma med MCP-versionen
2025-06-18eller senare. Servern kan stödja:- Antingen inga auktoriserings- eller auktoriseringsprotokoll som uppfyller följande standarder: https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#standards-compliance.
- Strömmande HTTP- eller SSE-transporttyper.
API Management stöder för närvarande MCP-serververktyg, men det stöder inte MCP-resurser eller uppmaningar.
API Management stöder för närvarande inte MCP-serverfunktioner på arbetsytor.
Förutsättningar
Om du inte redan har en API Management-instans slutför du följande snabbstart: Skapa en Azure API Management-instans. Instansen måste finnas på någon av de tjänstnivåer som stöder MCP-servrar.
Åtkomst till en extern MCP-kompatibel server (till exempel i Azure Logic Apps, Azure Functions, LangServe eller andra plattformar).
Lämpliga autentiseringsuppgifter till MCP-servern (till exempel OAuth 2.0-klientautentiseringsuppgifter eller API-nycklar, beroende på servern) för säker åtkomst.
Om du aktiverar diagnostikloggning via Application Insights eller Azure Monitor i det globala omfånget (alla API:er) för din API Management-instans, anger du inställningen Antal nyttolastbyte att logga för Frontend-svar till 0. Den här inställningen förhindrar oavsiktlig loggning av svarskroppar i alla API:er och säkerställer att MCP-servrar fungerar korrekt. Om du vill logga nyttolaster selektivt för specifika API:er konfigurerar du inställningen individuellt i API-omfånget, vilket ger riktad kontroll över svarsloggning.
Om du vill testa MCP-servern använder du Visual Studio Code med åtkomst till GitHub Copilot eller ett verktyg som MCP Inspector.
Exponera en befintlig MCP-server
Följ dessa steg för att exponera en befintlig MCP-server i API Management:
- I Azure-portalen går du till din API Management-instans.
- I den vänstra menyn går du till API:er och väljer MCP-servrar>+ Skapa MCP-server.
- Välj Exponera en befintlig MCP-server.
- I Serverdelens MCP-server:
- Ange den befintliga BAS-URL:en för MCP-servern. Till exempel
https://learn.microsoft.com/api/mcpför Microsoft Learn MCP-servern. - I Transporttyp är Streamable HTTP valt som standard.
- Ange den befintliga BAS-URL:en för MCP-servern. Till exempel
- I Ny MCP-server:
- Ange ett namn för MCP-servern i API Management.
- I Bassökväg anger du ett vägprefix för verktyg. Till exempel
mytools. - Du kan också ange en beskrivning för MCP-servern.
- Välj Skapa.
- MCP-servern skapas och fjärrserverns åtgärder exponeras som verktyg.
- MCP-servern visas i fönstret MCP-servrar . Kolumnen Server-URL visar DEN MCP-server-URL som ska anropas för testning eller i ett klientprogram.
Viktigt!
API Management visar för närvarande inte verktyg från den befintliga MCP-servern. Du måste registrera och konfigurera alla verktyg på den befintliga fjärr-MCP-servern.
Konfigurera principer för MCP-servern
Konfigurera en eller flera API Management-principer för att hantera MCP-servern. Principerna gäller för alla API-åtgärder som exponeras som verktyg på MCP-servern. Använd dessa principer för att styra åtkomst, autentisering och andra aspekter av verktygen.
Läs mer om att konfigurera principer:
- Policys i API-hantering
- Transformera och skydda ditt API
- Ange och redigera principer
- Säker åtkomst till MCP-server
Försiktighet
Kom inte åt svarstexten med hjälp av variabeln context.Response.Body i MCP-serverprinciper. Detta utlöser svarsbuffertning, vilket stör strömningsbeteendet som krävs av MCP-servrar och kan orsaka fel.
Följ dessa steg för att konfigurera principer för MCP-servern:
I Azure-portalen går du till din API Management-instans.
I den vänstra menyn går du till API:er och väljer MCP-servrar.
Välj en MCP-server i listan.
I den vänstra menyn, under MCP, väljer du Policys.
I principredigeraren lägger du till eller redigerar de principer som du vill tillämpa på MCP-serverns verktyg. Definiera principerna i XML-format.
Du kan till exempel lägga till en princip för att begränsa anrop till MCP-serverns verktyg (i det här exemplet ett anrop per 60 sekunder per MCP-session).
<!-- 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>
Anmärkning
API Management utvärderar principer som konfigurerats i det globala omfånget (alla API:er) innan principer utvärderas i MCP-serveromfånget.
Verifiera och använda MCP-servern
Använd en kompatibel LLM-agent (till exempel GitHub Copilot, Semantic Kernel eller Copilot Studio) eller en testklient (till exempel curl) för att anropa DEN API Management-värdbaserade MCP-slutpunkten. Se till att begäran innehåller lämpliga huvuden eller token och bekräfta lyckad routning och svar från MCP-servern.
Tips/Råd
Om du använder MCP Inspector för att testa en MCP-server som hanteras av API Management använder du version 0.9.0.
Lägg till MCP-servern i Visual Studio Code
I Visual Studio Code använder du GitHub Copilot-chatt i agentläge för att lägga till MCP-servern och använda verktygen. Bakgrund om MCP-servrar i Visual Studio Code finns i Använda MCP-servrar i VS Code.
Så här lägger du till MCP-servern i Visual Studio Code:
Använd MCP: Lägg till serverkommando från kommandopaletten.
När du uppmanas till det väljer du servertypen: HTTP (HTTP eller Server Skickade händelser).
Ange SERVER-URL:en för MCP-servern i API Management. Till exempel
https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcpför MCP-slutpunkten.Ange ett valfritt server-ID .
Välj om du vill spara konfigurationen i dina arbetsyteinställningar eller användarinställningar.
Inställningar för arbetsyta – Serverkonfigurationen sparas i en
.vscode/mcp.jsonfil som endast är tillgänglig på den aktuella arbetsytan.Användarinställningar – Serverkonfigurationen läggs till i den globala
settings.jsonfilen och är tillgänglig på alla arbetsytor. Konfigurationen ser ut ungefär så här:
Lägg till fält i JSON-konfigurationen för inställningar, såsom autentiseringsheader. I följande exempel visas konfigurationen för en API Management-prenumerationsnyckel som skickas in i en header som ett indatavärde. Läs mer om konfigurationsformatet
Använda verktyg i agentläge
När du har lagt till en MCP-server i Visual Studio Code kan du använda verktyg i agentläge.
I GitHub Copilot-chatten väljer du Agentläge och väljer knappen Verktyg för att se tillgängliga verktyg.
Välj ett eller flera verktyg från MCP-servern som ska vara tillgängliga i chatten.
Ange en uppmaning i chatten för att anropa verktyget. Om du till exempel har valt ett verktyg för att hämta information om en beställning kan du fråga agenten om en beställning.
Get information for order 2Välj Fortsätt för att se resultatet. Agenten använder verktyget för att anropa MCP-servern och returnerar resultatet i chatten.
Felsökning och kända problem
| Problem | Orsak | Lösning |
|---|---|---|
401 Unauthorized fel från serverdelen |
Auktoriseringsrubriken vidarebefordras inte | Om det behövs använder du set-header principen för att manuellt bifoga token |
| API-anrop fungerar i API Management men misslyckas i agenten | Felaktig bas-URL eller token saknas | Dubbelkolla säkerhetsprinciper och slutpunkter |
| MCP-serverströmning misslyckas när diagnostikloggar är aktiverade | Loggning av svarstext eller åtkomst till svarstext via principen stör MCP-transport | Inaktivera loggning av svarstexter i omfånget Alla API:er – se Krav |
Relaterat innehåll
Exempel: MCP-serverauktorisering med skyddade resursmetadata (PRM)
Exempel: Skydda fjärr-MCP-servrar med Hjälp av Azure API Management (experimentell)
Använda Azure API Management-tillägget för VS Code för att importera och hantera API:er
Registrera och identifiera fjärranslutna MCP-servrar i Azure API Center