11 KiB
Atvejo analizė: REST API pateikimas API valdyme kaip MCP serveris
Azure API Management yra paslauga, kuri suteikia vartus virš jūsų API galinių taškų. Azure API Management veikia kaip tarpinis serveris jūsų API priekyje ir gali nuspręsti, ką daryti su gaunamais užklausimais.
Naudodami šią paslaugą, gaunate daug funkcijų, tokių kaip:
- Saugumas, galite naudoti viską nuo API raktų, JWT iki valdomos tapatybės.
- Ribojimas pagal užklausų dažnį, puiki funkcija, leidžianti nuspręsti, kiek užklausų praleidžiama per tam tikrą laikotarpį. Tai padeda užtikrinti, kad visi vartotojai turėtų puikią patirtį ir kad jūsų paslauga nebūtų perkrauta užklausomis.
- Mastelio keitimas ir apkrovos balansavimas. Galite nustatyti kelis galinius taškus apkrovos balansavimui ir taip pat pasirinkti, kaip vykdyti apkrovos balansavimą.
- Dirbtinio intelekto funkcijos, tokios kaip semantinė talpykla, žetonų limitas ir stebėjimas bei daugiau. Tai puikios funkcijos, kurios pagerina reakcijos greitį ir padeda valdyti savo žetonų išlaidų kontrolę. Skaitykite daugiau čia.
Kodėl MCP + Azure API Management?
Modelio konteksto protokolas (Model Context Protocol) greitai tampa standartu agentinėms DI programoms ir būdu nuosekliai pateikti įrankius bei duomenis. Azure API Management yra natūralus pasirinkimas, kai reikia „valdyti“ API. MCP serveriai dažnai susijungia su kitais API siekiant spręsti užklausas įrankiams, pavyzdžiui. Todėl Azure API Management ir MCP derinys yra visiškai prasmingas.
Apžvalga
Šiame konkrečiame atvejyje sužinosime, kaip pateikti API galinius taškus kaip MCP serverį. Tai leis patogiai įtraukti šiuos galinius taškus į agentinę programą, tuo pačiu pasinaudojant Azure API Management funkcijomis.
Pagrindinės funkcijos
- Pasirenkate galinių taškų metodus, kuriuos norite pateikti kaip įrankius.
- Papildomos funkcijos priklauso nuo to, ką sukonfigūruosite politikos skiltyje savo API. Čia parodysime, kaip pridėti užklausų dažnio ribojimą.
Paruošiamasis žingsnis: importuoti API
Jei jau turite API Azure API Management, puiku, galite praleisti šį žingsnį. Jei ne, patikrinkite šią nuorodą, importuoti API į Azure API Management.
API pateikimas kaip MCP serverio
Pateikdami API galinius taškus, laikykitės šių žingsnių:
-
Eikite į Azure portalą adresu https://portal.azure.com/?Microsoft_Azure_ApiManagement=mcp
Pasirinkite savo API valdymo instanciją. -
Kairiajame meniu pasirinkite APIs > MCP Servers > + Create new MCP Server.
-
API skiltyje pasirinkite REST API, kurį norite pateikti kaip MCP serverį.
-
Pasirinkite vieną ar daugiau API operacijų, kurias norite pateikti kaip įrankius. Galite pasirinkti visas operacijas arba tik konkrečias.
-
Paspauskite Create.
-
Meniu pasirinkite APIs ir MCP Servers, turėtumėte matyti štai ką:
MCP serveris sukurtas, o API operacijos pateiktos kaip įrankiai. MCP serveris rodomas MCP Servers skiltyje. URL stulpelis rodo MCP serverio galinį tašką, kurį galite naudoti testavimui arba kliento aplikacijoje.
Pasirinktinai: Politikų konfigūravimas
Azure API Management turi pagrindinę sąvoką – politikas, kuriose nustatote įvairias taisykles savo galiniams taškams, pavyzdžiui, užklausų ribojimą ar semantinę talpyklą. Šios politikos rašomos XML kalba.
Štai kaip galite nustatyti politiką, ribojančią užklausas į MCP serverį:
-
Portale, po APIs, pasirinkite MCP Servers.
-
Pasirinkite sukurtą MCP serverį.
-
Kairiajame meniu, po MCP, pasirinkite Policies.
-
Politikų redaktoriuje pridėkite arba redaguokite norimas taikyti politikos MCP serverio įrankiams. Politikos aprašytos XML formatu. Pavyzdžiui, galite pridėti politiką, kuri riboja MCP serverio įrankių užklausų skaičių (šiame pavyzdyje – 5 užklausos per 30 sekundžių kiekvienam kliento IP adresui). Štai XML, kuris taikys užklausų ribojimą:
<rate-limit-by-key calls="5" renewal-period="30" counter-key="@(context.Request.IpAddress)" remaining-calls-variable-name="remainingCallsPerIP" />Štai politikos redaktoriaus vaizdas:
Išbandykite
Įsitikinkime, kad mūsų MCP serveris veikia tinkamai.
Tam naudosime Visual Studio Code ir GitHub Copilot agento režimą. Į mcp.json pridėsime MCP serverį. Taip Visual Studio Code veiks kaip klientas su agentinėmis galimybėmis, o galutiniai vartotojai galės įrašyti užklausą ir bendrauti su serveriu.
Štai kaip pridėti MCP serverį Visual Studio Code:
-
Naudokite komandą MCP: Add Server iš komandos paletės.
-
Kai bus prašoma, pasirinkite serverio tipą: HTTP (HTTP arba Server Sent Events).
-
Įveskite MCP serverio URL Azure API Management. Pavyzdžiui: https://.azure-api.net/-mcp/sse (SSE galiniam taškui) arba https://.azure-api.net/-mcp/mcp (MCP galiniam taškui), atkreipkite dėmesį į skirtingus transporto tipus:
/ssearba/mcp. -
Įveskite serverio ID pagal savo pasirinkimą. Tai nėra svarbi reikšmė, bet padės prisiminti, kas tai per serverio instancija.
-
Pasirinkite, ar išsaugoti konfigūraciją savo darbo erdvės nustatymuose, ar vartotojo nustatymuose.
-
Darbo erdvės nustatymai – serverio konfigūracija išsaugoma .vscode/mcp.json faile, kuris galioja tik dabartinėje darbo erdvėje.
mcp.json
"servers": { "APIM petstore" : { "type": "sse", "url": "url-to-mcp-server/sse" } }arba, jei pasirinksite srautinį HTTP transportą, tai atrodys šiek tiek kitaip:
"servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp" } } -
Vartotojo nustatymai – serverio konfigūracija pridedama prie globalaus settings.json failo ir galioja visose darbo erdvėse. Konfigūracija atrodo maždaug taip:
-
Taip pat reikės pridėti konfigūraciją – antraštę, užtikrinančią tinkamą autentifikavimą prieš Azure API Management. Naudojama antraštė Ocp-Apim-Subscription-Key.
- Štai kaip ją pridėti į nustatymus:
, tai sukels užklausą nurodyti API rakto reikšmę, kurią rasite Azure portale savo API Management instancijoje.- Norėdami pridėti į mcp.json, galite pridėti taip:
"inputs": [ { "type": "promptString", "id": "apim_key", "description": "API Key for Azure API Management", "password": true } ] "servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp", "headers": { "Ocp-Apim-Subscription-Key": "Bearer ${input:apim_key}" } } }
Naudojimas agento režimu
Dabar viskas paruošta tiek nustatymuose, tiek .vscode/mcp.json. Išbandykime.
Turėtų būti Įrankių piktograma, kurioje pateikti jūsų serverio išeksportuoti įrankiai:
-
Spustelėkite įrankių piktogramą, turėtumėte matyti įrankių sąrašą:
-
Įveskite užklausą pokalbiui, kad iškvietumėte įrankį. Pavyzdžiui, jei pasirinktą įrankį, kuris pateikia informaciją apie užsakymą, galite paklausti agento apie konkretų užsakymą. Štai pavyzdinė užklausa:
get information from order 2Jums bus parodyta įrankių piktograma, klausianti toliau tęsti įrankio kvietimą. Pasirinkite tęsti, turėtumėte matyti tokį atsakymą:
tai, ką matote aukščiau, priklauso nuo nustatytų įrankių, bet esmė, kad gaunate tekstinį atsakymą, kaip parodyta
Nuorodos
Štai kur galite sužinoti daugiau:
-
Python pavyzdys: saugūs nuotoliniai MCP serveriai naudojant Azure API Management (eksperimentinis)
-
Naudokite Azure API Management plėtinį VS Code, kad importuotumėte ir valdytumėte API
-
Registruokite ir raskite nuotolinius MCP serverius Azure API Centre
-
AI Gateway Puikus repozitorijus, kuris demonstruoja daugelį DI galimybių su Azure API Management
-
AI Gateway dirbtuvės Apima dirbtuves naudojant Azure portalą, puikus būdas pradėti vertinti DI galimybes.
Kas toliau
- Grįžti į: Atvejo analizės apžvalga
- Toliau: Azure DI kelionių agentai
Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors stengiamės užtikrinti tikslumą, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogaus atliktas vertimas. Mes neatsakome už jokius nesusipratimus ar neteisingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.






