Exponera och styra en befintlig MCP-server

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-18 eller senare. Servern kan stödja:

  • 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:

  1. I Azure-portalen går du till din API Management-instans.
  2. I den vänstra menyn går du till API:er och väljer MCP-servrar>+ Skapa MCP-server.
  3. Välj Exponera en befintlig MCP-server.
  4. I Serverdelens MCP-server:
    1. Ange den befintliga BAS-URL:en för MCP-servern. Till exempel https://learn.microsoft.com/api/mcp för Microsoft Learn MCP-servern.
    2. I Transporttyp är Streamable HTTP valt som standard.
  5. I Ny MCP-server:
    1. Ange ett namn för MCP-servern i API Management.
    2. I Bassökväg anger du ett vägprefix för verktyg. Till exempel mytools.
    3. Du kan också ange en beskrivning för MCP-servern.
  6. Välj Skapa.

Skärmbild av hur du skapar en MCP-server i portalen.

  • 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.

Skärmbild av MCP-serverlistan i portalen.

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:

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:

  1. I Azure-portalen går du till din API Management-instans.

  2. I den vänstra menyn går du till API:er och väljer MCP-servrar.

  3. Välj en MCP-server i listan.

  4. I den vänstra menyn, under MCP, väljer du Policys.

  5. 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>
    

    Skärmbild av principredigeraren för en MCP-server.

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:

  1. Använd MCP: Lägg till serverkommando från kommandopaletten.

  2. När du uppmanas till det väljer du servertypen: HTTP (HTTP eller Server Skickade händelser).

  3. Ange SERVER-URL:en för MCP-servern i API Management. Till exempel https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp för MCP-slutpunkten.

  4. Ange ett valfritt server-ID .

  5. 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.json fil som endast är tillgänglig på den aktuella arbetsytan.

    • Användarinställningar – Serverkonfigurationen läggs till i den globala settings.json filen och är tillgänglig på alla arbetsytor. Konfigurationen ser ut ungefär så här:

    Skärmbild av MCP-servrar som konfigurerats i Visual Studio Code.

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

Skärmbild av konfiguration av autentiseringshuvud för en MCP-server

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.

  1. I GitHub Copilot-chatten väljer du Agentläge och väljer knappen Verktyg för att se tillgängliga verktyg.

    Skärmbild av knappen Verktyg i chatten.

  2. Välj ett eller flera verktyg från MCP-servern som ska vara tillgängliga i chatten.

    Skärmbild av val av verktyg i Visual Studio Code.

  3. 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 2
    

    Välj Fortsätt för att se resultatet. Agenten använder verktyget för att anropa MCP-servern och returnerar resultatet i chatten.

    Skärmbild av chattresultat i Visual Studio Code.

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