Šta je MCP server?
MCP server je program koji AI aplikacijama daje standardan način da koriste jedan od vaših sistema. MCP je skraćenica za Model Context Protocol, otvoreni standard koji je Anthropic predstavio 2024. godine. Server obuhvata CRM, ERP, sistem za dokumente ili API proizvoda i AI aplikaciji kaže koje akcije može poduzeti i koje podatke može čitati.
Tada se može povezati svaka AI aplikacija koja podržava protokol: Claude, ChatGPT ili agent koji izradi vaš vlastiti tim. Treba li vašoj organizaciji MCP server, najviše zavisi od toga koliko AI alata mora doći do istih sistema.
Kako MCP funkcioniše
MCP ima tri uloge. Host je AI aplikacija koju osoba koristi, na primjer asistent. Unutar hosta MCP klijent drži vezu s jednim serverom. Server obuhvata jedan sistem i klijentu kaže šta nudi. Klijent i server razmjenjuju JSON-RPC poruke, jednostavan format za zahtjeve i odgovore između programa.
Model do vaših sistema dolazi samo kroz taj lanac: traži alat, klijent šalje zahtjev, a server poziva sistem.
Šta server nudi: alati, resursi i promptovi
- Alati (tools) su akcije s tipiziranim ulazima, kao što su pretraga narudžbi ili kreiranje tiketa. Model odlučuje kada će pozvati alat.
- Resursi (resources) su podaci koje aplikacija može čitati, kao što su datoteka, zapis ili shema baze podataka.
- Promptovi (prompts) su gotove upute za česte zadatke, kao što je sažimanje podataka o klijentu, koje korisnik može izabrati.
Evo ilustrativne definicije alata, onako kako je server navodi klijentu. Model čita opis da odluči kada alat odgovara, a ulazna shema određuje ispravan poziv:
Lokalni i udaljeni serveri
Lokalni server radi na istom računaru kao host, koji ga pokreće i s njim komunicira preko standardnog ulaza i izlaza (stdio). Udaljeni server radi na infrastrukturi koju hostujete vi ili dobavljač, a klijenti mu pristupaju preko HTTP-a. Sistemi kompanije obično dobiju udaljeni server, koji dijeli mnogo korisnika i koji osiguravate na jednom mjestu.
Jedna razmjena, korak po korak
- 01Kada se asistent poveže, klijent pita server koje alate nudi (
tools/list) i modelu prosljeđuje njihove nazive, opise i sheme. - 02Korisnik pita: "Koje narudžbe ovog kupca su još otvorene?"
- 03Model bira
search_ordersi upisuje id kupca i statusopen. - 04Klijent šalje poziv (
tools/call). Server provjerava ko je korisnik i smije li vidjeti narudžbe tog kupca. - 05Server poziva API sistema za narudžbe i primjenjuje vlastita ograničenja.
- 06Server vraća rezultat, a model ga koristi za odgovor korisniku.
Za šta kompanije koriste MCP
Kompanije koriste MCP servere na dva načina: da AI alati njihovih zaposlenih rade s internim sistemima i da agenti njihovih klijenata rade s njihovim proizvodom. Prva tri primjera u nastavku su ilustrativna, tipični slučajevi interne upotrebe. Četvrti je Moneyline, proizvod koji smo izradili i koji je u radu.
Pregled podataka u ERP-u ili CRM-u, samo za čitanje
Na primjer, account manageri pitaju asistenta o klijentu prije poziva. Server nad ERP-om i CRM-om nudi alate za čitanje kao što su get_customer i list_open_orders, ograničene na klijente koje taj korisnik smije vidjeti. Ništa se ne upisuje, pa je ovo dobar prvi server.
Pretraga sistema za dokumente
Tipičan slučaj: ljudi imaju pitanja o ugovorima i procedurama koji se čuvaju u sistemu za upravljanje dokumentima. Server nudi alat search_documents koji vraća odgovarajuće odlomke s linkom na izvor. Prava pristupa iz sistema za dokumente i dalje važe, pa pretraga vraća samo ono što je korisnik već mogao otvoriti.
Kreiranje i izmjena tiketa, uz odobrenje
Na primjer, IT service desk pušta agenta da razvrstava pristigle zahtjeve. Server nudi create_ticket i add_comment, s ograničenjima u kodu alata: fiksnom listom kategorija i bez alata za zatvaranje tiketa. Agent priprema svaku izmjenu, zaposlenik service deska je odobrava, a server bilježi ko je šta odobrio.
Vaš proizvod kao MCP server: Moneyline
Kod proizvoda je obrnuto: objavljujete MCP server da AI alati vaših klijenata mogu raditi s proizvodom. Moneyline, koji smo izradili, open-source je API koji prima, razvrstava, parsira i obogaćuje finansijske dokumente, a u radu je na moneyline.co (otvara se u novoj kartici). Uz njega dolazi MCP server koji te mogućnosti nudi kao alate koje agent može pozvati.
API, SDK-ovi, dashboard i MCP server pozivaju iste servise u pozadini, pa programer koji poziva endpoint i agent koji poziva alat dobijaju isto parsiranje.
MCP ili API: koja je razlika?
API integracija je kod koji programer napiše da jedan sistem poziva drugi na fiksan način. MCP server opisuje akcije sistema tako da ih AI aplikacije mogu pronaći, a model odlučiti kada ih koristiti. Za sam posao MCP server obično poziva postojeći API, pa API ostaje i dobija sloj za AI alate.
| Karakteristika | API integracija | MCP server |
|---|---|---|
| Ko ga poziva | Kod koji je programer napisao za jednu integraciju | AI aplikacija u ime korisnika, a model bira poziv |
| Kako su akcije opisane | Dokumentacija za programere: endpointi, polja, kodovi grešaka | Nazivi alata, opisi običnim jezikom i ulazne sheme, pisani za model |
| Pronalaženje akcija | Programer čita dokumentaciju prije pisanja koda | Klijent pri svakom povezivanju pita server za alate |
| Tipična upotreba | Fiksni tokovi podataka, na primjer kada plaćena narudžba postane faktura | Raznoliki zahtjevi asistenata i agenata, kao što su pitanja o klijentu |
| Šta ne zamjenjuje | Kod za integraciju koji bi svakoj AI aplikaciji trebao za korištenje API-ja | API ispod sebe, poslovna pravila tog API-ja i zakazane integracije |
To dvoje radi jedno uz drugo: noćna sinhronizacija i dalje koristi API sistema za narudžbe, a MCP server poziva isti API kada asistentu treba narudžba. Naš članak šta je API integracija objašnjava taj sloj.
MCP sigurnost: šta kontrolisati
Osigurati MCP server znači odlučiti ko se može prijaviti, šta svaki korisnik smije raditi preko servera, koje akcije čekaju odobrenje čovjeka i šta se bilježi. Znači i tretirati sve što alat vrati kao nepouzdan ulaz i provjeriti svaki server treće strane prije nego što ga iko poveže s podacima kompanije.
Prijava i prava po korisniku
Za udaljene servere MCP specifikacija definiše autorizaciju zasnovanu na OAuth-u. Korisnik se prijavljuje preko vašeg identity providera, AI aplikacija dobija token za tog korisnika, a server ga provjerava pri svakom pozivu. Izbjegavajte zajednički nalog sa širokim pristupom, jer bi taj pristup naslijedio svaki korisnik asistenta.
Svakom alatu dodijelite scope (skup dozvola), na primjer crm:read ili tickets:write, i provjeravajte ga za svakog korisnika. Asistent prodavača tada vidi samo klijente tog prodavača. Lokalni server obično radi s API ključem sačuvanim na računaru; dajte tom ključu najuža dostupna prava.
Standardno samo čitanje, odobrenje prije upisa
Počnite s alatima za čitanje, a alate za upis dodajte jedan po jedan, svaki uzak koliko i njegov zadatak, kao što je add_comment(ticket_id, text). Opći alati kao što je run_query modelu omogućavaju mnogo više nego što ijedan zadatak traži. Ograničenja stavite u kod servera, gdje ih nijedan prompt ne može promijeniti: najveće iznose, dozvoljene statuse i zapise koje alat smije mijenjati.
Akcije koje je teško poništiti ili koje izlaze izvan vaše organizacije, kao što su plaćanja, e-mailovi klijentima i izmjene zapisa, traže odobrenje imenovane osobe, zabilježeno uz akciju. Neke AI aplikacije traže od korisnika da potvrde pozive alata, ali ljudi koji potvrđuju svaki poziv s vremenom prestanu čitati, pa ovo odobrenje držite u vlastitom sistemu. Naš članak o AI agentima uz ljudsko odobrenje pokriva tačke odobrenja i nivoe rizika.
Bilježite svaki poziv alata
Za svaki poziv zabilježite korisnika, alat, argumente, rezultat i vrijeme i pošaljite zapis u postojeće alate za praćenje. Taj log i mjesecima kasnije odgovara na pitanje "ko je promijenio ovaj zapis i preko kojeg asistenta?". Dodajte ograničenja broja poziva po korisniku i po alatu, da agent zaglavljen u petlji ne može zatrpati sistem iza servera.
Izlaz alata tretirajte kao nepouzdan ulaz
Sve što alat vrati stiže do modela kao tekst: tijelo e-maila, tiket, preuzeta web stranica. Taj tekst može nositi upute namijenjene modelu, na primjer tiket koji asistentu kaže da izveze sve zapise o klijentima. To je prompt injection (ubacivanje uputa u podatke koje model čita), a modeli ne mogu pouzdano razlikovati vaše upute od uputa skrivenih u podacima.
- Prava provjeravajte u serveru, pa ubačena uputa može doći samo do onoga do čega je korisnik ionako mogao doći.
- Kada sesija čita nepouzdan sadržaj, stavite odobrenje na alate koji šalju podatke van, kao što je e-mail.
Provjerite servere trećih strana
Server koji je napisao neko drugi daje njegovom kodu put do vaših podataka. Prije nego što ga iko poveže, provjerite:
- Ko ga objavljuje. Prednost dajte serveru koji objavljuje dobavljač samog sistema.
- Šta kažu opisi njegovih alata. Model ih čita, pa zlonamjeran server tu može sakriti upute.
- Do čega lokalni server može doći. Radi kao program na računaru korisnika, s pristupom datotekama i mreži tog korisnika.
- Kuda udaljeni server šalje vaše podatke, ko ga hostuje i u kojoj regiji.
- Šta se mijenja s ažuriranjem. Fiksirajte verziju i pregledajte izmjene liste alata prije nego što novu verziju uvedete.
Vlastiti server, server dobavljača ili bez MCP-a
Koristite MCP server dobavljača kada je vaš sistem uobičajen proizvod, a dobavljač objavljuje server koji prolazi vaše provjere. Izradite vlastiti kada više AI alata ili timova treba iste interne sisteme, ili kada želite da agenti vaših klijenata koriste vaš proizvod. Kada jedna aplikacija poziva jedan API na fiksan način, direktna integracija je jednostavnija.
Kada je server dobavljača dovoljan
Server dobavljača je dovoljan kada je sistem standardan SaaS proizvod, dobavljač održava server, a njegovi alati i scopeovi pokrivaju ono što vašim ljudima treba.
Kada izraditi vlastiti server
- Više AI alata ili timova treba iste interne sisteme. Server izradite jednom, a Claude, ChatGPT i vaši interni agenti dijele njegove alate, prava i logove.
- Sistem je interni ili stariji softver bez vlastitog MCP servera.
- Trebaju vam pravila koja generički server ne može znati: vaši koraci odobrenja, prava po ulozi, ograničenja iznosa ili zapisa.
- Želite da agenti vaših klijenata koriste vaš proizvod, kao kod Moneylinea.
Naš početni paket za MCP server, open source na GitHubu, pokazuje strukturu od koje polazimo: OAuth prijavu, scope za svaki alat, tipizirane ulaze, ograničenja broja poziva i revizijski log svakog poziva. Ako želite da vam server izradimo i održavamo, pogledajte kako izrađujemo MCP servere po mjeri za interne sisteme i proizvode.
Kada je direktna integracija jednostavnija
Ako jedna aplikacija poziva jedan API, na primjer za noćnu sinhronizaciju, ili vaš tim u kodu piše agenta kojem trebaju samo dvije funkcije, definišite te pozive u toj aplikaciji. MCP server je još jedna stvar koju treba osigurati i održavati. Dodajte ga kada drugom AI alatu zatreba isti pristup.
Pitanja o MCP-u
Radi li MCP samo s Claudeom?
Ne. Anthropic je Model Context Protocol predstavio kao otvoreni standard koji može implementirati svaka AI aplikacija. ChatGPT se može povezati s MCP serverima, a agenti koje izradi vaš tim mogu se povezati preko open-source SDK-ova protokola. Aplikacije se razlikuju po tome koje dijelove protokola podržavaju, pa provjerite svoju.
Zamjenjuje li MCP server API?
Ne. MCP server obično stoji iznad postojećeg API-ja sistema i poziva ga da obavi posao. API i dalje služi vašim drugim integracijama, a MCP server opisuje odabrane akcije koje AI aplikacije mogu pronaći i koristiti.
Da li je MCP server siguran?
MCP server je siguran kada su kontrole ugrađene u dizajn. Protokol definiše autorizaciju zasnovanu na OAuth-u za udaljene servere. Prava po korisniku, samo čitanje kao standard, odobrenje prije akcija upisa, log svakog poziva alata i provjera servera trećih strana prepušteni su onome ko server izrađuje i održava.
Treba li vam MCP server za AI agente?
Ne uvijek. Agentu trebaju alati, a kada jedan agent radi s nekoliko sistema, te alate možete definisati u njegovom kodu. MCP server se isplati kada iste sisteme treba više agenata ili asistenata kao što su Claude ili ChatGPT. Naš članak šta je AI agent objašnjava ostalo.