Om MCP-servrar i Azure API Management

GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium | Premium v2

Den här artikeln beskriver funktioner i Azure API Management som du kan använda för att hantera MCP-servrar (Model Context Protocol). MCP-servrar tillåter att stora språkmodeller (LLM) och AI-agenter får åtkomst till externa datakällor, till exempel databaser eller API:er, via ett standardiserat protokoll.

Med spridningen av AI-agenter och LLM blir det allt viktigare att hantera MCP-servrar:

  • Agenter behöver säker, styrd åtkomst till verktyg och resurser.
  • Utvecklare vill återanvända befintliga API:er som agentverktyg.
  • Företag behöver observerbarhet, kontroll och skalning.

Använd API Management för att på ett säkert sätt exponera och styra MCP-servrar och deras serverdelar för LLM:er och AI-agenter som GitHub Copilot, ChatGPT, Claude med mera. API Management ger centraliserad kontroll över MCP-serverautentisering, auktorisering och övervakning. Det förenklar hanteringen av MCP-servrar samtidigt som det minskar vanliga säkerhetsrisker och säkerställer observerbarhet, kontroll och skalbarhet.

MCP-begrepp och -arkitektur

AI-agenter börjar bli allmänt antagna på grund av förbättrade LLM-funktioner. Men även de mest avancerade modellerna har begränsningar på grund av sin isolering från externa data. Varje ny datakälla kräver potentiellt anpassade implementeringar för att extrahera, förbereda och göra data tillgängliga för modellerna.

Protokollet för modellkontext hjälper till att lösa det här problemet. MCP är en öppen standard för att ansluta AI-modeller och agenter till externa datakällor som lokala datakällor (databaser eller datorfiler) eller fjärrtjänster (system som är tillgängliga via Internet, till exempel fjärrdatabaser eller API:er).

MCP följer en klient-server-arkitektur där ett värdprogram kan ansluta till flera servrar. När MCP-värden eller MCP-klienten behöver ett verktyg ansluter den till MCP-servern. MCP-servern ansluter sedan till till exempel en databas eller ett API. MCP-värdar och -servrar ansluter till varandra via MCP-protokollet.

Följande diagram illustrerar MCP-arkitekturen:

Diagram över MCP-arkitektur (Model Context Protocol).

Arkitekturen består av följande komponenter:

Komponent Beskrivning
MCP-värdar LLM-program som chattappar eller AI-assistenter i dina IDE:er (till exempel GitHub Copilot i Visual Studio Code) som behöver åtkomst till externa funktioner
MCP-klienter Protokollklienter i värdprogrammet som underhåller 1:1-anslutningar med servrar
MCP-servrar Lätta program som var och en exponerar specifika funktioner och ger kontext, verktyg och uppmaningar till klienter
MCP-protokoll Transportskikt i mitten

MCP-arkitekturen bygger på JSON-RPC 2.0 för meddelanden. Kommunikationen mellan klienter och servrar sker över definierade transportlager och stöder främst två driftslägen:

  • Fjärr-MCP-servrar – Kör som oberoende processer som är tillgängliga via Internet med HTTP-baserade transporter (till exempel Streamable HTTP), vilket gör att MCP-klienter kan ansluta till externa tjänster och API:er som finns var som helst.

  • Lokala MCP-servrar MCP-klienter använder standardindata/utdata som en lokal transportmetod för att ansluta till MCP-servrar på samma dator.

MCP-serverslutpunkter

MCP tillhandahåller följande transporttyper och vanliga slutpunkter för fjärrservrar:

Transporttyp Slutpunkter Noteringar
Strömmande HTTP /mcp Ersätter HTTP + SSE-transport
SSE (server-skickade händelser) /sse – Används för att upprätta SSE-anslutning

/messages – Används för dubbelriktade meddelanden mellan MCP-klient och server
Inaktuell från och med protokollversion 2024-11-05

Exponera MCP-servrar i API Management

Azure API Management stöder mcp-fjärrserverläget. Använd inbyggda funktioner i API Management och funktioner i AI-gatewayen för att hantera MCP-serverslutpunkter.

