Azure API Management är en tjänst som tillhandahåller en gateway ovanpå dina API-slutpunkter. Den fungerar som en proxy framför dina API:er och kan bestämma vad som ska göras med inkommande förfrågningar.
Genom att använda den får du tillgång till en mängd funktioner som:
- Säkerhet, du kan använda allt från API-nycklar och JWT till hanterad identitet.
- Hastighetsbegränsning, en fantastisk funktion som låter dig bestämma hur många anrop som får göras under en viss tidsenhet. Detta hjälper till att säkerställa att alla användare får en bra upplevelse och att din tjänst inte överbelastas med förfrågningar.
- Skalning och lastbalansering. Du kan konfigurera flera slutpunkter för att balansera belastningen och även bestämma hur "lastbalanseringen" ska ske.
- AI-funktioner som semantisk caching, tokenbegränsning och tokenövervakning med mera. Dessa är utmärkta funktioner som förbättrar responsiviteten och hjälper dig att hålla koll på din tokenanvändning. Läs mer här.
Model Context Protocol blir snabbt en standard för agentiska AI-appar och hur man exponerar verktyg och data på ett konsekvent sätt. Azure API Management är ett naturligt val när du behöver "hantera" API:er. MCP-servrar integreras ofta med andra API:er för att lösa förfrågningar till exempelvis ett verktyg. Därför är det logiskt att kombinera Azure API Management och MCP.
I detta specifika användningsfall kommer vi att lära oss att exponera API-slutpunkter som en MCP-server. Genom att göra detta kan vi enkelt göra dessa slutpunkter till en del av en agentisk app samtidigt som vi drar nytta av funktionerna i Azure API Management.
- Du väljer vilka slutpunktsmetoder som ska exponeras som verktyg.
- De ytterligare funktioner du får beror på vad du konfigurerar i policydelen för ditt API. Här kommer vi att visa hur du kan lägga till hastighetsbegränsning.
Om du redan har ett API i Azure API Management är det bra, då kan du hoppa över detta steg. Om inte, kolla in denna länk: importera ett API till Azure API Management.
För att exponera API-slutpunkterna, följ dessa steg:
-
Gå till Azure-portalen och följande adress https://portal.azure.com/?Microsoft_Azure_ApiManagement=mcp. Navigera till din API Management-instans.
-
I vänstermenyn, välj APIs > MCP Servers > + Create new MCP Server.
-
Under API, välj ett REST API att exponera som en MCP-server.
-
Välj en eller flera API-operationer att exponera som verktyg. Du kan välja alla operationer eller endast specifika.
-
Välj Create.
-
Navigera till menyalternativet APIs och MCP Servers, du bör se följande:
MCP-servern är skapad och API-operationerna är exponerade som verktyg. MCP-servern listas i MCP Servers-panelen. Kolumnen URL visar slutpunkten för MCP-servern som du kan anropa för testning eller inom en klientapplikation.
Azure API Management har ett kärnkoncept som kallas policies där du ställer in olika regler för dina slutpunkter, som exempelvis hastighetsbegränsning eller semantisk caching. Dessa policies skrivs i XML.
Så här ställer du in en policy för att begränsa hastigheten på din MCP-server:
-
I portalen, under APIs, välj MCP Servers.
-
Välj den MCP-server du skapade.
-
I vänstermenyn, under MCP, välj Policies.
-
I policyredigeraren, lägg till eller redigera de policies du vill tillämpa på MCP-serverns verktyg. Policies definieras i XML-format. Till exempel kan du lägga till en policy för att begränsa anrop till MCP-serverns verktyg (i detta exempel, 5 anrop per 30 sekunder per klient-IP-adress). Här är XML som orsakar hastighetsbegränsning:
<rate-limit-by-key calls="5" renewal-period="30" counter-key="@(context.Request.IpAddress)" remaining-calls-variable-name="remainingCallsPerIP" />
Här är en bild av policyredigeraren:
Låt oss säkerställa att vår MCP-server fungerar som avsett.
För detta kommer vi att använda Visual Studio Code och GitHub Copilot i dess Agent-läge. Vi kommer att lägga till MCP-servern i en mcp.json-fil. Genom att göra detta kommer Visual Studio Code att fungera som en klient med agentiska funktioner, och slutanvändare kommer att kunna skriva en prompt och interagera med servern.
Så här lägger du till MCP-servern i Visual Studio Code:
-
Använd kommandot MCP: Add Server från kommandopaletten.
-
När du blir ombedd, välj servertyp: HTTP (HTTP eller Server Sent Events).
-
Ange URL:en för MCP-servern i API Management. Exempel: https://.azure-api.net/-mcp/sse (för SSE-slutpunkt) eller https://.azure-api.net/-mcp/mcp (för MCP-slutpunkt), notera skillnaden mellan transporterna
/sseeller/mcp. -
Ange ett server-ID efter eget val. Detta är inte ett viktigt värde men hjälper dig att komma ihåg vad denna serverinstans är.
-
Välj om du vill spara konfigurationen till dina arbetsytainställningar eller användarinställningar.
-
Arbetsytainställningar - Serverkonfigurationen sparas i en .vscode/mcp.json-fil som endast är tillgänglig i den aktuella arbetsytan.
mcp.json
"servers": { "APIM petstore" : { "type": "sse", "url": "url-to-mcp-server/sse" } }
eller om du väljer streaming HTTP som transport ser det något annorlunda ut:
"servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp" } }
-
Användarinställningar - Serverkonfigurationen läggs till i din globala settings.json-fil och är tillgänglig i alla arbetsytor. Konfigurationen ser ut så här:
-
Du behöver också lägga till en konfiguration, en header för att säkerställa att autentisering sker korrekt mot Azure API Management. Den använder en header som heter Ocp-Apim-Subscription-Key.
- Så här kan du lägga till den i inställningarna:
, detta kommer att visa en prompt som ber dig ange API-nyckelvärdet som du hittar i Azure-portalen för din Azure API Management-instans.
- För att lägga till den i mcp.json istället, kan du lägga till den så här:
"inputs": [ { "type": "promptString", "id": "apim_key", "description": "API Key for Azure API Management", "password": true } ] "servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp", "headers": { "Ocp-Apim-Subscription-Key": "Bearer ${input:apim_key}" } } }
Nu är vi redo, antingen i inställningarna eller i .vscode/mcp.json. Låt oss testa.
Det bör finnas en verktygsikon där de exponerade verktygen från din server listas:
-
Klicka på verktygsikonen och du bör se en lista med verktyg som så här:
-
Ange en prompt i chatten för att anropa verktyget. Till exempel, om du valde ett verktyg för att hämta information om en order, kan du fråga agenten om en order. Här är ett exempel på en prompt:
get information from order 2Du kommer nu att presenteras med en verktygsikon som ber dig fortsätta att anropa ett verktyg. Välj att fortsätta köra verktyget, och du bör nu se ett resultat som så här:
Vad du ser ovan beror på vilka verktyg du har konfigurerat, men tanken är att du får ett textbaserat svar som ovan.
Här kan du lära dig mer:
-
Python-exempel: Säkerställ fjärr-MCP-servrar med Azure API Management (experimentellt)
-
Använd Azure API Management-tillägget för VS Code för att importera och hantera API:er
-
AI Gateway Fantastiskt repo som visar många AI-funktioner med Azure API Management
-
AI Gateway-workshops Innehåller workshops med Azure-portalen, vilket är ett utmärkt sätt att börja utvärdera AI-funktioner.
Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.







