Preskočiť na obsah
5.10Pokročilý7 min

Ako vybudovať MCP server za 30 minút: krok za krokom

Sebastian KarallAktualizované 17. októbra 2026
Definition

Vybudovať MCP server znamená napísať malú službu, ktorá cez Model Context Protocol (JSON-RPC 2.0) sprístupňuje AI klientom, napríklad Claude, nástroje (tools), zdroje (resources) a prompty (prompts). Vyberieš si SDK (Python alebo TypeScript), zadefinuješ aspoň jeden nástroj, zvolíš transport (stdio alebo Streamable HTTP) a server zaregistruješ v klientovi.

Na prvý pohľad

  • MCP predstavil Anthropic v novembri 2024 a 9. decembra 2025 ho odovzdal novozaloženej Agentic AI Foundation pod strechou Linux Foundation. V roku 2026 je de facto štandardom na pripájanie AI agentov k nástrojom a dátam.
  • MCP server poskytuje tri primitíva: tools (funkcie, ktoré volá model), resources (čitateľné dátové zdroje) a prompts (preddefinované šablóny). Na začiatok stačí jediný nástroj.
  • Pre lokálne servery použiješ transport stdio, pre vzdialené servery Streamable HTTP (od revízie špecifikácie z 26. marca 2025, vrátane OAuth 2.1). Oba transporty sú založené na JSON-RPC 2.0.
  • Oficiálne SDK existujú pre všetky veľké programovacie jazyky; SDK pre Python a TypeScript majú spolu vyše 97 mil. stiahnutí mesačne (stav 2026). Obe za teba riešia prácu s protokolom; ty píšeš len logiku nástroja.
  • Najväčšie riziká sú nepriama prompt injection cez popisy nástrojov a tool poisoning. Uplatňuj princíp najnižších oprávnení (least privilege), používaj tokeny s obmedzeným rozsahom oprávnení a neinštaluj automaticky MCP servery z nedôveryhodných registrov.

Vybudovať MCP server znamená napísať malú službu, ktorá cez Model Context Protocol sprístupňuje AI klientom, napríklad Claude, nástroje (tools), zdroje (resources) a prompty (prompts). Vyberieš si SDK (Python alebo TypeScript), zadefinuješ aspoň jeden nástroj, zvolíš transport (stdio alebo Streamable HTTP) a server zaregistruješ v klientovi. Protokol je založený na JSON-RPC 2.0 a vďaka SDK za teba rieši celú výmenu správ. Ty píšeš len svoju aplikačnú logiku.

Tri rýchle odpovede na úvod:

  • Na prvý funkčný server stačí SDK, behové prostredie (Python alebo Node.js) a jediný nástroj. Reálne je to zvládnuteľné približne za 30 minút.
  • Lokálne vyvíjaš s transportom stdio (žiadny port, žiadna autentifikácia); pre vzdialené servery použiješ Streamable HTTP s OAuth 2.1.
  • MCP prepája agentov s nástrojmi a dátami. Za spoluprácu medzi samostatnými agentmi zodpovedá A2A, nie MCP.

Čo MCP server v skutočnosti je

Anthropic predstavil Model Context Protocol 25. novembra 2024 ako otvorený štandard na prepojenie AI aplikácií s externými systémami: súborovými systémami, databázami, podnikovými systémami a vývojárskymi nástrojmi. Autormi sú David Soria Parra a Justin Spahr-Summers. Technicky je MCP protokol postavený na JSON-RPC 2.0, ktorý beží cez vymeniteľné transporty. Namiesto toho, aby sa pre každé pripojenie nástroja vymýšľal vlastný formát, hovoria klient aj server rovnakým jazykom.

MCP server poskytuje klientovi tri primitíva:

  • Tools: funkcie, ktoré model môže aktívne volať (napr. „zistiť počasie“, „zapísať záznam“). Je to najdôležitejší a najčastejší stavebný prvok.
  • Resources: čitateľné dátové zdroje, ktoré klient môže načítať do kontextu (súbory, obsah databáz, konfigurácie).
  • Prompts: preddefinované šablóny s parametrami, ktoré používateľ môže vyvolať v klientovi.

Na začiatok sa sústreď výhradne na jeden nástroj. Resources a prompts pridáš neskôr.

