Article

AI Code & Coffee - Using MCPs

Model Context Protocol (MCP) je otvorený komunikačný protokol založený na JSON-RPC, ktorý prepája AI nástroje, modely a aplikácie s externými zdrojmi dát a funkciami cez jednotné API. Umožňuje rýchlu a bezpečnú integráciu pluginov, ktoré rozširujú možnosti host aplikácií, ako sú Cursor či Windsurf.

Article

AI Code & Coffee - Using MCPs

Model Context Protocol (MCP) je otvorený komunikačný protokol založený na JSON-RPC, ktorý prepája AI nástroje, modely a aplikácie s externými zdrojmi dát a funkciami cez jednotné API. Umožňuje rýchlu a bezpečnú integráciu pluginov, ktoré rozširujú možnosti host aplikácií, ako sú Cursor či Windsurf.
AI Code & Coffee - Using MCPs

Article

AI Code & Coffee - Using MCPs

Model Context Protocol (MCP) je otvorený komunikačný protokol založený na JSON-RPC, ktorý prepája AI nástroje, modely a aplikácie s externými zdrojmi dát a funkciami cez jednotné API. Umožňuje rýchlu a bezpečnú integráciu pluginov, ktoré rozširujú možnosti host aplikácií, ako sú Cursor či Windsurf.

Article

AI Code & Coffee - Using MCPs

Model Context Protocol (MCP) je otvorený komunikačný protokol založený na JSON-RPC, ktorý prepája AI nástroje, modely a aplikácie s externými zdrojmi dát a funkciami cez jednotné API. Umožňuje rýchlu a bezpečnú integráciu pluginov, ktoré rozširujú možnosti host aplikácií, ako sú Cursor či Windsurf.

Ako funguje MCP technicky – je to API štandard, middleware, alebo iný typ komunikačného protokolu?

Model Context Protocol (MCP) je otvorený komunikačný protokol založený na API štandarde JSON-RPC, ktorý funguje na princípe klient-server. Ide o spôsob, ako môžu LLM modely/aplikácie/klienti volať nástroje a pristupovať k dátam poskytovaným rôznymi MCP servermi.

Aké sú hlavné komponenty MCP pluginu a ako spolu komunikujú s host aplikáciou (napr. Cursorom)?

MCP plugin (server) implementuje MCP špecifikáciu – exponuje zoznam nástrojov (tools), zdrojov (resources) a promptov. Cez komunikačnú vrstvu potom komunikuje s MCP hostom, ktorý ho kontaktoval a o niečo žiada. Komunikácia prebieha asi takto:

Inicializácia:

  • Cursor (MCP Host) spustí alebo pripojí sa k MCP Serveru.
  • Pošle initialize požiadavku (handshake: verzie protokolu, schopnosti).

Objavenie možností:

  • Host pošle tools/list, resources/list, prompts/list.
  • Server vráti zoznam dostupných funkcií, dát a šablón.

Volanie nástroja:

  • Keď LLM v Cursore potrebuje napr. dáta z API, host pošle tools/call s parametrami.
  • Server vykoná operáciu a pošle späť výsledok.

Čítanie dát:

  • Pre prístup k súboru alebo DB pošle host resources/read.
  • Server odpovie s obsahom.

Ukončenie:

  • Po zavretí projektu alebo aplikácie sa spojenie zatvorí (shutdown).

Vieš uviesť príklad konkrétneho pluginu, ktorý ti výrazne zlepšil workflow?

V tomto prípade ide jednoznačne o Playwright MCP, ktorý ocení nejeden developer či „vibe-coder“. De facto umožňuje IDE pomocou tohto MCP spustiť prehliadač a vykonávať širokú škálu operácií. Pomáha si screenshotmi, je schopný navigovať, klikať, ale aj pozrieť načítaný JS súbor, či sa jedná o starý, zakešovaný súbor. Odstraňuje človeka pri samotnom testovaní posledných zmien a je oveľa rýchlejší a úspešnejší v pochopení niektorých chýb ako ja :).

Z ďalších môžem spomenúť context7, Supabase, GitHub a iné. Dnes je mnoho stránok, kde sa dostanete k poriadnym zoznamom, ako je napríklad https://cursor.directory/mcp.

Ako vyzerá proces inštalácie alebo integrácie MCP pluginu do nástroja ako Cursor alebo Windsurf?

Tu sa to momentálne ešte dosť líši – kým napr. Windsurf ponúka celkom obšírny zoznam, ktorý si viete pozrieť a kliknutím jedného tlačidla nainštalovať, taký Cursor či Kiro to má oveľa manuálnejšie - editovaním mcp.json. Ale platí, že na úspešné nastavenie MCP toolu je často potrebné vložiť nejaký token, kľúč, project-reference-id, password a pod. To sa líši od providera.

