(Paspauskite ant paveikslėlio aukščiau, kad peržiūrėtumėte šios pamokos vaizdo įrašą)
Praktinė įgyvendinimo dalis yra ta vieta, kur Model Context Protocol (MCP) galia tampa apčiuopiama. Nors svarbu suprasti teoriją ir MCP architektūrą, tikroji vertė atsiskleidžia tada, kai taikote šias sąvokas kuriant, išbandant ir diegiant sprendimus, sprendžiančius realius pasaulio iššūkius. Šis skyrius jungia koncepcines žinias su praktiniu kūrimu, vedantis jus per MCP pagrindu veikiančių programų kūrimo procesą.
Nesvarbu, ar kuriate išmaniuosius asistentus, integruojate DI į verslo darbo eigas, ar kuriate individualius duomenų apdorojimo įrankius, MCP suteikia lanksčią pagrindą. Jo kalbai nepriklausomas dizainas ir oficialūs SDK populiarioms programavimo kalboms leidžia platų kūrėjų spektrą pasiekti. Naudodamiesi šiais SDK galite greitai prototipuoti, iteruoti ir pritaikyti savo sprendimus įvairioms platformoms ir aplinkoms.
Toliau esančiuose skyriuose rasite praktinius pavyzdžius, pavyzdinį kodą ir diegimo strategijas, kurios demonstruoja, kaip įgyvendinti MCP C#, Java su Spring, TypeScript, JavaScript ir Python kalbomis. Taip pat sužinosite, kaip derinti ir testuoti MCP serverius, valdyti API ir diegti sprendimus debesyje naudojant Azure. Šios praktinės priemonės skirtos spartinti jūsų mokymąsi ir padėti užtikrintai kurti patikimas, gamybai paruoštas MCP programas.
Ši pamoka skirta praktiškiems MCP įgyvendinimo aspektams įvairiomis programavimo kalbomis. Išnagrinėsime, kaip naudoti MCP SDK C#, Java su Spring, TypeScript, JavaScript ir Python, siekiant kurti patikimas programas, derinti ir testuoti MCP serverius bei kurti pakartotinai naudojamus išteklius, užklausimus ir įrankius.
Pamokos pabaigoje galėsite:
- Įgyvendinti MCP sprendimus naudodamiesi oficialiais SDK įvairiomis programavimo kalbomis
- Sistemingai derinti ir testuoti MCP serverius
- Kurti ir naudoti serverio funkcijas (Ištekliai, Užklausimai ir Įrankiai)
- Kurti veiksmingas MCP darbo eigas sudėtingoms užduotims
- Optimizuoti MCP įgyvendinimus dėl našumo ir patikimumo
Model Context Protocol siūlo oficialius SDK kelioms kalboms (atitinka MCP specifikaciją 2025-11-25):
- C# SDK
- Java su Spring SDK Pastaba: reikalauja priklausomybės nuo Project Reactor. (Žr. diskusijos klausimą 246.)
- TypeScript SDK
- Python SDK
- Kotlin SDK
- Go SDK
Šiame skyriuje pateikiami praktiniai MCP įgyvendinimo pavyzdžiai keliomis programavimo kalbomis. Galite rasti pavyzdinį kodą samples kataloge, suskirstytą pagal kalbas.
Saugykloje yra pavyzdiniai įgyvendinimai šiose kalbose:
Kiekvienas pavyzdys demonstruoja pagrindines MCP sąvokas ir įgyvendinimo modelius konkrečioje kalboje ir ekosistemoje.
Papildomi praktiniai MCP įgyvendinimo vadovai:
- Puslapiavimas ir dideli rezultatų rinkiniai – kaip tvarkyti kursoriaus pagrindu veikiančią puslapiavimo funkciją įrankiams, ištekliams ir dideliems duomenų kiekiams
MCP serveriai gali įgyvendinti bet kokią šių funkcijų kombinaciją:
Ištekliai suteikia kontekstą ir duomenis vartotojui arba DI modeliui naudoti:
- Dokumentų saugyklos
- Žinių bazės
- Struktūrizuoti duomenų šaltiniai
- Failų sistemos
Užklausimai yra šabloniniai pranešimai ir darbo eigų šablonai vartotojams:
- Iš anksto apibrėžti pokalbių šablonai
- Vadovaujami interakcijos modeliai
- Specializuotos dialogų struktūros
Įrankiai yra funkcijos, kurias DI modelis gali vykdyti:
- Duomenų apdorojimo įrankiai
- Išorinės API integracijos
- Skaičiavimo galimybės
- Paieškos funkcionalumas
Oficialiame C# SDK saugykloje yra keli pavyzdiniai įgyvendinimai, demonstruojantys skirtingus MCP aspektus:
- Paprastas MCP klientas: paprastas pavyzdys, kaip sukurti MCP klientą ir kviesti įrankius
- Paprastas MCP serveris: minimalus serverio įgyvendinimas su pagrindiniu įrankių registravimu
- Pažangus MCP serveris: pilnavertis serveris su įrankių registracija, autentifikacija ir klaidų valdymu
- ASP.NET integracija: pavyzdžiai, demonstruojantys integraciją su ASP.NET Core
- Įrankių įgyvendinimo modeliai: įvairūs įrankių įgyvendinimo modeliai skirtingo sudėtingumo lygiams
MCP C# SDK yra peržiūros stadijoje ir API gali keistis. Šį tinklaraštį nuolat atnaujinsime pagal SDK vystymąsi.
- C# MCP Nuget ModelContextProtocol
- Kaip sukurti savo pirmą MCP serverį.
Visiems C# įgyvendinimo pavyzdžiams žiūrėkite oficialią C# SDK pavyzdžių saugyklą
Java su Spring SDK siūlo tvirtas MCP įgyvendinimo galimybes su įmonių lygio funkcijomis.
- Spring Framework integracija
- Stipri tipų sauga
- Reaktyvios programavimo galimybės
- Išsamus klaidų valdymas
Pilnam Java su Spring įgyvendinimo pavyzdžiui žr. Java su Spring pavyzdį pavyzdžių kataloge.
JavaScript SDK suteikia lengvą ir lanksčią MCP įgyvendinimo prieigą.
- Node.js ir naršyklės palaikymas
- Promise pagrindu veikiantis API
- Lengva integracija su Express ir kitais karkasais
- WebSocket palaikymas srautiniam režimui
Pilnam JavaScript įgyvendinimo pavyzdžiui žr. JavaScript pavyzdį pavyzdžių kataloge.
Python SDK suteikia python-type MCP įgyvendinimą su puikiais ML karkasų integravimo sprendimais.
- Async/await palaikymas su asyncio
- FastAPI integracija``
- Paprastas įrankių registravimas
- Natūrali integracija su populiariomis ML bibliotekomis
Pilnam Python įgyvendinimo pavyzdžiui žr. Python pavyzdį pavyzdžių kataloge.
Azure API Management yra puikus sprendimas, kaip užtikrinti MCP serverių saugumą. Idėja yra įdėti Azure API Management instanciją prieš jūsų MCP serverį ir leisti jai valdyti tokias funkcijas, kaip:
- pralaidumo ribojimas
- žetonų valdymas
- stebėjimas
- apkrovos balansavimas
- saugumas
Čia yra Azure pavyzdys, kuris tiksliai taip ir daro, t.y., kuria MCP serverį ir jį saugo Azure API Management.
Pažiūrėkite, kaip vyksta autorizacijos srautas žemiau esančiame paveikslėlyje:
Paveikslėlyje vyksta šie veiksmai:
- Autentifikacija/Autorizacija vykdoma naudojant Microsoft Entra.
- Azure API Management veikia kaip vartai ir naudoja politiką srautui nukreipti ir valdyti.
- Azure Monitor fiksuoja visus užklausimus tolesnei analizei.
Pažvelkime į autorizacijos srautą detaliau:
Daugiau informacijos apie MCP autorizacijos specifikaciją
Pažiūrėkime, ar galime diegti anksčiau minėtą pavyzdį:
-
Klonuokite saugyklą
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Užregistruokite
Microsoft.Appresursų teikėją.- Jei naudojate Azure CLI, vykdykite
az provider register --namespace Microsoft.App --wait. - Jei naudojate Azure PowerShell, vykdykite
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Po kurio laiko patikrinkite(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState, ar registracija baigta.
- Jei naudojate Azure CLI, vykdykite
-
Paleiskite šią azd komandą, kad sukurtumėte API valdymo paslaugą, funkcijų programėlę (su kodu) ir visas kitas reikiamas Azure paslaugas
azd up
Ši komanda turėtų įdiegti visus debesies išteklius Azure aplinkoje
-
Atidarykite naują terminalo langą, įdiekite ir paleiskite MCP Inspector
npx @modelcontextprotocol/inspector
Turėtumėte pamatyti sąsają, panašią į:
-
Paspauskite CTRL ir spustelėkite, kad įkrautumėte MCP Inspector žiniatinklio programėlę pagal URL, kurį pateikia programa (pvz. http://127.0.0.1:6274/#resources)
-
Nustatykite transporto tipą į
SSE -
Nustatykite savo veikiančio API Management SSE galinį tašką, kuris rodomas po
azd up, ir Prisijunkite:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Įrankių sąrašas. Paspauskite ant įrankio ir Paleiskite įrankį.
Jeigu visi žingsniai pavyko, dabar turėtumėte būti prisijungę prie MCP serverio ir sugebėjote iškviesti įrankį.
Remote-mcp-functions: Šių saugyklų rinkinys yra greito starto šablonas kuriant ir diegiant nuotolinius MCP (Model Context Protocol) serverius naudojant Azure Functions su Python, C# .NET arba Node/TypeScript.
Pavyzdžiai suteikia pilną sprendimą, leidžiantį kūrėjams:
- Kurti ir paleisti lokaliai: kurti ir derinti MCP serverį lokaliame kompiuteryje
- Diegti į Azure: lengvai diegti debesyje su paprasta azd up komanda
- Prisijungti iš klientų: jungtis prie MCP serverio iš įvairių klientų, įskaitant VS Code Copilot agento režimą bei MCP Inspector įrankį
- Saugumas pagal dizainą: MCP serveris yra apsaugotas raktų ir HTTPS mechanizmais
- Autentifikacijos parinktys: palaiko OAuth naudojant įmontuotą autentifikaciją ir/arba API valdymą
- Tinklo izoliacija: leidžia naudoti Azure virtualius tinklus (VNET) tinklo izoliacijai
- Serverless architektūra: naudoja Azure Functions skalabiliam, įvykiams valdyti skirtam vykdymui
- Vietinis vystymas: išsamus vietinio vystymo ir derinimo palaikymas
- Paprastas diegimas: supaprastintas Azure diegimo procesas
Saugykla apima visus reikalingus konfigūracijos failus, šaltinio kodą ir infrastruktūros apibrėžimus, kad greitai pradėtumėte kurti gamybai paruoštą MCP serverio įgyvendinimą.
-
Azure Remote MCP Functions Python – MCP pavyzdys naudojant Azure Functions su Python
-
Azure Remote MCP Functions .NET – MCP pavyzdys naudojant Azure Functions su C# .NET
-
Azure Remote MCP Functions Node/Typescript – MCP pavyzdys naudojant Azure Functions su Node/TypeScript.
- MCP SDK suteikia kalbai pritaikytus įrankius patikimoms MCP sprendimų realizacijoms
- Derinimo ir testavimo procesas yra kritiškai svarbus patikimoms MCP programoms
- Pakartotinai naudojami užklausų šablonai užtikrina nuoseklias DI sąveikas
- Gerai sukurti darbo eiga gali koordinuoti sudėtingas užduotis, naudojant kelis įrankius
- MCP sprendimų įgyvendinimui reikia atsižvelgti į saugumą, našumą ir klaidų valdymą
Sukurkite praktinę MCP darbo eigą, skirtą spręsti realų problemą jūsų srityje:
- Nustatykite 3–4 įrankius, kurie būtų naudingi sprendžiant šią problemą
- Sukurkite darbo eigos diagramą, kurioje būtų parodyta, kaip šie įrankiai tarpusavyje sąveikauja
- Įgyvendinkite paprastą vieno iš įrankių versiją savo pasirinkta kalba
- Sukurkite užklausos šabloną, kuris padėtų modeliui efektyviai naudoti jūsų įrankį
Toliau: Pažangios temos
Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojamas profesionalus humanitarinis vertimas. Mes neatsakome už bet kokius nesusipratimus ar neteisingus aiškinimus, kilusius dėl šio vertimo naudojimo.