Krok 1: zvoľ transport (stdio alebo HTTP)

Prvé architektonické rozhodnutie sa týka transportu. MCP podporuje viacero variantov, v praxi sú relevantné dva.

Kritérium

stdio

Streamable HTTP

Použitie

lokálny server, beží ako podproces klienta

vzdialený server, dostupný cez sieť

Náročnosť nastavenia

minimálna (žiadny port, žiadna autentifikácia)

potrebný hosting servera, endpoint, autentifikácia

Autentifikácia

nie je potrebná (lokálne)

OAuth 2.1 (od revízie špecifikácie z 26. marca 2025)

Viacero klientov

nie, 1:1

áno, viacero klientov na jeden server

Odporúčanie na začiatok

áno, začni tu

neskôr, keď potrebuješ vzdialený prístup

Odporúčanie: Začni so stdio. Klient spustí tvoj server ako lokálny proces a komunikuje s ním cez štandardný vstup/výstup. Nemusíš riešiť žiadny port, konfiguráciu TLS ani autentifikáciu. Keď má tvoj server bežať vzdialene, slúžiť viacerým klientom alebo stáť za riadením prístupu, prejdeš na Streamable HTTP.

Stav špecifikácie: Streamable HTTP prišiel s revíziou špecifikácie z 26. marca 2025 a nahradil dovtedajší transport HTTP+SSE. Tá istá revízia priniesla autorizáciu cez OAuth 2.1, tool annotations a JSON-RPC batching. Revízia z 18. júna 2025 batching opäť odstránila. Revízia z 25. novembra 2025 doplnila okrem iného experimentálne úlohy (tasks) pre asynchrónne operácie, elicitation založenú na URL a Client ID Metadata Documents na registráciu klientov. Bezstavovú prevádzku bez inicializačného handshaku a volanie server/discover, cez ktoré server hlási svoje verzie, schopnosti a identitu, priniesla až revízia z 28. júla 2026.

Krok 2: zvoľ SDK (Python alebo TypeScript)

Oficiálne SDK existujú pre všetky veľké programovacie jazyky; dve najpoužívanejšie sú pre Python a TypeScript (spolu vyše 97 mil. stiahnutí mesačne, stav 2026). Voľba sa jednoducho riadi tvojím existujúcim stackom:

  • Python: ideálny pre tímy zamerané na dáta a ML a pre rýchle prototypy.
  • TypeScript: ideálny pre tímy orientované na Node.js/Next.js a webové stacky.

Obe SDK preberajú spracovanie JSON-RPC, vyjednávanie schopností (capabilities) a pripojenie transportu. Ty deklaruješ nástroj s názvom, popisom a schémou parametrov a napíšeš samotnú funkciu.

Krok 3: minimálny server s jedným nástrojom (pseudokód)

Nasledujúci príklad v pseudokóde ukazuje server s presne jedným nástrojom, ktorý prepočítava sumy podľa výmenného kurzu. Logika je zámerne triviálna, ide o štruktúru.

```

Pseudokód (podľa štýlu Python SDK)

server = MCPServer(name="fx-tools")

@server.tool(
name="convert_currency",
description="Prepočíta sumu z jednej meny na inú. "
"Očakáva amount (číslo), from (ISO kód), to (ISO kód).",
input_schema={
"type": "object",
"properties": {
"amount": {"type": "number"},
"from": {"type": "string"},
"to": {"type": "string"}
},
"required": ["amount", "from", "to"]
}
)
def convert_currency(amount, from_, to):
rate = lookup_rate(from_, to) # vlastná aplikačná logika
result = round(amount * rate, 2)
return {"result": result, "rate": rate}

DÔLEŽITÉ: logovanie LEN na stderr, nikdy na stdout (rozbije JSON-RPC)

log_to_stderr("Server starting")

server.run(transport="stdio")
```

Tri veci sú tu rozhodujúce a často sa prehliadajú:

  1. Popis nie je ozdoba. Model sa rozhoduje výhradne podľa názvu a popisu, či a ako nástroj zavolá. Vágne popisy vedú k nesprávnym alebo chýbajúcim volaniam.
  2. input_schema (JSON Schema) záväzne definuje parametre. Bez správnej schémy klient nedokáže validovať argumenty.
  3. Pri transporte stdio je stdout vyhradený pre protokol. Všetko logovanie musí ísť na stderr, inak sa tok JSON-RPC rozpadne.

