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


REST API elérhetővé helyezése AZ API Managementben MCP-kiszolgálóként

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

Az API Managementben az API Managementben felügyelt REST API-t távoli Modellkörnyezeti protokoll (MCP) kiszolgálóként teheti elérhetővé a beépített AI-átjáró használatával. Tegye elérhetővé egy vagy több API-műveletet olyan eszközként, amelyet az MCP-ügyfelek az MCP protokoll használatával hívhatnak meg.

Az Azure API Management támogatja a meglévő MCP-kompatibilis kiszolgálókkal való biztonságos integrációt is – az API Managementen kívül üzemeltetett eszközkiszolgálókkal. További információ: Meglévő MCP-kiszolgáló felfedése.

Tudjon meg többet:

Korlátozások

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

  • Győződjön meg arról, hogy a példány egy HTTP-kompatibilis API-t (rest API-ként importált API-kat, beleértve az Azure-erőforrásokból importált API-kat) kezel, amelyet MCP-kiszolgálóként szeretne elérhetővé tenni. Minta API importálásához tekintse meg az első API importálását és közzétételét.

    Megjegyzés:

    Az API Management más, NEM HTTP-kompatibilis API-típusai nem hozhatók nyilvánosságra MCP-kiszolgálóként.

  • Ha az API Management szolgáltatáspéldány globális hatókörében (az összes API-n) engedélyezi a diagnosztikai naplózást az Application Insights vagy az Azure Monitor használatával, állítsa 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álhatja a Visual Studio Code-ot a GitHub Copilothoz vagy az olyan eszközökhöz, mint az MCP Inspector.

API elérhetővé helyezése MCP-kiszolgálóként

Kövesse az alábbi lépéseket egy felügyelt REST API mcp-kiszolgálóként való elérhetővé ásához 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 az API-k felfedése MCP-kiszolgálóként lehetőséget.
  4. Háttér MCP-kiszolgálón:
    1. Válasszon ki egy felügyelt API-t , amely MCP-kiszolgálóként lesz közzétéve.
    2. Válasszon ki egy vagy több API-műveletet eszközként való elérhetővé tenni. Kiválaszthatja az összes műveletet, vagy csak bizonyos műveleteket.

      Megjegyzés:

      Az MCP-kiszolgáló Eszközök paneljén később frissítheti az eszközként közzétett műveleteket.

  5. Új MCP-kiszolgálón:
    1. Adja meg az MCP-kiszolgáló nevét az API Managementben.
    2. 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 az API-műveletek eszközként jelennek meg.
  • Az MCP-kiszolgáló megjelenik az MCP-kiszolgálók panelen. A Kiszolgáló URL-címe oszlop az MCP-kiszolgáló tesztelésre vagy ügyfélalkalmazáson belüli hívásának végpontját jeleníti meg.

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

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