Asistent zna napisati SQL upit, ali ga ne može sam pokrenuti na vašoj bazi. Isto važi za čitanje fajla, otvaranje zadatka u trackeru ili pregled greške u produkciji. Za svaku takvu vezu neko mora napisati kod. Model Context Protocol (MCP) želi da se taj kod napiše jednom, po zajedničkim pravilima. Tada ne treba posebna veza za svaki par aplikacije i usluge.

Ukratko

MCP je otvoreni protokol. Određuje kako AI aplikacija (host) razgovara s vanjskim programima (serverima): kako traži spisak alata, kako ih poziva i kako prima podatke. Anthropic ga je objavio 25. novembra 2024. Trenutna verzija specifikacije nosi datum 2026-07-28. Server može biti program na vašem računaru ili usluga na internetu. Protokol sam po sebi ne garantuje sigurnost. O tome šta se smije pozvati odlučuje host, a često i korisnik.

Koji problem MCP rješava?

Prije MCP-a svaka AI aplikacija pravila je posebnu vezu za svaki izvor podataka. Anthropic je to opisao u najavi iz 2024: za svaki izvor zasebna integracija, napravljena ručno. MCP to zamjenjuje jednim zajedničkim protokolom. Server za neku uslugu napišete jednom, i on radi sa svakom aplikacijom koja podržava MCP.

Specifikacija navodi da je MCP nastao po uzoru na Language Server Protocol. Taj protokol daje uređivačima koda zajednički način da podrže različite programske jezike. Poruke u MCP-u koriste format JSON-RPC 2.0.

Podršku za MCP opisuju dokumentacije za VS Code i OpenAI API. Ne navodimo brojke o broju servera i preuzimanja, jer za njih nema nezavisnog izvora. Podršku u drugim klijentima nismo provjeravali jednu po jednu.

Host, klijent i server

Arhitektura ima tri dijela.

  • Host je aplikacija u kojoj razgovarate s modelom, na primjer Claude Code ili VS Code.
  • Klijent (client) je dio hosta. Host pravi jedan klijent za svaki server. Svaki klijent ima svoju vezu.
  • Server je program koji nudi mogućnosti: pristup fajlovima, bazi ili trackeru grešaka.

Na jednom mjestu specifikacija klijent zove i “connector”. To nije isto što i konektor u ChatGPT-u ili Claudeu. Tamo konektor znači direktnu vezu s vašim nalogom na nekoj usluzi, koju uključujete u podešavanjima. U ovom tekstu “konektor” znači samo to drugo.

Ispod poruka je transportni sloj. To je kanal kojim poruke putuju. Više o njemu u nastavku.

Šta server nudi?

Server nudi tri vrste stvari.

Alati (tools) su najvažniji. Alat je funkcija koju model može pozvati, na primjer “pročitaj fajl”, “pretraži greške” ili “izvrši SQL upit”. Server za svaki alat daje naziv, kratak opis i podatke koje alat prima. Model iz opisa zaključuje kada da ga zatraži. Poziv izvršava host. To je isti mehanizam kao pozivanje alata (tool calling), samo standardizovan. Aplikacija ne mora unaprijed znati ništa o serveru. Dovoljno je da ga pita šta nudi.

Resursi (resources) su podaci koje server daje kao kontekst, na primjer sadržaj fajla ili zapisi iz baze. Model ih čita, ali ih ne izvršava.

Promptovi su gotovi šabloni poruka i tokova rada za korisnika, na primjer pripremljen zahtjev za pregled koda.

Još nešto o historiji. Starija objašnjenja MCP-a opisuju početno rukovanje (handshake) i stalnu sesiju. Od verzije 2026-07-28 toga više nema na nivou protokola. Svaki zahtjev sam nosi verziju protokola i mogućnosti klijenta (Key Changes). Ako neki tekst to opisuje kao srž protokola, taj tekst je zastario.

Lokalno ili udaljeno?

Razlika je u tome gdje server radi.

Lokalni server je program na vašem računaru. Host ga pokreće kao zaseban proces. S njim razgovara preko standardnog ulaza i izlaza (transport stdio). Veza između hosta i servera ne napušta vaš računar. Ipak, rezultati alata i dalje idu do modela. Ako server treba prijavu za neku uslugu, uzima je iz okruženja u kojem radi.

