Praktična implementacija je mjesto gdje snaga Model Context Protocola (MCP) postaje opipljiva. Iako je važno razumjeti teoriju i arhitekturu MCP-a, prava vrijednost dolazi kada ove koncepte primijenite za izgradnju, testiranje i implementaciju rješenja koja rješavaju stvarne probleme. Ova poglavlja premošćuju jaz između konceptualnog znanja i praktičnog razvoja, vodeći vas kroz proces oživljavanja aplikacija temeljenih na MCP-u.
Bilo da razvijate inteligentne asistente, integrirate AI u poslovne tokove rada ili gradite prilagođene alate za obradu podataka, MCP pruža fleksibilnu osnovu. Njegov dizajn neovisan o jeziku i službeni SDK-ovi za popularne programske jezike čine ga dostupnim širokom spektru programera. Korištenjem ovih SDK-ova možete brzo napraviti prototip, iterirati i skalirati svoja rješenja na različitim platformama i okruženjima.
U sljedećim odjeljcima pronaći ćete praktične primjere, uzorke koda i strategije implementacije koje pokazuju kako primijeniti MCP u C#, Javi, TypeScriptu, JavaScriptu i Pythonu. Također ćete naučiti kako otklanjati pogreške i testirati MCP servere, upravljati API-jima i implementirati rješenja u oblaku koristeći Azure. Ovi praktični resursi osmišljeni su da ubrzaju vaše učenje i pomognu vam samouvjereno graditi robusne, spremne za produkciju MCP aplikacije.
Ova lekcija fokusira se na praktične aspekte implementacije MCP-a u više programskih jezika. Istražit ćemo kako koristiti MCP SDK-ove u C#, Javi, TypeScriptu, JavaScriptu i Pythonu za izgradnju robusnih aplikacija, otklanjanje pogrešaka i testiranje MCP servera te kreiranje ponovljivih resursa, promptova i alata.
Do kraja ove lekcije moći ćete:
- Implementirati MCP rješenja koristeći službene SDK-ove u različitim programskim jezicima
- Sustavno otklanjati pogreške i testirati MCP servere
- Kreirati i koristiti značajke servera (Resurse, Prompte i Alate)
- Dizajnirati učinkovite MCP tokove rada za složene zadatke
- Optimizirati MCP implementacije za performanse i pouzdanost
Model Context Protocol nudi službene SDK-ove za više jezika:
Ovaj odjeljak pruža praktične primjere implementacije MCP-a u više programskih jezika. Uzorke koda možete pronaći u direktoriju samples organiziranom po jezicima.
Repozitorij uključuje primjere implementacija na sljedećim jezicima:
Svaki primjer demonstrira ključne MCP koncepte i obrasce implementacije za taj specifični jezik i ekosustav.
MCP serveri mogu implementirati bilo koju kombinaciju ovih značajki:
Resursi pružaju kontekst i podatke koje korisnik ili AI model mogu koristiti:
- Spremišta dokumenata
- Baze znanja
- Strukturirani izvori podataka
- Datotečni sustavi
Prompti su predlošci poruka i tokova rada za korisnike:
- Unaprijed definirani predlošci razgovora
- Vođeni obrasci interakcije
- Specijalizirane strukture dijaloga
Alati su funkcije koje AI model može izvršavati:
- Alati za obradu podataka
- Integracije s vanjskim API-jima
- Računalne mogućnosti
- Funkcionalnost pretraživanja
Službeni C# SDK repozitorij sadrži nekoliko primjera implementacija koje pokazuju različite aspekte MCP-a:
- Osnovni MCP klijent: Jednostavan primjer kako kreirati MCP klijenta i pozivati alate
- Osnovni MCP server: Minimalna implementacija servera s osnovnom registracijom alata
- Napredni MCP server: Server s punim značajkama, uključujući registraciju alata, autentifikaciju i rukovanje pogreškama
- Integracija s ASP.NET: Primjeri integracije s ASP.NET Core
- Obrasci implementacije alata: Razni obrasci za implementaciju alata različitih razina složenosti
MCP C# SDK je u preview fazi i API-ji se mogu mijenjati. Ovaj blog ćemo kontinuirano ažurirati kako SDK bude napredovao.
-
Izgradnja vašeg prvog MCP servera.
Za potpune primjere implementacije u C#, posjetite službeni repozitorij C# SDK primjera
Java SDK nudi robusne opcije implementacije MCP-a s enterprise značajkama.
- Integracija sa Spring Frameworkom
- Snažna tipizacija
- Podrška za reaktivno programiranje
- Sveobuhvatno rukovanje pogreškama
Za potpuni primjer implementacije u Javi, pogledajte Java primjer u direktoriju uzoraka.
JavaScript SDK pruža lagan i fleksibilan pristup implementaciji MCP-a.
- Podrška za Node.js i preglednike
- API baziran na Promise-ima
- Jednostavna integracija s Expressom i drugim frameworkima
- Podrška za WebSocket za streaming
Za potpuni primjer implementacije u JavaScriptu, pogledajte JavaScript primjer u direktoriju uzoraka.
Python SDK nudi pitoničan pristup implementaciji MCP-a s izvrsnim integracijama za ML frameworke.
- Podrška za async/await s asyncio
- Integracija s FastAPI-jem
- Jednostavna registracija alata
- Izvorna integracija s popularnim ML bibliotekama
Za potpuni primjer implementacije u Pythonu, pogledajte Python primjer u direktoriju uzoraka.
Azure API Management je izvrsno rješenje za osiguranje MCP servera. Ideja je postaviti Azure API Management instancu ispred vašeg MCP servera i dopustiti joj da upravlja značajkama koje ćete vjerojatno htjeti, kao što su:
- ograničavanje brzine (rate limiting)
- upravljanje tokenima
- nadzor
- balansiranje opterećenja
- sigurnost
Evo Azure primjera koji radi upravo to, tj. kreira MCP server i osigurava ga Azure API Managementom.
Pogledajte kako autorizacijski tijek izgleda na slici ispod:
Na prethodnoj slici događa se sljedeće:
- Autentikacija/Autorizacija se odvija pomoću Microsoft Entra.
- Azure API Management djeluje kao gateway i koristi politike za usmjeravanje i upravljanje prometom.
- Azure Monitor bilježi sve zahtjeve za daljnju analizu.
Pogledajmo tijek autorizacije detaljnije:
Saznajte više o MCP specifikaciji autorizacije
Pogledajmo možemo li implementirati ranije spomenuti primjer:
-
Klonirajte repozitorij
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Registrirajte
Microsoft.Appresource providera.- Ako koristite Azure CLI, pokrenite
az provider register --namespace Microsoft.App --wait. - Ako koristite Azure PowerShell, pokrenite
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Nakon nekog vremena provjerite status registracije naredbom(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState.
- Ako koristite Azure CLI, pokrenite
-
Pokrenite ovu azd naredbu za provisioniranje API Management servisa, funkcijske aplikacije (s kodom) i svih ostalih potrebnih Azure resursa
azd up
Ova naredba bi trebala implementirati sve cloud resurse na Azureu
-
U novom terminal prozoru, instalirajte i pokrenite MCP Inspector
npx @modelcontextprotocol/inspector
Trebali biste vidjeti sučelje slično ovom:
-
CTRL klikom otvorite MCP Inspector web aplikaciju s URL-a koji aplikacija prikazuje (npr. http://127.0.0.1:6274/#resources)
-
Postavite tip transporta na
SSE -
Postavite URL na vaš aktivni API Management SSE endpoint prikazan nakon
azd upi Povežite se:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Popis alata. Kliknite na alat i Pokreni alat.
Ako su svi koraci prošli uspješno, sada ste povezani s MCP serverom i uspjeli ste pozvati alat.
Remote-mcp-functions: Ovaj skup repozitorija je predložak za brzo pokretanje za izgradnju i implementaciju prilagođenih udaljenih MCP (Model Context Protocol) servera koristeći Azure Functions s Python, C# .NET ili Node/TypeScript.
Primjeri pružaju kompletno rješenje koje omogućuje programerima da:
- Izgrade i pokrenu lokalno: razvijaju i otklanjaju pogreške MCP servera na lokalnom računalu
- Implementiraju na Azure: jednostavno implementiraju u oblak s jednom azd up naredbom
- Povežu se s klijentima: povezuju se s MCP serverom iz različitih klijenata uključujući VS Code-ov Copilot agent mod i MCP Inspector alat
- Sigurnost po dizajnu: MCP server je osiguran pomoću ključeva i HTTPS-a
- Opcije autentikacije: podržava OAuth koristeći ugrađenu autentikaciju i/ili API Management
- Izolacija mreže: omogućuje mrežnu izolaciju koristeći Azure Virtual Networks (VNET)
- Serverless arhitektura: koristi Azure Functions za skalabilno, događajima vođeno izvršavanje
- Lokalni razvoj: sveobuhvatna podrška za lokalni razvoj i otklanjanje pogrešaka
- Jednostavna implementacija: pojednostavljen proces implementacije na Azure
Repozitorij uključuje sve potrebne konfiguracijske datoteke, izvorni kod i definicije infrastrukture za brzo započinjanje s produkcijski spremnom MCP server implementacijom.
-
Azure Remote MCP Functions Python - Primjer implementacije MCP-a koristeći Azure Functions s Pythonom
-
Azure Remote MCP Functions .NET - Primjer implementacije MCP-a koristeći Azure Functions s C# .NET
-
Azure Remote MCP Functions Node/Typescript - Primjer implementacije MCP-a koristeći Azure Functions s Node/TypeScript.
- MCP SDK-ovi pružaju jezično specifične alate za implementaciju robusnih MCP rješenja
- Proces otklanjanja pogrešaka i testiranja je ključan za pouzdane MCP aplikacije
- Ponovno upotrebljivi predlošci promptova omogućuju dosljedne AI interakcije
- Dobro dizajnirani tokovi rada mogu orkestrirati složene zadatke koristeći više alata
- Implementacija MCP rješenja zahtijeva razmatranje sigurnosti, performansi i rukovanja pogreškama
Dizajnirajte praktični MCP tok rada koji rješava stvarni problem u vašem području:
- Identificirajte 3-4 alata koji bi bili korisni za rješavanje tog problema
- Izradite dijagram toka rada koji prikazuje kako ti alati međusobno djeluju
- Implementirajte osnovnu verziju jednog od alata koristeći željeni programski jezik
- Kreirajte predložak prompta koji će pomoći modelu da učinkovito koristi vaš alat
Sljedeće: Napredne teme
Odricanje od odgovornosti:
Ovaj dokument je preveden korištenjem AI usluge za prevođenje Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati službenim i autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.


