Skip to content

Latest commit

 

History

History
274 lines (180 loc) · 13.2 KB

File metadata and controls

274 lines (180 loc) · 13.2 KB

Käytännön toteutus

Käytännön toteutus on se vaihe, jossa Model Context Protocolin (MCP) voima konkretisoituu. Vaikka MCP:n teorian ja arkkitehtuurin ymmärtäminen on tärkeää, todellinen arvo syntyy, kun sovellat näitä käsitteitä rakentaaksesi, testataksesi ja ottaaksesi käyttöön ratkaisuja, jotka ratkaisevat oikean maailman ongelmia. Tämä luku yhdistää käsitteellisen tiedon ja käytännön kehityksen, ohjaten sinua MCP-pohjaisten sovellusten elävöittämisessä.

Olitpa kehittämässä älykkäitä avustajia, integroimassa tekoälyä liiketoimintaprosesseihin tai rakentamassa räätälöityjä työkaluja datan käsittelyyn, MCP tarjoaa joustavan perustan. Sen kieliriippumaton rakenne ja viralliset SDK:t suosituimmille ohjelmointikielille tekevät siitä helposti lähestyttävän laajalle kehittäjäjoukolle. Hyödyntämällä näitä SDK:ita voit nopeasti prototyypittää, iteröidä ja skaalata ratkaisuja eri alustoilla ja ympäristöissä.

Seuraavissa osioissa löydät käytännön esimerkkejä, koodinäytteitä ja käyttöönotto-strategioita, jotka näyttävät, miten MCP toteutetaan C#:ssa, Javassa, TypeScriptissä, JavaScriptissä ja Pythonissa. Opit myös, miten MCP-palvelimia virheenkorjataan ja testataan, hallitaan API-rajapintoja sekä otetaan 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 itsevarmasti.

Yleiskatsaus

Tämä oppitunti keskittyy MCP:n käytännön toteutukseen useilla ohjelmointikielillä. Tutustumme siihen, miten MCP SDK:ita käytetään C#:ssa, Javassa, TypeScriptissä, JavaScriptissä ja Pythonissa vahvojen sovellusten rakentamiseen, MCP-palvelinten virheenkorjaukseen ja testaamiseen sekä uudelleenkäytettävien resurssien, kehotteiden ja työkalujen luomiseen.

Oppimistavoitteet

Tämän oppitunnin jälkeen osaat:

  • Toteuttaa MCP-ratkaisuja virallisilla SDK:illa eri ohjelmointikielillä
  • Virheenkorjata ja testata MCP-palvelimia systemaattisesti
  • Luoda ja käyttää palvelintoimintoja (Resources, Prompts ja Tools)
  • Suunnitella tehokkaita MCP-työnkulkuja monimutkaisiin tehtäviin
  • Optimoida MCP-toteutuksia suorituskyvyn ja luotettavuuden näkökulmasta

Viralliset SDK-resurssit

Model Context Protocol tarjoaa viralliset SDK:t useille kielille:

MCP SDK:iden käyttö

Tässä osiossa esitellään käytännön esimerkkejä MCP:n toteuttamisesta useilla ohjelmointikielillä. Näytekoodit löytyvät samples-hakemistosta, järjestettynä kielittäin.

Saatavilla olevat esimerkit

Repositoriossa on näytetoteutuksia seuraavilla kielillä:

Jokainen esimerkki havainnollistaa keskeisiä MCP-konsepteja ja toteutusmalleja kyseiselle kielelle ja ekosysteemille.

Keskeiset palvelintoiminnot

MCP-palvelimet voivat toteuttaa minkä tahansa yhdistelmän seuraavista ominaisuuksista:

Resources

Resources tarjoavat kontekstin ja datan käyttäjälle tai tekoälymallille:

  • Asiakirjahakemistot
  • Tietopohjat
  • Rakenteelliset tietolähteet
  • Tiedostojärjestelmät

Prompts

Prompts ovat valmiiksi mallinnettuja viestejä ja työnkulkuja käyttäjille:

  • Ennalta määritellyt keskustelumallit
  • Ohjatut vuorovaikutuskuviot
  • Erikoistuneet dialogirakenteet

Tools

Tools ovat toimintoja, joita tekoälymalli voi suorittaa:

  • Datan käsittelytyökalut
  • Ulkoiset API-integraatiot
  • Laskennalliset toiminnot
  • Hakutoiminnot

