Na ovoj stranici
Prvog aprila 2025. godine, Invariant Labs je objavio alat pod imenom add. Primao je dva broja i vraćao njihov zbir. Njegov opis je, međutim, sadržao i blok označen sa IMPORTANT, nevidljiv u interfejsu klijenta, koji je modelu nalagao da pročita ~/.cursor/mcp.json i ~/.ssh/id_rsa i da oba fajla pošalje napolje kroz suvišan parametar. Model je poslušao. Korisnik je video sabiranje.
Ta demonstracija je najkorisniji uvod u MCP servere koji znam, jer pokazuje obe polovine odjednom. Protokol je radio tačno onako kako je zamišljen: AI klijent je otkrio alat, pročitao njegov opis i pozvao ga. Model poverenja je bio deo koji još niko nije napravio.
Šta je MCP server
MCP server je program koji AI aplikacijama izlaže alate, podatke i promptove preko protokola Model Context Protocol (MCP). Zvanična dokumentacija definiše MCP kao „standard otvorenog koda za povezivanje AI aplikacija sa spoljnim sistemima“. AI klijent kao što su Claude, ChatGPT, Visual Studio Code ili Cursor povezuje se sa serverom, pita šta nudi i poziva te mogućnosti u ime korisnika.
Anthropic je najavio MCP 25. novembra 2024. godine sa šest gotovih servera: Google Drive, Slack, GitHub, Git, Postgres i Puppeteer. OpenAI ga je usvojio u martu 2025. Google DeepMind je usledio u aprilu. U decembru 2025. Anthropic je protokol poklonio fondaciji Agentic AI Foundation, usmerenom fondu pod okriljem Linux Foundation koji su suosnovali Anthropic, Block i OpenAI.
Problem je množenje veza. Ranije je svaka AI aplikacija za pristup GitHub-u pisala svoj konektor, a svaki pružalac po jednu vezu za svaku AI aplikaciju. Deset modela i deset alata moglo je značiti sto integracija. MCP taj broj svodi na dvadeset: svaki klijent jednom implementira protokol, a svaki sistem izlaže jedan server.
Zamislite ga kao brodski kontejner AI integracija. Pre kontejnera, svaka luka je svaki teret utovarala ručno, sopstvenim dizalicama i sopstvenom posadom. Kontejner je standardizovao kutiju, pa su bilo koji brod, dizalica i kamion mogli da prevezu bilo koji teret. Nije, međutim, standardizovao ono što je u kutiji, i nikada nije proveravao sadržaj. MCP je ista pogodba. Zapamtite tu drugu polovinu, vraća se u delu o bezbednosti.
Kako MCP server radi
Aktuelna specifikacija, verzija 2026-07-28, koristi JSON-RPC 2.0 poruke između tri uloge. Njen sopstveni opis ima tri reda: hostovi su „LLM aplikacije koje iniciraju veze“, klijenti su „konektori unutar host aplikacije“, a serveri su „servisi koji pružaju kontekst i mogućnosti“.
Host, klijent, server
Host je aplikacija u koju kucate: Claude Desktop, razvojno okruženje (IDE), vaš sopstveni agent. Unutar nje radi po jedan klijent za svaku vezu sa serverom. Server se nalazi na drugoj strani i razgovara sa stvarnim sistemom, bilo da je to Postgres baza podataka, GitHub API ili folder na vašem disku. Host odlučuje šta model vidi i šta korisnik mora da odobri. Server odlučuje šta će sistem u pozadini uraditi.
- Host Claude Desktop · IDE · vaš sopstveni agent
pokazuje modelu alate, traži saglasnost korisnika
- Klijent po jedan za svaku vezu sa serverom
govori JSON-RPC preko stdio ili Streamable HTTP
- MCP server alati · resursi · promptovi
opisuje šta nudi i izvršava pozive
- Sistem u pozadini baza podataka · SaaS API · lokalni fajlovi
obavlja posao
Alati, resursi i promptovi
Server može da nudi tri vrste stvari:
- Alati (tools) su funkcije koje model može da izvrši:
create_issue,query_orders,send_email. Svaki ima ime, opis i JSON Schema za svoje ulaze. - Resursi (resources) su kontekst i podaci koje korisnik ili model čita: fajl, šema baze podataka, zapis.
- Promptovi (prompts) su šablonske poruke i tokovi rada koje korisnik može da izabere, na primer „sažmi ovaj pull request“.
Alati dobijaju najviše pažnje jer deluju. Upravo zato nose i najveći rizik.
Poziv alata, korak po korak
Revizija 2026-07-28 učinila je MCP protokolom bez stanja. Više nema initialize rukovanja. Svaki zahtev nosi verziju protokola i mogućnosti klijenta u polju _meta, a serveri moraju da implementiraju metodu server/discover, kako bi klijent unapred mogao da pita šta podržavaju. Jedan poziv alata sada izgleda ovako:
-
Korisnik traži: napravi tiket za ovaj bag
- Korak 1
Otkrivanje
- Klijent može da pozove server/discover radi verzija i mogućnosti
- Korak 2
Lista alata
- tools/list vraća imena, opise i šeme ulaza
- Korak 3
Model bira alat
- Host prosleđuje modelu definicije alata
- Korak 4
Saglasnost korisnika
- Specifikacija kaže da host mora dobiti izričitu saglasnost pre pozivanja bilo kog alata
- Korak 5
Poziv
- tools/call sa argumentima, verzija protokola u _meta
-
Nedostaje ulaz? Server vraća input_required, klijent ponavlja poziv sa odgovorima
Korak 6Rezultat
-
Rezultat se vraća modelu kao kontekst
Korak 6 je nov u ovoj reviziji. Server kome treba više informacija više ne šalje klijentu sopstveni zahtev. Vraća rezultat označen sa input_required, klijent prikuplja odgovor i ponavlja prvobitni poziv. Specifikacija ovo naziva obrascem Multi Round-Trip Request.
Transporti: stdio i Streamable HTTP
Specifikacija definiše dva standardna transporta:
- stdio: klijent pokreće server kao potproces i razmenjuje sa njim JSON-RPC poruke odvojene novim redom preko standardnog ulaza i izlaza. Tako radi većina lokalnih servera, a to znači da server radi na vašem računaru sa vašim privilegijama.
- Streamable HTTP: svaka poruka je HTTP POST na jednu krajnju tačku, a odgovori stižu kao JSON objekat ili kao tok događaja vezan za zahtev. Tako rade udaljeni, hostovani serveri.
Stariji HTTP+SSE transport je formalno zastareo. Revizija 2026-07-28 uklonila je i sesije na nivou protokola i zaglavlje Mcp-Session-Id. Server kome je potrebno stanje između poziva sada sam pravi svoj identifikator i dobija ga nazad kao običan argument alata.
Autorizacija
Autorizacija je u MCP-u opciona i odnosi se samo na HTTP. Za stdio, specifikacija kaže da serveri treba da uzimaju kredencijale iz okruženja. Preko HTTP-a, zaštićeni MCP server se ponaša kao OAuth 2.1 resource server. Mora da objavi OAuth Protected Resource Metadata (RFC 9728) kako bi klijenti pronašli njegov autorizacioni server. Klijenti moraju da navedu tačan server za koji je token namenjen (RFC 8707 resource indicators). Serveri moraju da odbiju svaki token koji nije izdat za njih, a bezbednosne smernice izričito zabranjuju „token passthrough“, odnosno prosleđivanje klijentovog tokena bez izmene nekom API-ju dalje niz lanac.
To poslednje pravilo je važnije nego što izgleda. Server koji prosleđuje svaki token koji primi postaje proksi za svakoga ko drži neki token.
Šta dodaje MCP UI: serveri koji vraćaju interfejs
Tekstualni odgovori prestaju da rade onog trenutka kada korisnik treba da uporedi četrdeset redova, izmeni formular sa dvanaest polja ili odobri paket izmena jednu po jednu. „MCP UI“ je naziv pod kojim ljudi traže rešenje: server vraća interaktivni interfejs koji se prikazuje unutar AI klijenta, pored razgovora.
Status vredi navesti precizno. Ideja je počela kao projekat zajednice MCP-UI. OpenAI je sličan mehanizam ugradio u Apps SDK. Projekat MCP je 21. novembra 2025. sa oba učesnika predložio zajednički standard, a 26. januara 2026. objavio MCP Apps kao prvo zvanično proširenje MCP-a. Paketi MCP-UI sada implementiraju taj standard i služe za istraživanje budućih poboljšanja.
Dakle, MCP UI danas znači MCP Apps. Zvaničan je, i to je proširenje, a ne jezgro protokola. Proširenja su opciona: moraju ih podržavati i klijent i server, a dokumentacija otvoreno kaže da „podrška hostova zavisi od klijenta“. Dokumentacija MCP Apps navodi Claude, Claude Desktop, VS Code GitHub Copilot, Microsoft 365 Copilot, Goose, Postman, MCPJam i Archestra.AI kao hostove koji ga podržavaju. Server čiji alati vraćaju UI i dalje mora da radi i za klijenta koji prikazuje samo tekst.
Mehanički, koristi delove koje MCP već ima:
- Opis alata sadrži
_meta.ui.resourceUrikoji pokazuje naui://resurs. - Host preuzima taj resurs, HTML stranicu sa njenim skriptama, i može da ga učita unapred, pre poziva alata.
- Host ga prikazuje u izolovanom iframe-u koji ne može da čita roditeljsku stranicu, njene kolačiće ni skladište.
- Aplikacija i host razgovaraju preko
postMessageu JSON-RPC dijalektu MCP-a. Aplikacija može da traži pozive alata, a host odlučuje koje dozvoljava.
Cena je stvarna. Sada isporučujete veb front end unutar tuđe aplikacije, sa content security policy koju morate da deklarišete, sa pravilima prikaza koja ne kontrolišete i sa tekstualnom alternativom za svaki host koji ga ignoriše. Dobitak je u tome što odobravanje prestaje da bude transkript četa. Spisak dobrih primena u dokumentaciji završava se sa „odobravanje putnih troškova, pregled izmena koda ili trijaža problema“, i to je pošteno jezgro priče: MCP UI je najbolji za odluke, ne za dekoraciju.
Tajo primer samo za čitanje
Tajo-ova Alto MCP površina uključuje query_contacts, alat koji traži kontakte sačuvane u povezanom radnom prostoru. Potražite postojeći kontakt po adresi e-pošte i proverite vraćeni ID, stanje pristanka za e-poštu i vreme poslednjeg viđenja. Odvojeni get_contact_topic_status čita pretplate tog kontakta po temama.
To su čitanja iz radnog prostora. Ne preuzimaju svež snimak od pružaoca usluge, ne pokreću sinhronizaciju i ne šalju poruku. Takođe ne potvrđuju da svaki konektor radi. Ispitajte nedostajuće ili zastarele podatke na izvoru. Prazan rezultat ne dokazuje da osoba ne postoji u Brevu.
U Tajo MCP dokumentaciji povežite podržan klijent i pregledajte alate zaista izložene vašem ovlašćenom prostoru. Interaktivni panel može pomoći kada domaćin podržava MCP Apps; tekstualni rezultat ipak mora objasniti ishod.
Poziv alata nije trajna sinhronizacija
Redovnoj sinhronizaciji potrebni su i raspored, stabilan identitet zapisa, sačuvan napredak, odluke o ponovnim pokušajima i evidencija završenih upisa. Za to je odgovorna aplikacija koja izvršava posao. MCP standardizuje pristup alatima, ali sam spisak alata ne obezbeđuje poslovna pravila.
Posle isteka vremena čitanje se obično može ponoviti. Slanje ili plaćanje možda se već dogodilo. Sačuvajte zapis izvršavanja i utvrdite ishod pre novog pokušaja. Pouzdanost modela ne daje ovlašćenje niti čini ponavljanje bezbednim.
Za upis konkretnog kontakta pogledajte vodič za Brevo API. Kada izračunata polja zaslužuju održavanu sinhronizaciju, objašnjava reverse ETL.
Račun za bezbednost stiže zajedno sa protokolom
Prigovor zaslužuje da bude izrečen u celosti: „MCP daje probabilističkom modelu listu funkcija koje mogu da brišu podatke i šalju imejlove, a zatim veruje tekstu koji su napisali stranci da ih opiše. To nije standard za integracije. To je napad na lanac snabdevanja sa specifikacijom.“ Veći deo toga je tačan. Specifikacija se slaže sa premisom. Njen bezbednosni odeljak kaže da alati „predstavljaju izvršavanje proizvoljnog koda i sa njima se mora postupati sa odgovarajućim oprezom“, da opise alata „treba smatrati nepouzdanim, osim ako nisu dobijeni od pouzdanog servera“, i da MCP „ne može da nametne ova bezbednosna načela na nivou protokola“.
Evo dosadašnjeg bilansa:
- Tool poisoning (trovanje alata). Otkriće kompanije Invariant Labs iz aprila 2025, gore pomenuti alat
add. Isti tekst opisao je takozvani rug pull, kada server promeni opis alata nakon što ste ga odobrili, i shadowing (zasenčivanje), kada jedan zlonamerni server prepravi ponašanje modela prema nekom pouzdanom serveru. - Kompromitovanje lokalnog servera. U julu 2025. JFrog je otkrio CVE-2025-6514 u
mcp-remote, verzije od 0.0.5 do 0.1.15, koja je zlonamernom serveru omogućavala da pokreće komande na korisnikovom računaru. Istog leta, CVE-2025-49596 pogodila je Anthropicov sopstveni MCP Inspector, koji se podrazumevano isporučivao bez autentifikacije. - Naduvavanje opsega. Zvanične najbolje bezbednosne prakse imenuju ovaj obrazac: tokeni kojima su unapred dodeljeni
files:*iliadmin:*, jer je server naveo sve opsege, a klijent ih je sve zatražio. - Zvanična zabrinutost. U maju 2026. američka Nacionalna bezbednosna agencija (NSA) navela je da je „brzo širenje MCP-a nadmašilo razvoj njegovog bezbednosnog modela“.
Prigovor greši u zaključku. Rešenje nikada nije bilo da se modeli prestanu povezivati sa sistemima. Timovi su to već radili sa sirovim API ključevima nalepljenim u promptove i skripte, bez ikakvog revizionog traga. Rešenje je da se MCP server tretira kao svaka druga privilegovana zavisnost:
- Instalirajte servere samo iz izvora kojima biste poverili iste kredencijale i van MCP-a.
- Dajte prednost udaljenim serverima sa OAuth-om i uskim opsezima u odnosu na lokalne binarne fajlove sa dugotrajnim ključevima.
- Zahtevajte ljudsko odobrenje za svaki upis i beležite ko je šta odobrio.
- Fiksirajte verzije servera i ponovo ih pregledajte kada se opis alata promeni.
- Izlažite alate skrojene po zadacima, a ne ceo API. Model ne može da zloupotrebi krajnju tačku za brisanje koja nikada nije bila izložena.
Protokol je standardizovao kutiju. Pregled tereta je i dalje vaš posao.
Napraviti MCP server ili koristiti postojeći
Javni direktorijumi kao što je mcp.so katalogizuju servere koje je napravila zajednica, a mnogi SaaS dobavljači objavljuju sopstvene. Brevo, na primer, isporučuje MCP server koji je podeljen i na pojedinačne servere, tako da agent može da dobije kontakte bez kampanja. Odluka se manje tiče truda, a više toga ko treba da odredi oblik alata.
Koji MCP server treba da koristi vaš agent?
-
Dobavljač objavljuje server koji pokriva zadatak
Koristite server dobavljača
Prati API, a održava ga dobavljač.
-
Jedan sistem, ali vam treba manje ili bezbednijih radnji
Koristite ga, sa suženim opsegom
Dodelite minimalne opsege i izložite samo grupe alata koje agentu trebaju.
-
Interni podaci ili sistem bez servera
Napravite mali server
Nekoliko alata skrojenih po zadacima nad vašim sopstvenim API-jem, sa vašom sopstvenom autentifikacijom.
-
Zadatak obuhvata dva ili više sistema
Napravite ili usvojite upravljani sloj
Jedan skup alata, pravila saglasnosti i istorije revizije za sve njih.
Napraviti osnovni server je lakši deo. Sa zvaničnim SDK-om, funkcionalan stdio server sa jednim alatom je posao za jedno popodne. Trošak stiže kasnije: OAuth za HTTP verziju, zastarevanja (revizija 2026-07-28 proglasila je zastarelim Roots, Sampling i Logging, kao i Dynamic Client Registration) i stalni posao pisanja opisa alata koje model ispravno čita. Obavijanje API-ja po principu jedna krajnja tačka, jedan alat je najčešća greška. Svaki opis alata je tekst koji model mora da pročita i odmeri, pa kratka lista alata skrojenih po zadacima pobeđuje celu površinu API-ja.
MCP, API-ji, integracije i iPaaS
MCP ne zamenjuje API-je. Gotovo svaki MCP server je omotač oko nekog API-ja. Posao se i dalje obavlja u API-ju, sa njegovim ograničenjima brzine, modelom podataka i čudima. MCP menja to ko može da ga pozove: model, u toku rada, koji bira poziv na osnovu opisa, umesto programera koji ga unapred fiksno ukodira.
Ta razlika povlači jasnu granicu prema druge dve stvari sa kojima se MCP meša:
- Integracije i iPaaS (glavne platforme su upoređene ovde) premeštaju podatke po rasporedu ili na okidač, deterministički, bez obzira na to da li je neko u četu. Noćna sinhronizacija 40.000 porudžbina u CRM ne bi trebalo da zavisi od toga da li će model odlučiti da napravi 40.000 poziva alata.
- Reverse ETL gura modelovane podatke iz skladišta podataka nazad u operativne alate. Šta je reverse ETL i kada se uklapa je posebna tema, i to je pajplajn, ne razgovor.
- MCP je za trenutke kada osoba ili agent treba da pita, proveri ili deluje kroz te sisteme, na zahtev.
Greška ide u oba smera. Neki timovi prave MCP servere za masovnu sinhronizaciju i dobijaju spore, skupe pajplajnove koji se ne mogu ponoviti. Drugi timovi prave pažljive integracije, a zatim svom AI asistentu daju sirovi API ključ da ih upituje, i dobijaju nekontrolisana sporedna vrata.
Kod podržane integracije trajni posao i alati za njegov pregled treba da dele jasnu granicu ovlašćenja. Za konkretan tok proverite konektor, dozvoljene radnje i zabeležene ishode. Dokumentacija integracija razlikuje uputstva za podešavanje od puteva koji još traže dokaz iz produkcije. MCP može izložiti posebne odobrene alate; njihov spisak ne dokazuje da je redovna sinhronizacija aktivna ni da sve kontrole rade.
Za 22 meseca, MCP je od šest referentnih servera postao projekat Linux Foundation koji govore Claude, ChatGPT, VS Code i Cursor. Povezivanje modela sa sistemom je sada jeftin deo. Pravi posao je odlučiti šta tamo sme da radi.
Često Postavljana Pitanja
Šta je MCP server?
MCP server je program koji AI aplikacijama izlaže alate, resurse i promptove preko protokola Model Context Protocol, otvorenog standarda koji je Anthropic objavio 25. novembra 2024. godine. AI klijent kao što je Claude ili ChatGPT se povezuje sa njim, pita šta nudi i poziva njegove alate da čita podatke ili izvršava radnje u drugom sistemu.
Koja je razlika između MCP servera i API-ja?
API je interfejs koji sistem izlaže bilo kom programu. MCP server obično obavija jedan ili više API-ja i opisuje ih u formatu koji AI model može da otkrije i pozove: imenovani alati sa ulazima u JSON Schema formatu, čitljivi resursi i promptovi za višekratnu upotrebu. Posao radi API. MCP server ga čini upotrebljivim za AI klijenta bez posebnog vezivnog koda za svaki model.
Da li je MCP UI deo zvanične MCP specifikacije?
Interaktivni UI je sada zvanično, opciono MCP proširenje pod imenom MCP Apps, najavljeno 26. januara 2026. godine kao prvo zvanično MCP proširenje. Nastalo je iz projekta zajednice MCP-UI i iz OpenAI Apps SDK. Paketi MCP-UI danas implementiraju standard MCP Apps. Nije deo jezgra specifikacije, pa podrška zavisi od klijenta.
Da li je bezbedno koristiti MCP servere?
Onoliko koliko su bezbedni sam server i kontrole hosta. Opisi alata mogu da sakriju uputstva za model (tool poisoning), lokalni serveri rade sa privilegijama vašeg korisnika, a široki OAuth opsezi povećavaju štetu ako token procuri. Instalirajte servere iz izvora kojima verujete, dodelite minimalne opsege i zahtevajte odobrenje pre svakog upisa.
Da li treba da napravim svoj MCP server?
Koristite postojeći server kada ga dobavljač objavljuje i kada njegovi alati odgovaraju vašem zadatku. Napravite svoj kada treba da spojite više sistema, suzite šta agent sme da radi ili izložite interne podatke. Obavijanje celog API-ja jedan na jedan retko se isplati. Umesto toga, osmislite nekoliko alata skrojenih po zadacima.