Krok 4: zaregistruj server v klientovi a otestuj ho

Pri stdio zaregistruješ server tak, že klientovi oznámiš spúšťací príkaz. V klientoch, ako je Claude Desktop, sa to robí cez konfiguračný súbor, ktorý vyzerá približne takto:

```
{
"mcpServers": {
"fx-tools": {
"command": "python",
"args": ["path/to/server.py"]
}
}
}
```

Po reštarte klienta sa tvoj nástroj objaví. Otestuj ho v tomto poradí:

  1. Skontroluj discovery: Objaví sa convert_currency v zozname nástrojov klienta? Ak nie, väčšinou zlyhá spustenie podprocesu (nesprávna cesta, chýbajúca závislosť).
  2. Vyprovokuj volanie: Polož otázku, ktorá nástroj spustí („Koľko je 500 EUR v CHF?“). Klient by mal nástroj zavolať so správnymi argumentmi.
  3. Skontroluj odpoveď: Vráti server správne formátovaný výsledok, ktorý klient zapracuje do svojej odpovede?

Pri hľadaní chýb nezávisle od modelu pomôže oficiálny MCP Inspector, samostatný nástroj z projektu MCP, s ktorým môžeš nástroje volať priamo a sledovať komunikáciu v JSON-RPC. To výrazne zrýchli ladenie.

Konkrétny príklad s číslami

Predpokladajme, že pripájaš interný cenník. Server poskytuje nástroj get_product_price. Zamestnanec sa v klientovi opýta: „Koľko stojí položka A-204 vo variante L?“ Bez MCP by model musel hádať alebo halucinovať. S nástrojom model zavolá get_product_price(sku="A-204", variant="L"), server vráti {"price": 49.90, "currency": "EUR", "stock": 12} a model odpovie na základe faktov. Celá implementácia takého nástroja len na čítanie (read-only) zaberie jeden súbor a niekoľko desiatok riadkov. Väčšina 30 minút spomenutých na začiatku pripadne na pripojenie tvojho existujúceho dátového zdroja, nie na protokol.

Časté chyby

  • Logovanie na stdout: Najčastejšia chyba začiatočníkov pri transporte stdio. Všetko, čo nie je JSON-RPC, musí ísť na stderr.
  • Vágne popisy nástrojov: Model nástroj nezavolá alebo ho zavolá nesprávne. Píš popisy ako API dokumentáciu pre kolegu.
  • Chýbajúca alebo nesprávna JSON schéma: Povinné polia nie sú označené, typy sú nepresné. Klient potom nedokáže validovať argumenty.
  • Príliš široké oprávnenia: Nástroj, ktorý smie viac, než je nutné, predstavuje útočnú plochu. Princíp least privilege platí od prvého riadku.
  • Bezpečnostné medzery spôsobené predpokladmi dôvery: V rokoch 2025/2026 sú zdokumentované okrem iného nepriama prompt injection cez popisy nástrojov, tool poisoning (Invariant Labs, WhatsApp PoC z apríla 2025), look-alike server squatting, full-schema poisoning od CyberArk (bodom injekcie môže byť ktorákoľvek časť schémy nástroja) a „Toxic Agent Flow“ cez zmanipulované GitHub issues. Príčinou je zásadne optimistický model dôvery v MCP, ktorý stotožňuje syntaktickú správnosť so sémantickou bezpečnosťou. Zabezpečenie je na prevádzkovateľovi: sandboxing, tokeny s obmedzeným rozsahom oprávnení, OAuth 2.1 pre HTTP transporty a žiadna automatická inštalácia MCP serverov z nedôveryhodných registrov.

Stav v roku 2026

MCP je v roku 2026 uznávaným odvetvovým štandardom na prepojenie agentov s nástrojmi: 9. decembra 2025 Anthropic odovzdal protokol novozaloženej Agentic AI Foundation pod Linux Foundation. Nadáciu spoluzaložili Anthropic, Block a OpenAI, podporu na úrovni Platinum poskytujú AWS, Bloomberg, Cloudflare, Google a Microsoft. MCP podporujú okrem iného OpenAI (od marca 2025), Google DeepMind (apríl 2025), Microsoft Copilot Studio, SAP Joule, Salesforce Agentforce, ako aj n8n a LangGraph. Claude má adresár s vyše 75 oficiálnymi MCP konektormi. Pri spolupráci medzi samostatnými agentmi nestavaj na MCP, ale na A2A. Orientačné pravidlo znie: MCP pre capabilities, A2A pre collaboration.