Näytetoteutukset: C#

Virallinen C# SDK -repositorio sisältää useita esimerkkitoteutuksia, jotka havainnollistavat MCP:n eri puolia:

  • Perus MCP Client: Yksinkertainen esimerkki MCP-clientin luomisesta ja työkalujen kutsumisesta
  • Perus MCP Server: Minimipalvelin, jossa on perustyökalujen rekisteröinti
  • Kehittynyt MCP Server: Täysimittainen palvelin, jossa on työkalujen rekisteröinti, autentikointi ja virheenkäsittely
  • ASP.NET-integraatio: Esimerkkejä ASP.NET Core -integraatiosta
  • Työkalujen toteutusmallit: Eri monimutkaisuustasojen työkalujen toteutusmalleja

MCP C# SDK on ennakkoversiossa, ja API:t voivat muuttua. Päivitämme tätä blogia jatkuvasti SDK:n kehittyessä.

Keskeiset ominaisuudet

Täydelliset C# toteutusnäytteet löytyvät virallisen C# SDK:n näytereposta

Näytetoteutus: Java

Java SDK tarjoaa vahvat MCP-toteutusvaihtoehdot yritystason ominaisuuksilla.

Keskeiset ominaisuudet

  • Spring Framework -integraatio
  • Vahva tyyppiturvallisuus
  • Reaktiivisen ohjelmoinnin tuki
  • Laaja virheenkäsittely

Täydellinen Java-toteutusnäyte löytyy Java-esimerkistä näytekansiosta.

Näytetoteutus: JavaScript

JavaScript SDK tarjoaa kevyen ja joustavan tavan toteuttaa MCP.

Keskeiset ominaisuudet

  • Tuki Node.js:lle ja selaimille
  • Promise-pohjainen API
  • Helppo integraatio Expressin ja muiden kehysten kanssa
  • WebSocket-tuki suoratoistoon

Täydellinen JavaScript-toteutusnäyte löytyy JavaScript-esimerkistä näytekansiosta.

Näytetoteutus: Python

Python SDK tarjoaa pythonilaisen lähestymistavan MCP-toteutukseen erinomaisilla ML-kehysintegraatioilla.

Keskeiset ominaisuudet

  • Async/await-tuki asyncio-kirjastolla
  • Flask- ja FastAPI-integraatiot
  • Yksinkertainen työkalujen rekisteröinti
  • Natiivisti tuettu integraatio suosittuihin ML-kirjastoihin

Täydellinen Python-toteutusnäyte löytyy Python-esimerkistä näytekansiosta.

API-hallinta

Azure API Management on erinomainen ratkaisu MCP-palvelinten suojaamiseen. Ajatuksena on laittaa Azure API Management -instanssi MCP-palvelimen eteen ja antaa sen hoitaa toiminnot, joita todennäköisesti tarvitset, kuten:

  • nopeusrajoitukset
  • tokenien hallinta
  • valvonta
  • kuormantasapaino
  • tietoturva

Azure-esimerkki

Tässä on Azure-esimerkki, joka tekee juuri tämän, eli luo MCP-palvelimen ja suojaa sen Azure API Managementilla.

Katso, miten valtuutusprosessi etenee alla olevassa kuvassa:

APIM-MCP

Edellisessä kuvassa tapahtuu seuraavaa:

  • Autentikointi/valtuutus tapahtuu Microsoft Entran avulla.
  • Azure API Management toimii porttina ja käyttää sääntöjä liikenteen ohjaukseen ja hallintaan.
  • Azure Monitor kirjaa kaikki pyynnöt myöhempää analyysiä varten.

Valtuutusprosessi

Tutustutaan valtuutusprosessiin tarkemmin:

Sequence Diagram

MCP-valtuutuksen määrittely

Lue lisää MCP Authorization -määrittelystä

Etä-MCP-palvelimen käyttöönotto Azureen

