Megosztás a következőn keresztül:


Meglévő MCP-kiszolgáló felfedése és szabályozása

A KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapcsomag | Alapcsomag v2 | Standard | Standard v2 | Prémium | Prémium v2

Ez a cikk bemutatja, hogyan használható az API Management egy meglévő távoli Model Context Protocol-kiszolgáló (MCP) – az API Managementen kívül üzemeltetett eszközkiszolgáló – elérhetővé tételére és szabályozására. Tegye elérhetővé és vezérelje a kiszolgáló eszközeit az API Managementen keresztül, hogy az MCP-ügyfelek az MCP protokoll használatával hívhassák meg őket.

Néhány példaforgatókönyv:

  • Proxy LangChain vagy LangServe eszközkiszolgálók az API Managementen keresztül kiszolgálónkénti hitelesítéssel és sebességkorlátokkal.
  • Az Azure Logic Apps-alapú eszközök biztonságosan elérhetővé tehetők a társpilóták számára AZ IP-szűrés és az OAuth használatával.
  • Központosítsa az MCP-kiszolgálóeszközöket az Azure Functionsből és a nyílt forráskódú futtatókörnyezetekből az Azure API Centerbe.
  • Engedélyezze a GitHub Copilot, Claude by Anthropic vagy ChatGPT használatát, hogy biztonságosan működjön együtt a vállalat eszközeivel.

Az API Management támogatja az API Managementben natív módon közzétett MCP-kiszolgálókat is a felügyelt REST API-kból. További információt a REST API-k MCP-kiszolgálóként való megjelenítése című témakörben talál.

Tudjon meg többet:

Korlátozások

  • A külső MCP-kiszolgálónak meg kell felelnie az MCP vagy újabb verziójának 2025-06-18 . A kiszolgáló az alábbiakat támogatja:

  • Az API Management jelenleg az MCP-kiszolgálóeszközöket támogatja, de nem támogatja az MCP-erőforrásokat és a kéréseket.

  • Az API Management jelenleg nem támogatja az MCP-kiszolgáló képességeit a munkaterületeken.

Előfeltételek

  • Ha még nem rendelkezik API Management-példánysal, végezze el az alábbi rövid útmutatót: Azure API Management-példány létrehozása. A példánynak az MCP-kiszolgálókat támogató szolgáltatási szintek egyikében kell lennie.

  • Hozzáférés külső MCP-kompatibilis kiszolgálóhoz (például az Azure Logic Appsben, az Azure Functionsben, a LangServe-ben vagy más platformokon).

  • Az MCP-kiszolgáló megfelelő hitelesítő adatai (például az OAuth 2.0 ügyfél hitelesítő adatai vagy api-kulcsok a kiszolgálótól függően) a biztonságos hozzáférés érdekében.

  • Ha az API Management-példány globális hatókörében (az összes API-ban) engedélyezi a diagnosztikai naplózást az Application Insights vagy az Azure Monitor használatával, állítsa be a hasznos adat bájtjainak számát a Frontend Response naplózási beállításához 0 értékre. Ez a beállítás megakadályozza a választestek nem szándékos naplózását az összes API-ban, és segít biztosítani az MCP-kiszolgálók megfelelő működését. Az API-k speciális célú terhei szelektív naplózásához konfigurálja a beállítást külön-külön az API-hatókörben, így irányítottan kezelheti a válasznaplózást.

  • Az MCP-kiszolgáló teszteléséhez használja a Visual Studio Code-ot a GitHub Copilothoz vagy egy olyan eszközhöz, mint az MCP Inspector.

Meglévő MCP-kiszolgáló felfedése

