MCP
Kas yra MCP ir kaip jis veikia?
MCP (Model Context Protocol) - atviras standartas, leidžiantis dirbtinio intelekto (DI) programoms prisijungti prie išorinių duomenų šaltinių, įrankių ir sistemų. Jis apibrėžia, kaip DI programa gali sužinoti apie prieinamas funkcijas, jomis pasinaudoti ir gauti rezultatą.
Jis standartizuoja informacijos ir užklausų perdavimą, tačiau pats nesprendžia, kaip DI programa turėtų panaudoti gautus duomenis.

MCP nėra atskiras DI modelis ar pokalbių robotas. Tai bendravimo protokolas tarp DI programos ir prie jos prijungtų sistemų.
Kontekstas
Kodėl atsirado MCP?
DI programoms reikia būdo pasiekti informaciją, kurios nėra modelio mokymo duomenyse: įmonės dokumentus, aktualius sistemos įrašus ar naudotojo paskyros informaciją. Tam reikalingos integracijos. Kai skirtingos DI programos prie kiekvieno šaltinio jungiamos skirtingais būdais, daugėja atskirai kuriamų ir prižiūrimų sprendimų.
MCP pasiūlo bendrą standartą šioms integracijoms. Sistemos funkcijas galima pateikti per MCP serverį, prie kurio jungiasi šį protokolą palaikančios DI programos. Taip atsiranda galimybė pakartotinai naudoti tą pačią integraciją, užuot kiekvienai DI aplinkai kūrus visiškai atskirą prijungimo būdą.
Tai nepanaikina integravimo darbų, bet suvienodina dalį jų.
Eiga
Kaip veikia MCP?
MCP veikia pagal kliento ir serverio principą. Naudojantis per MCP pateikta funkcija, procesą galima suskirstyti į keturis žingsnius.
DI programa gauna informaciją apie prieinamus įrankius
MCP serveris pateikia jų pavadinimus, paskirtį ir duomenis, kuriuos reikia nurodyti užklausoje.
Parenkamas užduočiai tinkamas įrankis
DI modelis gali pasiūlyti jį panaudoti, o programa perduoda užklausą pagal joje nustatytas taisykles.
MCP serveris apdoroja užklausą
Jis atlieka numatytą veiksmą pats arba kreipiasi į kitą sistemą.
Rezultatas grąžinamas DI programai
Ji gali panaudoti gautą informaciją atsakymui parengti arba tęsti užduotį.
Pats MCP apibrėžia šio apsikeitimo taisykles - kokius įrankius pateikti modeliui ir kaip naudoti jų rezultatus, sprendžia DI programos kūrėjai. Duomenis keičiantiems ar kitiems reikšmingiems veiksmams gali būti numatytas žmogaus patvirtinimas: MCP įrankio iškvietimas savaime nereiškia, kad veiksmas turi būti atliktas be naudotojo žinios.
Serveris
Kas yra MCP serveris?
MCP serveris - programa, kuri per MCP protokolą pateikia prieigą prie konkrečių duomenų ar funkcijų. Jis gali suteikti galimybę skaityti dokumentus, atlikti paiešką, pateikti užklausas duomenų bazei ar naudotis kitos sistemos funkcijomis. Serverio kūrėjas apibrėžia, kokios galimybės bus prieinamos.
Žodis „serveris“ čia reiškia programą, o ne būtinai atskirą kompiuterį. MCP serveris gali veikti naudotojo kompiuteryje, įmonės infrastruktūroje arba nuotolinėje paslaugoje. Jo veikimo vieta ir prijungimo būdas priklauso nuo konkretaus sprendimo.
Klientas
Kas yra MCP klientas?
MCP klientas - DI programos komponentas, kuris bendrauja su konkrečiu MCP serveriu. Jis siunčia užklausas, gauna atsakymus ir perduoda juos programai, kuria naudojasi žmogus.
Svarbu atskirti pačią DI programą ir jos MCP klientą. MCP architektūroje naudotojo programa vadinama host. Ji valdo naudotojo patirtį ir gali turėti kelis MCP klientus, skirtus ryšiui su skirtingais serveriais. Taip vienoje DI aplinkoje galima naudotis kelių prijungtų sistemų galimybėmis.
Galimybės
Kokias galimybes MCP serveris suteikia DI programai?
MCP apibrėžia tris pagrindinius būdus, kuriais serveris gali pateikti savo galimybes: įrankius, duomenų išteklius ir užklausų šablonus.
Įrankiai (tools)
Funkcijos, kurias galima iškviesti: atlikti paiešką, gauti sistemos duomenis, vykdyti skaičiavimą ar pakeisti įrašą.
Duomenų ištekliai (resources)
Informacija, kurią DI programa gali perskaityti ir panaudoti kaip kontekstą: dokumentų turinys, duomenų struktūros ar kita pateikta medžiaga.
Užklausų šablonai (prompts)
Pakartotinai naudojami užklausų ar instrukcijų šablonai, padedantys atlikti konkrečias užduotis.
Ne kiekvienas MCP serveris turi pateikti visas tris galimybes. Vienas gali būti skirtas tik įrankiams, kitas - informacijai skaityti ar darbui su paruoštais šablonais.
Palyginimas
Kuo MCP skiriasi nuo API?
Programų sąsaja (API, Application Programming Interface) apibrėžia, kaip viena programa gali naudotis kitos programos funkcijomis. Per API galima gauti duomenis, juos perduoti arba inicijuoti sistemoje numatytus veiksmus.
MCP skirtas standartizuoti duomenų ir funkcijų pateikimą DI programoms. Jis apima ne tik funkcijos iškvietimą, bet ir būdą sužinoti, kokie įrankiai prieinami, kam jie skirti ir kokių duomenų reikia juos naudojant.
MCP ir API gali veikti kartu. MCP serveris gali naudoti jau egzistuojančią sistemos API ir per ją atlikti DI programos paprašytą veiksmą. Todėl MCP nebūtinai pakeičia esamas API integracijas - jis gali suteikti papildomą, DI programoms pritaikytą prieigos būdą.
Palyginimas
Kuo MCP skiriasi nuo RAG?
RAG (Retrieval-Augmented Generation) - būdas rengti DI atsakymus pasitelkiant papildomai surastą informaciją. Prieš generuojant atsakymą, iš dokumentų ar kitų šaltinių atrenkama su užklausa susijusi medžiaga ir pateikiama modeliui. Tam nereikia iš naujo mokyti modelio.
MCP sprendžia kitą klausimą: kaip DI programa susisiekia su duomenų šaltiniu ar įrankiu. Jis pats nėra informacijos paieškos metodas ir nenustato, kaip atrinkti atsakymui tinkamiausius dokumentus.
Šiuos sprendimus galima derinti. Pavyzdžiui, RAG sprendimui reikalingą dokumentų paiešką galima pateikti kaip MCP įrankį. Tačiau RAG gali veikti ir be MCP, o MCP galima naudoti užduotims, kurios apskritai nesusijusios su atsakymų rengimu pagal dokumentus.
Saugumas
Ar MCP saugus?
Vien MCP palaikymas negarantuoja saugaus sprendimo. Protokolas apibrėžia bendravimo principus, tačiau prieigos kontrolę, naudotojo sutikimą ir duomenų apsaugą turi įgyvendinti konkrečios programos bei integracijos kūrėjai.
Pirmiausiai svarbu įvertinti, kokias teises gauna integracija: prieiga prie vienos dokumentų grupės ir galimybė keisti visos sistemos duomenis kelia skirtingą riziką. Vertiname:
- Kokias teises gauna integracija
- Ar teisės ribojamos pagal atliekamą užduotį
- Ar jų laikymasis tikrinamas sistemos pusėje
- Ar pasirinkti MCP serveriai yra patikimi
- Ar tikrinami per juos perduodami duomenys
- Ar jautriems veiksmams numatytas papildomas patvirtinimas
Vien nurodymo DI modeliui nesinaudoti tam tikrais duomenimis nepakanka. Kita rizika - kenkėjiškos instrukcijos išoriniuose duomenyse ar įrankių aprašuose, vadinamos prompt injection: jomis gali būti bandoma paskatinti DI atlikti nepageidaujamus veiksmus ar perduoti informaciją.
Dažniausiai užduodami klausimai apie MCP

MCP integracijos su verslo sistemomis
Padedame įvertinti MCP pritaikymą naudojamoms sistemoms ir suplanuoti reikalingas integracijas.
Aptarti MCP integraciją