Katsotaan, voimmeko ottaa käyttöön aiemmin mainitun esimerkin:

  1. Klonkaa repo

    git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git
    cd remote-mcp-apim-functions-python
  2. Rekisteröi Microsoft.App komennolla
    `` resource provider.

    • If you are using Azure CLI, run az provider register --namespace Microsoft.App --wait.
    • If you are using Azure PowerShell, run Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run (Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState
      odota hetki ja tarkista, onko rekisteröinti valmis.
  3. Suorita tämä azd komento, jolla provisioidaan API Management -palvelu, funktiosovellus (koodin kanssa) ja kaikki muut tarvittavat Azure-resurssit

    azd up

    Tämä komento ottaa käyttöön kaikki pilvipalvelut Azureen

Palvelimen testaaminen MCP Inspectorilla

  1. Avaa uusi komentorivi-ikkuna, asenna ja käynnistä MCP Inspector

    npx @modelcontextprotocol/inspector

    Näet käyttöliittymän, joka näyttää tältä:

    Connect to Node inspector

  2. CTRL-klikkaa ladataksesi MCP Inspector -web-sovelluksen sovelluksen näyttämästä URL-osoitteesta (esim. http://127.0.0.1:6274/#resources)

  3. Aseta siirtotyyppi SSE

  4. Set the URL to your running API Management SSE endpoint displayed after azd up ja Yhdistä:

    https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
  5. Listaa työkalut. Klikkaa työkalua ja valitse Run Tool.

Jos kaikki vaiheet onnistuivat, olet nyt yhteydessä MCP-palvelimeen ja pystyt kutsumaan työkalua.

MCP-palvelimet Azureen

Remote-mcp-functions: Tämä joukko repositorioita tarjoaa pika-alustat MCP-palvelimien rakentamiseen ja käyttöönottoon Azure Functions -ympäristössä Pythonilla, C# .NET:llä tai Node/TypeScriptillä.

Näytteet tarjoavat täydellisen ratkaisun, joka mahdollistaa kehittäjille:

  • Paikallisen rakentamisen ja ajon: Kehitä ja virheenkorjaa MCP-palvelin paikallisella koneella
  • Käyttöönoton Azureen: Helppo pilveen siirtyminen yksinkertaisella azd up -komennolla
  • Yhteyden muodostamisen asiakkailta: Yhdistä MCP-palvelimeen eri asiakkailta, kuten VS Code Copilot -agenttimoodilla ja MCP Inspector -työkalulla

Keskeiset ominaisuudet:

  • Turvallisuus suunnittelusta lähtien: MCP-palvelin on suojattu avaimilla ja HTTPS:llä
  • Autentikointivaihtoehdot: Tukee OAuth:ta sisäänrakennetulla autentikoinnilla ja/tai API Managementilla
  • Verkkoinfrastruktuurin eristäminen: Mahdollistaa verkkoinfrastruktuurin eristämisen Azure Virtual Networkien (VNET) avulla
  • Serverless-arkkitehtuuri: Hyödyntää Azure Functionsia skaalautuvaan, tapahtumapohjaiseen suoritukseen
  • Paikallinen kehitys: Kattava tuki paikalliseen kehitykseen ja virheenkorjaukseen
  • Yksinkertainen käyttöönotto: Sujuva käyttöönotto Azureen

Repositoriossa on kaikki tarvittavat konfiguraatiotiedostot, lähdekoodi ja infrastruktuurin määrittelyt, jotta pääset nopeasti alkuun tuotantovalmiin MCP-palvelimen toteutuksessa.

Keskeiset opit

  • MCP SDK:t tarjoavat kielikohtaiset työkalut vahvojen MCP-ratkaisujen toteutukseen
  • Virheenkorjaus ja testaus ovat kriittisiä luotettaville MCP-sovelluksille
  • Uudelleenkäytettävät kehotepohjat mahdollistavat johdonmukaiset tekoälyvuorovaikutukset
  • Hyvin suunnitellut työnkulut voivat orkestroida monimutkaisia tehtäviä useilla työkaluilla
  • MCP-ratkaisujen toteutuksessa on huomioitava tietoturva, suorituskyky ja virheenkäsittely

Harjoitus

Suunnittele käytännön MCP-työnkulku, joka ratkaisee todellisen ongelman omalla alallasi:

  1. Tunnista 3–4 työkalua, jotka olisivat hyödyllisiä ongelman ratkaisemisessa
  2. Laadi työnkulun kaavio, joka näyttää, miten nämä työkalut toimivat yhdessä
  3. Toteuta perusversio yhdestä työkaluista valitsemallasi kielellä
  4. Luo kehotepohja, joka auttaa mallia käyttämään työkalua tehokkaasti

Lisäresurssit


Seuraava: 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 saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäiskielellä tulee pitää virallisena lähteenä. Tärkeiden tietojen osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.