Az alábbi lépéseket követve közzétehet egy meglévő MCP-kiszolgálót az API Managementben:

  1. Az Azure Portalon nyissa meg az API Management-példányt.
  2. A bal oldali menü API-k területén válassza az MCP-kiszolgálók>+ MCP-kiszolgáló létrehozása lehetőséget.
  3. Válassza a Meglévő MCP-kiszolgáló felfedése lehetőséget.
  4. Háttér MCP-kiszolgálón:
    1. Adja meg a meglévő MCP-kiszolgáló alap URL-címét. Például https://learn.microsoft.com/api/mcp a Microsoft Learn MCP-kiszolgálóhoz.
    2. Átviteli típus esetén alapértelmezés szerint a streamelhető HTTP van kiválasztva.
  5. Új MCP-kiszolgálón:
    1. Adja meg az MCP-kiszolgáló nevét az API Managementben.
    2. Az Alap elérési úton adjon meg egy útvonalelőtagot az eszközökhöz. Például: mytools.
    3. Szükség esetén adja meg az MCP-kiszolgáló leírását .
  6. Válassza a Create gombot.

Képernyőkép egy MCP-kiszolgáló portálon való létrehozásáról.

  • Létrejön az MCP-kiszolgáló, és a távoli kiszolgáló műveletei eszközként jelennek meg.
  • Az MCP-kiszolgáló megjelenik az MCP-kiszolgálók panelen. A Kiszolgáló URL-címe oszlopban az MCP-kiszolgáló tesztelésre vagy ügyfélalkalmazáson belüli meghívására szolgáló URL-cím látható.

Képernyőkép a portál MCP-kiszolgálólistájáról.

Fontos

Az API Management jelenleg nem jeleníti meg a meglévő MCP-kiszolgáló eszközeit. Regisztrálnia és konfigurálnia kell az összes eszközt a meglévő távoli MCP-kiszolgálón.

Szabályzatok konfigurálása az MCP-kiszolgálóhoz

Konfiguráljon egy vagy több API Management-házirendet az MCP-kiszolgáló kezeléséhez. A szabályzatok az MCP-kiszolgálón eszközként közzétett összes API-műveletre vonatkoznak. Ezekkel a szabályzatokkal szabályozhatja az eszközök hozzáférését, hitelesítését és egyéb aspektusait.

További információ a szabályzatok konfigurálásáról:

Figyelmeztetés

Ne érje el a válasz törzsét MCP-kiszolgáló-szabályzatokban az context.Response.Body változó használatával. Ez aktiválja a válaszpufferezést, ami zavarja az MCP-kiszolgálók által megkövetelt streamelési viselkedést, és működésképtelenné teheti őket.

Az MCP-kiszolgáló házirendjeinek konfigurálásához kövesse az alábbi lépéseket:

  1. Az Azure Portalon nyissa meg az API Management-példányt.

  2. A bal oldali menü API-k területén válassza az MCP-kiszolgálók lehetőséget.

  3. Válasszon ki egy MCP-kiszolgálót a listából.

  4. A bal oldali menü MCP területén válassza a Szabályzatok lehetőséget.

  5. A szabályzatszerkesztőben adja hozzá vagy szerkessze az MCP-kiszolgáló eszközeire alkalmazni kívánt szabályzatokat. Definiálja a szabályzatokat XML formátumban.

    Hozzáadhat például egy szabályzatot, amely korlátozza az MCP-kiszolgáló eszközeire irányuló hívásokat (ebben a példában mcp-munkamenetenként 60 másodpercenként egy hívás).

    <!-- 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>
    

    Az MCP-kiszolgáló házirendszerkesztőjének képernyőképe.

Megjegyzés:

Az API Management kiértékeli a globális (minden API)-hatókörben konfigurált szabályzatokat, mielőtt kiértékeli a szabályzatokat az MCP-kiszolgáló hatókörében.

Az MCP-kiszolgáló ellenőrzése és használata

Az API Management által üzemeltetett MCP-végpont meghívásához használjon megfelelő LLM-ügynököt (például GitHub Copilot, Szemantic Kernel vagy Copilot Studio) vagy egy tesztügyfélt (például curl) az API Management által üzemeltetett MCP-végpont meghívásához. Győződjön meg arról, hogy a kérés tartalmaz megfelelő fejléceket vagy jogkivonatokat, és erősítse meg az MCP-kiszolgáló sikeres útválasztását és válaszát.

Jótanács

