Ako pratite razvoj AI alata, vjerojatno ste zadnjih mjeseci naletjeli na skraćenicu MCP — Model Context Protocol. Zvuči kao još jedan tehnički standard koji treba naučiti, ali ideja iza njega je iznenađujuće jednostavna: MCP je zajednički "jezik" kojim AI modeli razgovaraju s vanjskim alatima i izvorima podataka.
Problem koji MCP rješava
Zamislite da gradite AI asistenta koji treba pristupiti vašoj bazi podataka, čitati datoteke, slati Slack poruke i pretraživati web. Bez zajedničkog standarda, za svaku od tih integracija pisali biste zaseban, prilagođen kod — i taj kod ne biste mogli ponovno iskoristiti u drugom projektu ili s drugim AI modelom.
MCP to rješava definiranjem jednog protokola kojim se bilo koji "MCP server" (npr. server koji zna raditi s Google kalendarom) može spojiti na bilo kojeg "MCP klijenta" (npr. Claude Desktop, IDE dodatak ili vlastitu aplikaciju). Napišete integraciju jednom, koristite je posvuda.
Analogija: USB-C za AI alate
Najčešća analogija je USB-C priključak. Prije USB-C-a, svaki uređaj imao je svoj kabel i konektor. Danas jedan tip priključka radi s telefonima, laptopima, slušalicama i monitorima. MCP radi isto za AI — umjesto da svaki alat ima svoju prilagođenu integraciju za svaki model, postoji jedan protokol koji svi razumiju.
Arhitektura u tri dijela
- MCP Host — aplikacija s kojom korisnik razgovara (npr. Claude Desktop ili vaš vlastiti chat interface).
- MCP Klijent — dio hosta koji upravlja vezom prema jednom MCP serveru (host obično ima po jednog klijenta za svaki spojeni server).
- MCP Server — lagani proces koji izlaže konkretne mogućnosti: alate (funkcije koje model može pozvati), resurse (datoteke ili podatke koje model može pročitati) i promptove (unaprijed definirane predloške).
Host aplikacija ⇄ MCP Klijent ⇄ MCP Server ⇄ Vanjski sustav (baza, API, datotečni sustav...)
Što točno server izlaže
- Tools (alati) — funkcije s jasno definiranim parametrima koje model može pozvati, npr.
create_ticketilisearch_database. - Resources (resursi) — statični ili dinamički sadržaj koji se može učitati u kontekst, npr. sadržaj datoteke ili rezultat SQL upita.
- Prompts (predlošci) — gotovi predlošci razgovora koje korisnik može pokrenuti jednim klikom, korisno za ponavljajuće zadatke.
Minimalan primjer servera
MCP serveri komuniciraju preko JSON-RPC poruka. Najjednostavniji transport je standardni ulaz/izlaz (stdio), pa server može biti obična CLI skripta:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "vrijeme-server", version: "1.0.0" });
server.tool(
"get_weather",
{ grad: z.string() },
async ({ grad }) => ({
content: [{ type: "text", text: `Trenutno u ${grad}: 24°C, sunčano.` }],
})
);
const transport = new StdioServerTransport();
await server.connect(transport);
Ovaj server host aplikacija pokreće kao podproces i s njim komunicira preko stdio kanala — nema potrebe za HTTP serverom ili API ključevima na strani alata.
Zašto je ovo bitno za developere
- Ponovna iskoristivost — jednom napisan MCP server za, primjerice, Postgres bazu, radi s bilo kojim MCP-kompatibilnim klijentom.
- Sigurnost i izolacija — server eksplicitno definira koje akcije dopušta, model ne dobiva neograničen pristup sustavu.
- Ekosustav koji raste — postoje već gotovi serveri za GitHub, Slack, Google Drive, baze podataka i desetke drugih alata, pa vam često ne treba pisati ništa od nule.
Zaključak
MCP nije zamjena za API-je — on je sloj iznad njih koji AI modelima daje standardiziran način da ih koriste. Ako gradite AI proizvod koji treba raditi s više vanjskih sustava, vrijedi provjeriti postoji li već gotov MCP server prije nego što pišete prilagođenu integraciju od nule.




