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.

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ó megjelenítése.

Tudjon meg többet:

Korlátozások

  • A felügyelt REST API-kból az API Managementben közzétett MCP-kiszolgálók esetében 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 a következő rövid útmutatót: A 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 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 engedélyezi a diagnosztikai naplózást az Application Insights vagy az Azure Monitor segítségével az API Management szolgáltatáspéldány globális hatókörében (az összes API-n), akkor állítsa a Frontend Response naplózandó hasznos adat bájtok számát 0-ra. 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 a Visual Studio Code-ot használhatja a GitHub Copilot, más MCP-ügyfeleket vagy eszközöket, például hozzáférhet az MCP Inspectorhoz.

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. A Azure portálon lépjen az API Management-példányra.
  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 API közzététele MCP-kiszolgálóként lehetőséget.
  4. A háttér MCP szerveren:
    1. Válasszon ki egy felügyelt API-t vagy API-verzió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özökként elérhetővé tott műveleteket.

  5. Új MCP-kiszolgálón:
    1. Adja meg az MCP-kiszolgáló megjelenítendő nevét és nevét az API Managementben.
    2. Szükség esetén adja meg az MCP-kiszolgáló leírását .
  6. A Termékek területen válasszon ki egy vagy több terméket az MCP-kiszolgálóhoz társítani. Az MCP-kiszolgáló termékkel való társításával kezelheti az MCP-kiszolgáló hozzáférését és előfizetéseit ezen a terméken keresztül.
  7. Válassza a Create gombot.

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

  • A portál létrehozza az MCP-kiszolgálót, és eszközként teszi elérhetővé az API-műveleteket.
  • Az MCP-kiszolgálók panel az új MCP-kiszolgálót sorolja fel. 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. A Azure portálon lépjen az API Management-példányra.

  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 házirendeket a bejövő szakaszhoz az MCP-kiszolgáló eszközeire irányuló hívások korlátozásához (ebben a példában 5 hívás 30 másodpercenként IP-címenként), valamint a hívó ügynökazonosítójának egyéni nyomkövetéséhez.

    <inbound>
        <base />
        <rate-limit-by-key calls="5" renewal-period="30" counter-key="@(context.Request.IpAddress)" remaining-calls-variable-name="remainingCallsPerIP" />
     	<trace source="My MCP" severity="information">
     		<message>My MCP trace info</message>
     		<metadata name="agent-id" value="@(context.Request.Headers.GetValueOrDefault("agent-id", "n/a"))" />
    </inbound>
    

    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, Szemantikus kernel vagy Copilot Studio) vagy egy tesztügyfélt (például curl). 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.

Adja hozzá az MCP szervert a Visual Studio Code-hoz

Az Visual Studio Code GitHub Copilot csevegést használja ügynök módban az MCP-kiszolgáló hozzáadásához és az eszközök használatához. A Visual Studio Code mcp-kiszolgálóinak hátteréről lásd: McP-kiszolgálók használata a VS Code-ban.

Az MCP-szerver 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 szerverekrő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 bemeneti értékként átadott API Management-előfizetési kulcs konfigurációját mutatja be. 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áadta az MCP-kiszolgálót a Visual Studio Code-ban, az eszközöket ügynök módban használhatja.

  1. GitHub Copilot csevegésben válassza a Agent módot, és válassza a Tools 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ővé tegye a csevegésben.

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

  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.

    Chat eredményeinek képernyőképe a Visual Studio Code-ban.

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

Probléma Oka Solution
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