Ako pri mnohých AI veciach v týchto dňoch aj tu to napreduje závratne a updaty pre rôzne IDE sú často len pár dní od seba, takže predpokladám, že sa to posunie tým smerom, ako to má Windsurf.

Ako MCP pluginy zvládajú prácu s väčším kontextom – napríklad čítanie viacerých súborov naraz?

MCP plugin je často len nástroj na opýtanie sa, získanie dát, informácií a pod. Čítanie súborov či príprava requestu pre MCP je úloha modelu, a teda veľkosť kontextu je otázka na model.

Ale tu treba povedať, že som mal veľmi rozdielne skúsenosti s rôznymi modelmi. Kým náš projektový GitHub MCP neumožňuje mnohé query a vracia response bez dát, Sonnet 4 som bol schopný naučiť, ako na to, aby sme dáta získali – pri Sonnet 3.5 či ChatGPT 4.1 som ani pri presnom napísaní, ako to treba poslať, úspešný nebol.

Ovplyvňujú MCP pluginy rýchlosť alebo stabilitu nástroja?

Veľmi dobrá otázka – pri Cursore sa stretnete s tým, že vám hlási, ak máte príliš veľa dostupných toolov. Každé MCP má k dispozícii nejaký počet, a tým pádom môžete niekedy s viacerými menšími MCP neprekročiť tento limit. Už spomínané Playwright MCP ale napríklad exponuje veľmi veľký počet nástrojov.

Tieto nástroje sa však, podobne ako celé MCP, dajú vypnúť, a teda nijak nezaťažujú IDE. Ale z osobnej skúsenosti viem, že tieto MCP servery sa mi navytvárali v násobne väčšom počte windows procesov, ako mali, a zabíjali celý počítač, takže si na to treba dať pozor a prípadne si skontrolovať starý dobrý Process Manager.

Ako si testoval funkčnosť MCP pluginu, aby si mal istotu, že nerobí nežiaduce zmeny?

Doteraz som sa skôr uchýlil k používaniu MCP či ich toolov, ktoré skôr predstavujú čítanie informácií, ale iste je dobré si to odsledovať. Tu by som odporučil rules/instructions ako nástroj na inštruovanie IDE/modelu, čo robiť nemá (a držať si palce, že si tie ruly aj číta a aplikuje).

Tu by sme tak isto mohli pristúpiť k podrobnejšej práci s modelom = najprv sa ho dotázať čo sa chystá poslať cez MCP tool a odsledovať si to.

Aké sú bezpečnostné riziká pri používaní MCP pluginov – napríklad prístup k citlivým dátam?

Riziká sú veľké, a ako bolo u nás povedané – model nemôže mať prístup k reálnym dátam zákazníka. To v našom prípade napríklad zamedzuje použitie MCP, ako je Jira/Confluence.

Tu vidím ale priestor na jednoduchú customizáciu, nakoľko je mnoho MCP voľne dostupných na GitHube. Takže nastupuje fork, code update a následné použitie custom verzie.

Príkladom môže byť:

  • prefiltrovanie príkazu poslaného modelom
  • či vyslovený zákaz použitia toolov, ktoré robia zmeny, a povoliť len tie, ktoré čítajú dáta
  • filtrovanie response podľa definovaných pravidiel

Kde sú najväčšie limity MCP – čo zatiaľ nedokážu?

Viac ako limity ma momentálne hnevá to, že často proste nefungujú – vo svojej podstate sa pridaný MCP spusti ako proces, často ide o jeden či viac Python scriptov, a tu to asi závisí od lokálneho prostredia. Mám nejednu skúsenosť, že na jednom PC to ide a na druhom nie.

Ďalšia kapitola je pokus o pridanie nového MCP a znefunkčnenie predtým fungujúcich, často za záhadných okolností. Viacero IDE už ale našťastie pridalo MCP tools terminálové okno, kde si viete odsledovať, či nejaký MCP nevyhodí chybu a podobne.

Ako vidíš budúcnosť MCP – budú štandardnou súčasťou AI nástrojov, alebo ostanú doplnkom?

MCP zaznamenali veľmi rýchlu a širokú adopciu a je preto možné, že sa budú integrovať priamo do modelov. Ale skôr ako túto možnosť si myslím, že sa dočkáme lepšej podpory a fungovania MCP ako takých, zjednodušenia inštalácie, nastavenia a bezpečnosti.


Súvisiaci obsah