Pre agentúry a B2B

Pre agentúry v regióne DACH je vlastný MCP server priamou cestou, ako sprístupniť proprietárne schopnosti (funkciu na analýzu kľúčových slov, interný CMS, cenové API) naprieč výrobcami bez toho, aby museli pre každého klienta stavať osobitnú integráciu. Raz čisto postavený MCP server sa dá opakovane použiť naprieč produktovými radmi. Pre B2B rozhodovateľov platí: ak v roku 2026 nasadzuješ agentov, budeš MCP servery používať alebo písať, či už plánovane, alebo nie. Každý nástroj pritom ber ako relevantný z hľadiska oprávnení a auditu. My v Blck Alpaca navrhujeme MCP servery podľa princípu least privilege, s čistými schémami a dohľadateľnými auditnými záznamami. Ozvi sa nám, ak chceš interný dátový zdroj pripojiť k svojim AI agentom v súlade s GDPR.

Zhrnúť pomocou AIChatGPTClaudePerplexity

Otvorí chat s pripraveným promptom.

Často kladené otázky

Čo potrebujem na vybudovanie MCP servera?
Oficiálne SDK (Python alebo TypeScript), behové prostredie (Python, resp. Node.js) a klienta s podporou MCP na testovanie, napríklad Claude Desktop alebo editor kódu s podporou MCP. Na prvý nástroj stačí jediný súbor. Transport stdio beží úplne lokálne bez sieťového nastavenia, takže sa od nuly k funkčnému serveru dostaneš približne za 30 minút.
Stdio alebo HTTP: ktorý transport si mám zvoliť?
Stdio je správna voľba pre lokálne servery, ktoré bežia ako podproces klienta: žiadny port, žiadna autentifikácia, ideálne na vývoj. Streamable HTTP (od revízie špecifikácie z 26. marca 2025, s OAuth 2.1) potrebuješ, keď server beží vzdialene, používa ho viacero klientov alebo musí stáť za riadením prístupu. Začni so stdio a migruj neskôr.
Aký je rozdiel medzi MCP a A2A?
MCP (Model Context Protocol) prepája agenta s nástrojmi a dátami. Je to protokol na komunikáciu agenta s nástrojmi. A2A (Agent2Agent, od júna 2025 pod Linux Foundation) je určený na spoluprácu medzi samostatnými agentmi. Bežné orientačné pravidlo znie: MCP pre capabilities, A2A pre collaboration. Sprístupniť agenta ako MCP server technicky funguje, nie je to však zamýšľaná cesta.
Ktoré chyby sa pri budovaní MCP servera vyskytujú najčastejšie?
Typické sú: vágne alebo chýbajúce popisy nástrojov, takže model nástroj nevolá správne; chýbajúca alebo nesprávna JSON schéma parametrov; logovanie na stdout namiesto stderr, ktoré pri transporte stdio rozbije protokol JSON-RPC; a príliš široko nastavené oprávnenia. Z hľadiska bezpečnosti sú hlavnými zdokumentovanými problémami nepriama prompt injection cez popisy a tool poisoning (stav 2026).
Je MCP v roku 2026 stále stabilný štandard, na ktorý sa dá staviť?
Áno. Anthropic odovzdal MCP 9. decembra 2025 novozaloženej Agentic AI Foundation pod Linux Foundation. Spoluzakladateľmi sú Anthropic, Block a OpenAI, podporu na úrovni Platinum poskytujú AWS, Bloomberg, Cloudflare, Google a Microsoft. MCP podporujú OpenAI, Google DeepMind, Microsoft Copilot Studio, SAP Joule, Salesforce Agentforce a mnoho ďalších nástrojov. Štandard má širokú podporu a opiera sa o viacerých výrobcov.

Ísť hlbšie?

Získajte nové analýzy priamo do schránky, alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.