Model Context Protocol (MCP)
MCP (Model Context Protocol) je otvorený protokol, ktorý štandardizuje, ako aplikácie poskytujú kontext a nástroje (tools) veľkým jazykovým modelom (LLM). Často sa vysvetľuje analógiou „USB-C portu pre AI aplikácie": rovnaké rozhranie umožní pripojiť model k rôznym zdrojom dát a službám bez toho, aby si pre každý model a každú službu písal úplne inú integráciu.
Protokol pôvodne navrhlo Anthropic a vydalo ho v novembri 2024. Do leta 2026 ho adoptovalo prakticky celé odvetvie: podporuje ho Claude, OpenAI, Google Gemini, Mistral, aj desiatky frameworkov a IDE. MCP sa stal de facto štandardom pre prepojenie agentov s nástrojmi — rovnaký server funguje v Claude Desktop, VS Code Copilot, Cursor, Windsurf, JetBrains AI Assistant aj vlastnom agent frameworku súčasne.
1. Čo je na MCP podstatné
- Štandardné role:
- Host = aplikácia, v ktorej model „žije" (napr. chat/agent/IDE).
- Client = komponent v hostovi, ktorý sa pripája na MCP servery.
- Server = proces/služba, ktorá modelu sprístupní nástroje a dáta cez MCP.
- Tri typy schopností, ktoré server typicky poskytuje:
- Tools (spustiteľné funkcie – napr. query do DB, volanie API).
- Resources (dáta na čítanie – súbory, záznamy, odpovede API).
- Prompts (predpripravené šablóny a kontextové návody pre model).
- Prenos (transport) je definovaný a interoperabilný:
- stdio – lokálny subprocess, jednoduché a bezpečnejšie pre lokálne nástroje.
- Streamable HTTP – server ako samostatná služba; cez HTTP, voliteľne so streamovaním cez SSE.
- Bezpečnosť je súčasť špecifikácie, nie doplnok:
- Pri HTTP transporte je explicitne požadované overovanie
Originhlavičky (kvôli DNS rebinding). - Autorizácia je špecifikovaná cez OAuth 2.1 pre vzdialené servery.
- Pri HTTP transporte je explicitne požadované overovanie
- Ekosystém:
- MCP Registry so stovkami publikovaných serverov a SDK pre desiatky jazykov.
- MCP podporujú OpenAI Agents SDK, LangChain, LlamaIndex, Vertex AI, Amazon Bedrock a ďalšie.
2. Ako MCP funguje (prakticky)
- Host (napr. agent) obsahuje MCP klienta.
- Klient sa pripojí k jednému alebo viacerým MCP serverom (lokálne cez
stdio, alebo cez HTTP). - Prebehne inicializácia — dohodnú sa schopnosti (capabilities) oboch strán.
- Klient si vie vyžiadať zo servera zoznam tools / resources / prompts.
- Keď model potrebuje niečo spraviť (napr. „zisti stav repozitára"), host vykoná tool call cez MCP klienta, zoberie výsledok a použije ho v ďalšom rozmýšľaní alebo odpovedi.
Všetky správy sú kódované cez JSON-RPC 2.0 (UTF-8). Protokol je navrhnutý tak, aby fungoval symetricky — klient aj server môžu iniciovať správy, čo umožňuje napríklad sampling (server požiada model o dokončenie textu) bez toho, aby celá logika sedela na jednej strane.
3. Technické detaily, ktoré sa v praxi riešia najčastejšie
stdio transport (lokálne nástroje)
- Klient spúšťa server ako subprocess.
- Komunikácia ide cez
stdin/stdout, správy sú oddelené novým riadkom a nesmú obsahovať embedded newlines. stderrslúži na logovanie; klient ho môže ignorovať alebo zbierať.- Vhodné pre lokálne súborové systémy, Git, lokálne databázy, CLI nástroje.
Streamable HTTP transport (lokálne aj remote servery)
- Server má jeden MCP endpoint (napr.
/mcp) prePOSTajGET. - Klient posiela každú JSON-RPC správu ako samostatný HTTP POST s hlavičkou
Accept: application/json, text/event-stream. - Server môže odpovedať jednorazovo (
application/json) alebo streamovať cez SSE (text/event-stream). - Vhodné pre zdieľané cloudové servery, tímové nasadenia, SaaS integrácie.
HTTP bezpečnostné minimum
- Servery musia validovať
Originhlavičku (ochrana pred DNS rebinding). - Pri lokálnom behu sa odporúča bind iba na
127.0.0.1. - Pre všetky spojenia sa odporúča autentifikácia.
Autorizácia (OAuth 2.1)
- MCP špecifikácia popisuje OAuth 2.1 flow-y pre vzdialené servery.
- Tokeny sa posielajú cez
Authorization: Bearer ...— nikdy do URL query stringu ani fragmentu. - Špecifikácia rieši aj „confused deputy" scenár pri proxy serveroch na third-party API.
4. Rozšírené schopnosti: Sampling, Elicitation a ďalšie
Od verzie 1.0 a aktualizácií v roku 2025 protokol obsahuje schopnosti, ktoré mnohí začiatočníci prehliadajú:
Sampling (server → model)
Server môže požiadať hostovú aplikáciu, aby nechala model generovať text — teda LLM volá LLM. To umožňuje vytvárať multi-agentné pipeline priamo v rámci MCP bez externej orchestrácie. Napríklad MCP server môže rozdeliť komplexný dotaz na podúlohy, každú nechať vyriešiť modelom a výsledky spojiť.
Elicitation (server pýta používateľa)
Server môže cez klienta požiadať používateľa o ďalší vstup — formulár, potvrdenie, výber z možností. Toto je kľúčové pre bezpečné agentic flow: server si nevymýšľa chýbajúce vstupy, ale ich explicitne vyžiada od človeka.
Roots (filesystem boundary)
Klient môže serveru oznámiť zoznam povolených koreňových adresárov (roots). Server by mal túto informáciu rešpektovať a nepokúšať sa o prístup mimo týchto hraníc. Ide o dohodnutú vrstvu — nie tvrdý sandbox.
Notifications a progress
Pre dlhé operácie server posiela priebežné notifikácie, ktoré host môže zobraziť používateľovi. Výsledok teda neprišlo „celý naraz" po minúte, ale priebeh je viditeľný v reálnom čase.
5. Ekosystém v roku 2026
Ekosystém MCP rástol v roku 2025 exponenciálne. Tu je prehľad stavu k polovici roka 2026:
| Oblasť | Príklady / stav |
|---|---|
| Hostovské aplikácie | Claude Desktop, Cursor, Windsurf, VS Code (Copilot), JetBrains AI, Zed, Continue |
| Agent frameworky | OpenAI Agents SDK, LangChain, LlamaIndex, AutoGen, CrewAI, Pydantic AI |
| Cloud platformy | Amazon Bedrock, Google Vertex AI, Azure AI Foundry (podpora MCP serverov) |
| SDK jazyky | Python, TypeScript/JS, Go, Rust, Java, Kotlin, C#, Ruby, Swift, PHP |
| MCP Registry | Stovky overených serverov: GitHub, Slack, Jira, Notion, PostgreSQL, Stripe a ďalšie |
| Reference servery | Oficiálne príklady v GitHub repo (primárne edukačné, nie priamo production-ready) |
Dôležitý rozlišovací bod: reference servery ≠ production servery. Repozitár modelcontextprotocol/servers slúži ako ukážka implementácie. Pre produkčné nasadenie sú vhodnejšie overené servery z registra alebo vlastné implementácie s auditom.
6. Dostupnosť a licencie
- MCP špecifikácia (repo) je licencovaná pod MIT.
- Repo MCP servers má Apache 2.0 pre nové príspevky (existujúci kód pod MIT — podľa
LICENSE). - MCP ako protokol nemá licenčný poplatok. Náklady v praxi vznikajú pri prevádzke serverov, infraštruktúre a v samotnom LLM/API.
- Spec sa vyvíja otvorene, zmeny prechádzajú cez GitHub diskusie a PR — komunita môže navrhovať úpravy.
7. Bezpečnosť a súkromie (praktické rady)
Najväčšie riziko MCP je, že „tools sú kód" — lokálne servery môžu spúšťať príkazy, čítať súbory, volať externé API. Preto:
- Používaj iba servery, ktorým dôveruješ (overený zdroj, aktívna údržba).
- Spúšťaj ich v sandboxe alebo kontaineri s minimálnymi oprávneniami.
- Uplatňuj least privilege: server na čítanie GitHub issues nepotrebuje prístup k súborovému systému.
Supply-chain a tool injection:
- Aj legit server sa môže zmeniť aktualizáciou — alebo byť vydaný škodlivý „klon" s podobným názvom.
- Odporúča sa pin verzií, kontrola zmien (changelog audit) a sledovanie závislostí.
- Boli zdokumentované reálne útoky: škodlivé MCP servery zamerané na exfiltráciu dát (napr. krádež emailov alebo API kľúčov cez tool output).
Tool poisoning (prompt injection cez tool výsledky):
- Škodlivý obsah vo výsledku tool callu (napr. v súbore, databázovom záznamu, webovej stránke) môže manipulovať model, aby vykonal neočakávané akcie.
- Obrana: sanitizácia výstupu, explicitné potvrdenie pred destruktívnymi akciami, human-in-the-loop pre kritické operácie.
OAuth „confused deputy" (pri proxy serveri na third-party API):
- Útočník môže prinútiť server konať v mene iného klienta.
- Špecifikácia vyžaduje per-client consent, tvrdú validáciu
redirect_uri,stateparameter a CSRF ochrany.
8. Praktické použitia — kedy MCP dáva najväčší zmysel
Agent v IDE: Jeden MCP server na Git, druhý na filesystem, tretí na issue tracker — model vie robiť zmysluplné akcie naprieč nástrojmi bez custom integrácie pre každý pár. Výsledok: agent v Cursor alebo VS Code, ktorý otvára PR, komentuje issues a číta logy z CI/CD bez jedinej extra riadky lepiacej integrácie.
RAG bez lepenia konektorov: Namiesto toho, aby si každú znalostnú bázu pripájal ručne, vystavíš ju ako MCP resource + doplníš tool na „query". Hostovská aplikácia sa postará o zvyšok.
Zdieľateľné firemné integrácie: Raz spravíš MCP server pre interný systém (CRM, sklad, fakturácia) a použiješ ho v rôznych hostoch: Claude Desktop pre obchodníkov, agent v Slacku pre support, LangChain pipeline pre dávkové spracovanie — všetko cez jeden server.
Multi-agentné pipeline: Cez sampling môžu MCP servery orchestrovať ďalšie volania modelu interne. Napríklad: orchestrační agent rozdeľuje úlohy, worker agenti ich riešia cez vlastné MCP servery, výsledky sa agregujú — bez externého orchestračného frameworku.
Prototypovanie nástrojov: MCP stdio transport ti umožní vystaviť akýkoľvek Python/Node skript ako nástroj pre model za pár minút. Rýchly spôsob otestovať, či má tool zmysel, pred tým, než investuješ do produkčného HTTP servera.
9. Quick Reference
| Parameter | Hodnota | Poznámka |
|---|---|---|
| Účel | Štandardný prístup LLM k tools + kontextu | „USB-C pre AI aplikácie" |
| Kódovanie správ | JSON-RPC 2.0 (UTF-8) |
Protokolové správy |
| Transporty | stdio, streamable-http |
2 štandardné transporty |
| stdio | subprocess + stdin/stdout |
Správy bez embedded newlines |
| Streamable HTTP | POST/GET + voliteľne SSE |
1 endpoint, streamovanie možné |
| HTTP security minimum | validovať Origin, bind localhost, auth |
Ochrana pred DNS rebinding |
| Autorizácia | OAuth 2.1 | Tokeny cez Authorization: Bearer |
| Sampling | Server → model volanie | Multi-agentné pipeline bez externého orchestrátora |
| Elicitation | Server → používateľský vstup | Human-in-the-loop pre bezpečné agentic flow |
| Licencia | MIT (spec) / Apache 2.0 (nové servery) | Bez licenčného poplatku |
| Ekosystém | Registry + SDK pre 10+ jazykov | Reference servery ≠ produkcia |
Zhrnutie
MCP rieši „večný problém" integrácií: jeden štandard na pripájanie modelov k nástrojom a dátam naprieč aplikáciami. Do roka 2026 sa z experimentálneho protokolu stal priemyselný štandard, ktorý adoptovali všetci veľkí hráči.
V praxi najviac rozhodujú tri veci: transport (stdio pre lokálne, HTTP pre zdieľané nasadenie), bezpečnosť (Origin validácia, auth, sandbox, least privilege, tool poisoning obrana) a výber serverov (Registry > reference repo, pin verzií, audit zdrojov).
Ekosystém je živý a rýchlo sa mení — sleduj špecifikáciu a Registry skôr než staré tutoriály. Základný princíp však ostáva stabilný: MCP server je spustiteľný kód s prístupom k tvojim systémom — vyberaj zdroje rovnako opatrne ako npm balíky v produkčnom projekte.