(Klikkaa yllä olevaa kuvaa katsoaksesi tämän oppitunnin video)
Käytännön toteutus on se vaihe, jossa Model Context Protocolin (MCP) voima tulee konkreettiseksi. Vaikka MCP:n teorian ja arkkitehtuurin ymmärtäminen on tärkeää, todellinen arvo syntyy, kun sovellat näitä käsitteitä rakentaaksesi, testataksesi ja käyttöönottaaksesi ratkaisuja, jotka ratkaisevat todellisia ongelmia. Tämä luku yhdistää käsitteellisen tiedon ja käytännön kehityksen, opastaen sinua MCP-pohjaisten sovellusten toteuttamisessa.
Olitpa kehittämässä älykkäitä assistentteja, integroimassa tekoälyä liiketoimintaprosesseihin tai rakentamassa räätälöityjä työkaluja datan käsittelyyn, MCP tarjoaa joustavan perustan. Sen kieliriippumaton suunnittelu ja viralliset SDK:t suosituimmille ohjelmointikielille tekevät siitä helposti lähestyttävän monille kehittäjille. Näiden SDK:iden avulla voit nopeasti prototypoida, iteroida ja laajentaa ratkaisuja eri alustoilla ja ympäristöissä.
Seuraavissa osioissa löydät käytännön esimerkkejä, esimerkkikoodia ja käyttöönotto-strategioita, jotka osoittavat, kuinka MCP:tä toteutetaan C#:ssa, Javassa Springin kanssa, TypeScriptissä, JavaScriptissä ja Pythonissa. Opit myös, kuinka debugata ja testata MCP-palvelimia, hallita API:ta ja ottaa ratkaisuja käyttöön pilvessä Azuren avulla. Nämä käytännön resurssit on suunniteltu nopeuttamaan oppimistasi ja auttamaan sinua rakentamaan luotettavia, tuotantovalmiita MCP-sovelluksia.
Tämä oppitunti keskittyy MCP:n käytännön toteutukseen useilla ohjelmointikielillä. Tutkimme, kuinka käyttää MCP SDK:ita C#:ssa, Javassa Springin kanssa, TypeScriptissä, JavaScriptissä ja Pythonissa rakentaaksemme kestäviä sovelluksia, debugataksemme ja testataksemme MCP-palvelimia sekä luodaksemme uudelleenkäytettäviä resursseja, kehotteita ja työkaluja.
Tämän oppitunnin lopussa osaat:
- Toteuttaa MCP-ratkaisuja virallisten SDK:iden avulla eri ohjelmointikielillä
- Debugata ja testata MCP-palvelimia järjestelmällisesti
- Luoda ja käyttää palvelimen ominaisuuksia (Resurssit, Kehotteet ja Työkalut)
- Suunnitella tehokkaita MCP-työnkulkuja monimutkaisiin tehtäviin
- Optimoida MCP-toteutuksia suorituskyvyn ja luotettavuuden parantamiseksi
Model Context Protocol tarjoaa viralliset SDK:t useille kielille:
- C# SDK
- Java Springin kanssa SDK Huom: vaatii riippuvuuden Project Reactor. (Katso keskustelu aiheesta 246.)
- TypeScript SDK
- Python SDK
- Kotlin SDK
Tässä osiossa esitellään käytännön esimerkkejä MCP:n toteutuksesta useilla ohjelmointikielillä. Löydät esimerkkikoodia samples-hakemistosta, joka on järjestetty kielen mukaan.
Tietovarasto sisältää esimerkkitoteutuksia seuraavilla kielillä:
Jokainen esimerkki havainnollistaa keskeisiä MCP-käsitteitä ja toteutusmalleja kyseiselle kielelle ja ekosysteemille.
MCP-palvelimet voivat toteuttaa minkä tahansa yhdistelmän seuraavista ominaisuuksista:
Resurssit tarjoavat kontekstia ja dataa käyttäjän tai tekoälymallin käyttöön:
- Dokumenttivarastot
- Tietopankit
- Rakenteelliset tietolähteet
- Tiedostojärjestelmät
Kehotteet ovat mallipohjaisia viestejä ja työnkulkuja käyttäjille:
- Ennalta määritellyt keskustelumallit
- Ohjatut vuorovaikutusmallit
- Erikoistuneet dialogirakenteet
Työkalut ovat funktioita, joita tekoälymalli voi suorittaa:
- Datan käsittelytyökalut
- Ulkoiset API-integraatiot
- Laskentakyvykkyydet
- Hakutoiminnot
Virallinen C# SDK -tietovarasto sisältää useita esimerkkitoteutuksia, jotka havainnollistavat MCP:n eri osa-alueita:
- Perus MCP-asiakas: Yksinkertainen esimerkki MCP-asiakkaan luomisesta ja työkalujen kutsumisesta
- Perus MCP-palvelin: Minimaalinen palvelintoteutus, jossa on perus työkalurekisteröinti
- Edistynyt MCP-palvelin: Täysimittainen palvelin, jossa on työkalurekisteröinti, autentikointi ja virheenkäsittely
- ASP.NET-integraatio: Esimerkkejä integraatiosta ASP.NET Coren kanssa
- Työkalutoteutusmallit: Erilaisia malleja työkalujen toteuttamiseen eri monimutkaisuustasoilla
C# MCP SDK on esikatseluvaiheessa, ja API:t voivat muuttua. Päivitämme tätä blogia jatkuvasti SDK:n kehittyessä.
Täydelliset C#-toteutusesimerkit löydät virallisesta C# SDK -esimerkkitietovarastosta.
Java Springin kanssa SDK tarjoaa vankkoja MCP-toteutusvaihtoehtoja yritystason ominaisuuksilla.
- Spring Framework -integraatio
- Vahva tyyppiturvallisuus
- Reaktiivisen ohjelmoinnin tuki
- Kattava virheenkäsittely
Täydellinen Java Springin kanssa -toteutusesimerkki löytyy Java Spring -esimerkistä näytehakemistossa.
JavaScript SDK tarjoaa kevyen ja joustavan lähestymistavan MCP-toteutukseen.
- Node.js- ja selainympäristöjen tuki
- Promise-pohjainen API
- Helppo integraatio Expressin ja muiden kehysten kanssa
- WebSocket-tuki suoratoistoon
Täydellinen JavaScript-toteutusesimerkki löytyy JavaScript-esimerkistä näytehakemistossa.
Python SDK tarjoaa Python-tyylisen lähestymistavan MCP-toteutukseen erinomaisilla ML-kehysten integraatioilla.
- Async/await-tuki asyncio:n avulla
- FastAPI-integraatio
- Yksinkertainen työkalurekisteröinti
- Luontainen integraatio suosittuihin ML-kirjastoihin
Täydellinen Python-toteutusesimerkki löytyy Python-esimerkistä näytehakemistossa.
Azure API Management on erinomainen ratkaisu MCP-palvelimien suojaamiseen. Ajatuksena on sijoittaa Azure API Management -instanssi MCP-palvelimen eteen ja antaa sen hoitaa ominaisuuksia, joita todennäköisesti tarvitset, kuten:
- nopeusrajoitukset
- token-hallinta
- monitorointi
- kuormantasapainotus
- turvallisuus
Tässä on Azure-esimerkki, joka tekee juuri tämän, eli luo MCP-palvelimen ja suojaa sen Azure API Managementilla.
Katso, miten valtuutusprosessi tapahtuu alla olevassa kuvassa:
Edellä olevassa kuvassa tapahtuu seuraavaa:
- Autentikointi/valtuutus tapahtuu Microsoft Entralla.
- Azure API Management toimii yhdyskäytävänä ja käyttää käytäntöjä liikenteen ohjaamiseen ja hallintaan.
- Azure Monitor kirjaa kaikki pyynnöt jatkoanalyysiä varten.
Tarkastellaan valtuutusprosessia tarkemmin:
Lue lisää MCP-valtuutusmäärittelystä.
Katsotaan, voimmeko ottaa aiemmin mainitun esimerkin käyttöön:
-
Kloonaa tietovarasto
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Rekisteröi
Microsoft.App-resurssitarjoaja.- Jos käytät Azure CLI:tä, suorita
az provider register --namespace Microsoft.App --wait. - Jos käytät Azure PowerShelliä, suorita
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Suorita sitten(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationStatejonkin ajan kuluttua tarkistaaksesi, onko rekisteröinti valmis.
- Jos käytät Azure CLI:tä, suorita
-
Suorita tämä azd-komento provisioidaksesi API-hallintapalvelun, funktiosovelluksen (koodilla) ja kaikki muut tarvittavat Azure-resurssit:
azd up
Tämä komento ottaa kaikki pilviresurssit käyttöön Azuren kautta.
-
Avaa uusi komentorivi-ikkuna, asenna ja suorita MCP Inspector
npx @modelcontextprotocol/inspector
Sinun pitäisi nähdä käyttöliittymä, joka näyttää tältä:
-
CTRL-klikkaa ladataksesi MCP Inspector -verkkosovellus sovelluksen näyttämästä URL-osoitteesta (esim. http://127.0.0.1:6274/#resources).
-
Aseta kuljetustyypiksi
SSE. -
Aseta URL-osoitteeksi API Management SSE -päätepisteesi, joka näkyy
azd up-komennon jälkeen, ja Yhdistä:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Listaa työkalut. Klikkaa työkalua ja Suorita työkalu.
Jos kaikki vaiheet ovat onnistuneet, sinun pitäisi nyt olla yhteydessä MCP-palvelimeen ja pystyä kutsumaan työkalua.
Remote-mcp-functions: Tämä tietovarasto tarjoaa nopean aloituspohjan MCP-palvelimien rakentamiseen ja käyttöönottoon Azure Functionsin avulla Pythonilla, C# .NET:llä tai Node/TypeScriptillä.
Näytteet tarjoavat täydellisen ratkaisun, joka mahdollistaa kehittäjille:
- Paikallisen kehityksen ja ajon: Kehitä ja debugaa MCP-palvelinta paikallisella koneella.
- Käyttöönoton Azureen: Ota helposti käyttöön pilvessä yksinkertaisella
azd up-komennolla. - Yhteyden asiakkaista: Yhdistä MCP-palvelimeen eri asiakkaista, mukaan lukien VS Coden Copilot-agenttitila ja MCP Inspector -työkalu.
- Turvallisuus suunnittelussa: MCP-palvelin on suojattu avaimilla ja HTTPS:llä.
- Autentikointivaihtoehdot: Tukee OAuthia sisäänrakennetun autentikoinnin ja/tai API Managementin avulla.
- Verkkoyksityisyys: Mahdollistaa verkkoyksityisyyden Azure Virtual Networksin (VNET) avulla.
- Palveluton arkkitehtuuri: Hyödyntää Azure Functionsia skaalautuvaan, tapahtumapohjaiseen suorittamiseen.
- Paikallinen kehitys: Kattava paikallisen kehityksen ja debuggaamisen tuki.
- Yksinkertainen käyttöönotto: Virtaviivainen käyttöönotto Azureen.
Tietovarasto sisältää kaikki tarvittavat konfiguraatiotiedostot, lähdekoodin ja infrastruktuurimäärittelyt, jotta voit nopeasti aloittaa tuotantovalmiin MCP-palvelimen toteutuksen.
-
Azure Remote MCP Functions Python - Esimerkkitoteutus MCP:stä Azure Functionsin avulla Pythonilla.
-
Azure Remote MCP Functions .NET - Esimerkkitoteutus MCP:stä Azure Functionsin avulla C# .NET:llä.
-
Azure Remote MCP Functions Node/Typescript - Esimerkkitoteutus MCP:stä Azure Functionsin avulla Node/TypeScriptillä.
- MCP SDK:t tarjoavat kielikohtaisia työkaluja kestävien MCP-ratkaisujen toteuttamiseen.
- Debuggaus ja testaus ovat kriittisiä luotettavien MCP-sovellusten kannalta.
- Uudelleenkäytettävät kehotemallit mahdollistavat johdonmukaiset tekoälyvuorovaikutukset.
- Hyvin suunnitellut työnkulut voivat orkestroida monimutkaisia tehtäviä useiden työkalujen avulla.
- MCP-ratkaisujen toteuttaminen vaatii turvallisuuden, suorituskyvyn ja virheenkäsittelyn huomioimista.
Suunnittele käytännön MCP-työnkulku, joka ratkaisee todellisen ongelman omalla alallasi:
- Tunnista 3-4 työkalua, jotka olisivat hyödyllisiä ongelman ratkaisemiseksi.
- Luo työnkulun kaavio, joka näyttää, miten nämä työkalut vuorovaikuttavat.
- Toteuta yksi työkaluista perusversiolla valitsemallasi kielellä.
- Luo kehotemalli, joka auttaa mallia käyttämään työkalua tehokkaasti.
Seuraavaksi: Edistyneet aiheet
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.