Udaljeni server je usluga na internetu. Host se na njega spaja preko transporta Streamable HTTP. Za takve veze specifikacija predviđa autorizaciju zasnovanu na OAuth 2.1, ali ona nije obavezna. Stariji transport HTTP+SSE od ove verzije je zastario.

Kako host razgovara sa serverima preko MCP-a Host s modelom drži po jedan klijent za svaki server. Prvi server, Filesystem, radi lokalno i s klijentom razgovara preko stdio. Drugi i treći, GitHub i Supabase, rade udaljeno preko Streamable HTTP. Poziv alata teče u tri koraka: klijent pita server šta nudi, model traži alat a host šalje poziv, server izvrši alat i vrati rezultat. Kako host razgovara sa serverima preko MCP-a Jedan host, po jedan klijent za svaki server, a alate nudi server HOST aplikacija s modelom (npr. Claude Code, VS Code) SERVERI MODEL traži alate KLIJENT 1 drži vezu s jednim serverom stdio lokalni server Filesystem fajlovi na vašem računaru KLIJENT 2 drži vezu s jednim serverom Streamable HTTP udaljeni server GitHub repozitoriji, issues, pull requesti KLIJENT 3 drži vezu s jednim serverom Streamable HTTP udaljeni server Supabase baza podataka (npr. SQL upiti) KAKO TEČE POZIV ALATA 1. Klijent pita server šta nudi, a server vrati popis alata s opisima. 2. Model na osnovu opisa traži alat, a host obično uz odobrenje korisnika šalje poziv serveru. 3. Server izvrši alat i vrati rezultat, koji model koristi u odgovoru. Pojednostavljeno: host može imati više klijenata i servera. Servere navodimo kao primjere. Pusti ponovo
Host ima jedan klijent za svaki server. Lokalni server komunicira preko stdio, udaljeni preko Streamable HTTP.

Primjeri servera

Šest servera čije smo postojanje provjerili 25. oktobra 2026.

Server Ko ga objavljuje Šta nudi Gdje radi
Filesystem MCP projekat (referentni server) Čitanje, pretraga, pisanje i premještanje fajlova, samo u folderima zadanim pri pokretanju Lokalno
GitHub GitHub Repozitoriji, issues, pull requestovi, Actions, sigurnosni nalazi Udaljeno i lokalno (Docker)
Playwright Microsoft Upravljanje preglednikom: klikanje, unos teksta, otvaranje stranica Lokalno
Sentry Sentry Pretraga grešaka, analiza performansi, razvrstavanje problema Udaljeno
Notion Notion Pretraga, čitanje, pravljenje i izmjena stranica i baza Udaljeno
Supabase Supabase Alati za bazu (npr. izvršavanje SQL-a), funkcije, grane Udaljeno, ima i lokalnu varijantu

Prvi referentni serveri iz najave iz 2024. (GitHub, PostgreSQL, Puppeteer, Slack) danas su arhivirani. Održava se sedam referentnih servera, među njima i Filesystem.

Na šta paziti

Ako server modelu da alat koji piše u bazu ili upravlja preglednikom, model dobija i priliku da napravi štetu. Specifikacija to priznaje. Prema njenim sigurnosnim principima, host mora dobiti izričit pristanak korisnika prije poziva bilo kojeg alata. Opise ponašanja alata, na primjer anotacije, host treba smatrati nepouzdanim, osim ako dolaze s pouzdanog servera. Specifikacija dodaje da protokol sam ne može provesti ta pravila. Zato od autora aplikacija traži da ugrade pouzdane korake za pristanak i autorizaciju.

Proizvođači upozoravaju konkretnije. Supabase u dokumentaciji navodi glavni napad specifičan za velike jezičke modele: nepouzdan tekst u podacima može navesti model da izvrši tuđe naredbe. Savjetuje da pregledate svaki poziv prije izvršenja. Također savjetuje da server ne dajete klijentima ni krajnjim korisnicima, jer radi s dozvolama programera. Playwright u svom README-ju kaže: “Playwright MCP is not a security boundary.” (Playwright MCP nije sigurnosna granica.) OpenAI u dokumentaciji piše da nije provjerio udaljene servere i da postoji isti rizik. Naš savjet: ručno odobravajte svaki poziv koji nešto mijenja. Za bazu birajte način rada samo za čitanje, ako ga server nudi.

Povezano

Izvori