Ha az MCP Inspector használatával tesztel egy API Management által felügyelt MCP-kiszolgálót, használja a 0.9.0-s verziót.

Az MCP-kiszolgáló hozzáadása a Visual Studio Code-ban

A Visual Studio Code-ban a GitHub Copilot-csevegés ügynök módban való használatával adja hozzá az MCP-kiszolgálót, és használja az eszközöket. A Visual Studio Code MCP-kiszolgálóinak hátteréről az MCP-kiszolgálók használata a VS Code-ban című témakörben olvashat.

Az MCP-kiszolgáló hozzáadása a Visual Studio Code-ban:

  1. Használja az MCP: Kiszolgáló hozzáadása parancsot a parancskatalógusból.

  2. Amikor a rendszer kéri, válassza ki a kiszolgáló típusát: HTTP (HTTP vagy kiszolgáló által küldött események).

  3. Adja meg az MCP-kiszolgáló kiszolgálói URL-címét az API Managementben. Például https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp az MCP-végpont esetében.

  4. Adjon meg egy tetszőleges kiszolgálóazonosítót .

  5. Adja meg, hogy a konfigurációt a munkaterület beállításaiba vagy a felhasználói beállításokba szeretné-e menteni.

    • Munkaterület beállításai – A kiszolgáló konfigurációja csak az aktuális munkaterületen elérhető fájlba lesz mentve .vscode/mcp.json .

    • Felhasználói beállítások – A kiszolgáló konfigurációja hozzáadódik a globális settings.json fájlhoz, és minden munkaterületen elérhető. A konfiguráció a következőhöz hasonlóan néz ki:

    Képernyőkép a Visual Studio Code-ban konfigurált MCP-kiszolgálókról.

Mezők hozzáadása a JSON-konfigurációhoz olyan beállításokhoz, mint a hitelesítési fejléc. Az alábbi példa egy fejlécben átadott API Management-előfizetési kulcs konfigurációját mutatja be a bemeneti értékhez hasonlóan. További információ a konfigurációs formátumról

Képernyőkép egy MCP-kiszolgáló hitelesítési fejléckonfigurációjáról

Eszközök használata ügynök módban

Miután hozzáadott egy MCP-kiszolgálót a Visual Studio Code-ban, az eszközöket ügynök módban használhatja.

  1. A GitHub Copilot-csevegésben válassza az Ügynök módot, majd az Eszközök gombot az elérhető eszközök megtekintéséhez.

    Képernyőkép az Eszközök gombról a csevegésben.

  2. Válasszon ki egy vagy több eszközt az MCP-kiszolgálóról, hogy elérhető legyen a csevegésben.

    Képernyőkép a Visual Studio Code eszközeinek kiválasztásáról.

  3. Adjon meg egy üzenetet a csevegésben az eszköz meghívásához. Ha például kiválasztott egy eszközt a rendeléssel kapcsolatos információk lekéréséhez, kérdezze meg az ügynököt egy megrendelésről.

    Get information for order 2
    

    Az eredmények megtekintéséhez kattintson a Folytatás gombra. Az ügynök az eszköz használatával hívja meg az MCP-kiszolgálót, és visszaadja az eredményeket a csevegésben.

    Képernyőkép a Visual Studio Code csevegési eredményeiről.

Hibaelhárítás és ismert problémák

Probléma Oka Megoldás
401 Unauthorized hiba a háttérrendszerből Az engedélyezési fejléc nem továbbítva Ha szükséges, a set-header szabály használatával manuálisan csatolja a tokent.
Az API-hívás az API Managementben működik, de az ügynökben meghiúsul Helytelen alap URL-cím vagy hiányzó jogkivonat Biztonsági szabályzatok és végpontok dupla ellenőrzése
Az MCP-kiszolgáló streamelése meghiúsul, ha a diagnosztikai naplók engedélyezve vannak A válasz törzsének naplózása vagy a válasz törzsének elérése szabályzaton keresztül zavarja az MCP-átvitelt Választörzs naplózásának letiltása a Minden API-hatókörben – lásd : Előfeltételek