API Management tillhandahåller två inbyggda sätt att exponera MCP-servrar:

Källa Beskrivning
REST API som MCP-server Exponera rest-API som hanteras i API Management som en MCP-server, inklusive REST-API:er som importerats från Azure-resurser. API-åtgärder blir MCP-verktyg. Läs mer
Befintlig MCP-server Exponera en MCP-kompatibel server (till exempel LangChain, LangServe, Azure-logikapp, Azure-funktionsapp) via API Management. Läs mer

I de länkade artiklarna finns stegvisa instruktioner och begränsningar.

Styra MCP-servrar

Konfigurera en eller flera API Management-principer för att hantera MCP-servern. För närvarande gäller principer för alla API-åtgärder som exponeras som verktyg på MCP-servern. Använd principer för att styra åtkomst, autentisering och andra aspekter av verktygen.

Konfigurera principer som följande:

  • Hastighetsbegränsning och kvottillämpning – Begränsa antalet begäranden per tidsperiod till MCP-serverns verktyg och ange användningskvoter för klienter eller prenumerationer.
  • Autentisering och auktorisering – Kräv och verifiera inkommande begäranden med hjälp av JSON-webbtoken (JWT) som utfärdats av Microsoft Entra ID eller andra identitetsprovidrar för säker åtkomst.
  • IP-filtrering – Begränsa åtkomsten till MCP-serverns verktyg baserat på klientens IP-adresser.
  • Cachelagring – Cachelagra svar från MCP-serverns verktyg för att förbättra prestanda och minska serverdelsbelastningen.

Säker åtkomst till MCP-servern

Du kan skydda antingen eller båda inkommande åtkomsten till MCP-servern (från en MCP-klient till API Management) och utgående åtkomst (från API Management till MCP-serverdelen). Tillämpa en eller flera säkerhetsåtgärder, till exempel nyckelbaserad eller OAuth-autentisering, beroende på dina serverdelar och organisationens säkerhetsstatus.

Mer information och exempel finns i Säker åtkomst till MCP-servrar.

Övervakning

Om du vill övervaka MCP-servrar i Azure API Management använder du API Managements inbyggda integrering med Azure Monitor för gatewayaktivitet.

  • Konfigurera Azure Application Insights eller Azure Monitor för att samla in MCP-serverbegäranden, svar och detaljerad diagnostik.
  • Inkludera korrelations-ID:er i begärandehuvuden för att spåra begäranden mellan flera system och komponenter.
  • Konfigurera spårningsprinciper för dina MCP-servrar för att lägga till en anpassad spårning i begärandespårningsutdata i testkonsolen, Application Insights-telemetri eller resursloggar.

Mer information finns i Övervaka API Management.

Identifiera MCP-servrar

Använd Azure API Center för att registrera och identifiera MCP-servrar i din organisation.

  • Azure API Center tillhandahåller en central plats för hantering av MCP-servrar, inklusive servrar som exponeras i API Management och servrar som finns utanför API Management.

  • Distribuera API Center-portalen så att användarna kan identifiera och interagera med MCP-servrar via ett privat, företagsklart MCP-serverregister.

Tillgänglighet

MCP-serverhanteringsfunktioner är tillgängliga på följande API Management-tjänstnivåer:

  • Klassiska nivåer: Developer, Basic, Standard, Premium
  • v2-nivåer: Basic v2, Standard v2, Premium v2

Du kan också använda den lokala API Management-gatewayen för att hantera MCP-servrar i din egen infrastruktur.

Anmärkning

  • API Management stöder för närvarande MCP-serververktyg, men stöder inte MCP-resurser eller uppmaningar.
  • API Management MCP-serverfunktioner stöds för närvarande inte på arbetsytor.

Du kan få tidig tillgång till nya funktioner och kapaciteter för MCP-server och AI-gateway via AI Gateway-lanseringskanalen. Med den här åtkomsten kan du prova de senaste ai-gatewayinnovationerna innan de är allmänt tillgängliga och ge feedback för att forma produkten. Mer information finns i Konfigurera tjänstuppdateringsinställningar för dina API Management-instanser.