DX Heroes logo
#ai
#development
#how-it-works

MCP pod lupou: jak AI agenti komunikují s nástroji a jaká rizika to přináší

Délka: 

12 min

Publikováno: 

20. ledna 2026

MCP pod lupou: jak AI agenti komunikují s nástroji a jaká rizika to přináší

Model Context Protocol mění způsob, jak pracujeme s AI nástroji. Přináší ale i bezpečnostní rizika, která byste měli znát dřív, než ho nasadíte.

Za poslední rok se Model Context Protocol (MCP) stal jedním z nejvíc diskutovaných témat mezi vývojáři, kteří pracují s AI. Tento standardizovaný protokol od Anthropicu slibuje propojit velké jazykové modely (LLM) s externími nástroji a daty bez zbytečné práce navíc. Jako u každé nové technologie ale platí, že s velkými možnostmi přicházejí i velká rizika.

V článku se podíváme na to, jak MCP funguje, proč se hodí pro moderní vývoj softwaru a hlavně jaké bezpečnostní hrozby přináší a jak se jim bránit.

Co je Model Context Protocol a proč na něm záleží

MCP je jen specifikace, tedy standard, který popisuje, jak mají LLM komunikovat s externími nástroji a daty. Anthropic k němu dodává referenční implementace (servery, klienty, SDK), ale jádrem je právě ten otevřený protokol.

Před MCP vyžadovalo napojení každého nástroje na AI (třeba v IDE) vlastní integraci. S MCP máme jeden univerzální protokol pro všechny nástroje.

MCP standardizuje tři hlavní role:

  • Host je aplikace, kde běží AI, například Claude Desktop, Cursor nebo VS Code.
  • MCP Client je kus kódu uvnitř Hostu, který umí volat MCP servery.
  • MCP Server je lokální nebo vzdálený server, který poskytuje tools (nástroje, které AI může volat), resources (přístup k souborům, API a databázím), prompts (šablony promptů) a tasks (složitější operace).

Funguje to jednoduše. Host se přes svého MCP Clienta připojí k MCP serveru, server vystaví seznam dostupných nástrojů a LLM je volá přes standardizované rozhraní JSON-RPC.

Jakou roli hraje MCP v AI vývoji softwaru

Pro týmy, které dělají moderní vývoj softwaru, mění MCP způsob, jak AI asistenti pracují s vývojářským prostředím. Místo izolovaných nástrojů, které „vidí“ jen to, co jim ručně předáte, dává MCP agentům širší kontext:

  • přístup k repozitářům a historii commitů,
  • napojení na projektové nástroje (Jira, Linear),
  • komunikační nástroje (Slack, Teams),
  • dokumentaci a knowledge base,
  • CI/CD pipeline a nástroje pro nasazování.

Díky tomuto širšímu kontextu odpovídají agenti přesněji a k věci. Když vývojář požádá AI o analýzu problému, agent nesahá jen do kódu, ale i do souvisejících ticketů, dřívějších diskusí a historie nasazení.

Přes MCP navíc agenti nejen čtou, ale i zapisují. Umí v napojených systémech zakládat, upravovat a mazat záznamy.

Jak MCP funguje pod kapotou

Když se na architekturu podíváme blíž, MCP používá pro komunikaci mezi klientem a serverem JSON-RPC 2.0. Každý MCP server popisuje svou sadu nástrojů strukturovanými popisy (tool descriptions), které obsahují:

  • název nástroje,
  • popis funkce v přirozeném jazyce,
  • definici vstupních parametrů,
  • očekávaný výstup.

Důležitý detail: tyto popisy vidí LLM, ale ne vždy je vidí uživatel. A přesně tady začínají bezpečnostní problémy.

Proč MCP není sám o sobě bezpečný

MCP v dnešní podobě staví funkce nad bezpečnost. Specifikace má několik zásadních slabin:

  • Žádné šifrování kontextu. Data mezi klientem a serverem nejsou automaticky chráněná.
  • Chybí ověření integrity nástrojů. Nelze ověřit, že nástroj nikdo nezměnil.
  • Skryté popisy nástrojů. Uživatel nevidí celé popisy nástrojů, které vidí LLM.
  • „SHOULD“ místo „MUST“. Specifikace říká, že by člověk měl být v rozhodování, ale nevynucuje to.

Výchozí nastavení MCP tak bezpečné není a vyžaduje aktivní kroky k zabezpečení. Odpovědnost za bezpečnost protokolu navíc sdílejí všichni v ekosystému:

  • Autoři protokolu (Anthropic). Ve specifikaci chybí autentizace a autorizace, chybí kontrola integrity a „SHOULD have human in the loop“ by mělo být „MUST“.
  • Autoři MCP klientů. Často dávají přednost pohodlnému používání před bezpečností a bezpečnostní opatření doplňují až dodatečně.
  • Autoři MCP serverů. Rychlost vývoje často převáží nad bezpečností a mnoho serverů navíc vzniká automaticky z OpenAPI specifikací.
  • Poskytovatelé API. Potřebují jemně odstupňované přístupy a autorizaci.
  • Koncoví uživatelé. Bezhlavé schvalování všeho dohromady s MCP je recept na katastrofu.

Hlavní kategorie útoků

Bezpečnostní hrozby kolem MCP se dají rozdělit do tří základních kategorií:

1. Zranitelný MCP nástroj

MCP server s chybami v implementaci, nejčastěji se špatnou validací vstupů nebo nebezpečnými voláními API. Vývojář takovou zranitelnost vytvořil neúmyslně.

2. Záměrně škodlivý MCP nástroj

Server, který schválně obsahuje skryté instrukce nebo zadní vrátka. Cílem je oklamat LLM i uživatele.

3. LLM nepozná zdroj vstupu

Základní problém architektury LLM. Model zpracovává všechno jako textové tokeny a nemá ponětí o tom, který zdroj je důvěryhodný a který ne.

Konkrétní hrozby, příklady a obrana pro vývojáře i uživatele MCP serverů

Hrozba č. 1: Command Injection

Problém: podle analýzy společnosti Equixly mělo 43 % zkoumaných MCP serverů zranitelnost typu command injection. Nebezpečná shell volání bez validace vstupu dovolí útočníkovi spustit na hostiteli libovolný kód.

Dopad: Remote Code Execution (RCE), kompromitace systému, krádež přihlašovacích údajů.

Jak se bránit:

  • nikdy nespouštějte shell volání s uživatelským vstupem,
  • používejte subprocess.run() s argumenty jako seznamem, ne jako jedním řetězcem,
  • zaveďte whitelist povolených znaků,
  • důkladně validujte a čistěte vstup,
  • nepoužívejte v MCP klientech režim, který schvaluje všechno automaticky.

Hrozba č. 2: Tool Poisoning

Problém: popisy nástrojů jsou v přirozeném jazyce a vidí je LLM, ale ne uživatel. Model instrukce v popisu slepě poslechne, takže do něj útočník může schovat škodlivé příkazy.

Jak se bránit:

  • ukazujte uživateli celé popisy nástrojů,
  • upozorňujte na změny v popisech,
  • zvýrazňujte podezřelé tagy syntaxí,
  • logujte všechna volání nástrojů i s parametry,
  • omezujte přirozený jazyk v popisech.

Hrozba č. 3: Rug Pull Attack

Problém: MCP servery můžou měnit definice svých nástrojů za běhu a klient tyto změny neukazuje. Z důvěryhodného nástroje se tak časem stane škodlivý, což je klasický útok na dodavatelský řetězec.

Scénář:

  1. Den 1: nainstalujete legitimní, užitečný MCP server.
  2. Týden 2: server běží a získává důvěru.
  3. Měsíc 1: autor server aktualizuje a přidá škodlivé instrukce.
  4. Výsledek: server teď krade data, ale navenek vypadá stejně.

Jak se bránit:

  • fixujte verze, žádné automatické aktualizace,
  • pravidelně kontrolujte popisy nástrojů,
  • ověřujte integritu před každým použitím.

Hrozba č. 4: Tool Shadowing

Problém: MCP klient může být připojený k více serverům naráz. Škodlivý server umí přepsat nebo zastínit nástroje z důvěryhodného serveru a LLM nepozná, který server který nástroj poskytl.

Příklad: máte připojený důvěryhodný Gmail MCP server s send_email(). Škodlivý kalkulačkový server nabízí send_email() taky a může změnit příjemce, upravit text zprávy nebo přidat skrytou kopii útočníkovi.

Jak se bránit:

  • používejte jmenné prostory, místo send_email() raději gmail.send_email(),
  • zaveďte allowlist nástrojů s explicitním mapováním,
  • odstupňujte důvěru serverů, kritické operace povolte jen z ověřených,
  • ukazujte v rozhraní zdroj každého nástroje,
  • omezte počet současně připojených serverů.

Hrozba č. 5: Prompt Injection

Problém: LLM nerozezná legitimní data od škodlivých instrukcí. Jakýkoli nedůvěryhodný vstup, ať jde o GitHub Issues, popisy pull requestů nebo commit zprávy, může obsahovat skryté příkazy.

Scénář z praxe:

  1. Útočník založí Issue ve veřejném repozitáři.
  2. Issue vypadá jako legitimní žádost o novou funkci.
  3. Vývojář ho otevře v Cursoru s GitHub MCP.
  4. Agent Issue přečte a poslechne skryté instrukce.
  5. Soubor README.md skončí obohacený o citlivá data.

Realita: prompt injection je základní problém, který se bez změny architektury LLM nedá vyřešit na sto procent. Člověk v rozhodování proto zůstává nezbytný.

Jak rizika aspoň zmenšit:

  • strukturujte prompty s oddělenou sekcí pro kontext,
  • nasaďte guardraily a specializované modely na detekci,
  • vyžadujte explicitní souhlas pro každé volání nástroje.

Doporučení pro vývojáře a uživatele MCP serverů

Pro vývojáře

  • validujte VŠECHNY vstupní parametry,
  • nikdy nevolejte os.system() s uživatelským vstupem,
  • používejte subprocess/exec s argumenty jako seznamem,
  • omezte přirozený jazyk v popisech nástrojů,
  • nechte všechny popisy projít code review,
  • logujte všechna volání nástrojů,
  • sepište do README, jaká rizika nástroj nese.

Pro uživatele

  • instalujte jen důvěryhodné servery,
  • fixujte verze, žádné automatické aktualizace,
  • před schválením si přečtěte popisy nástrojů,
  • omezte počet současně běžících serverů,
  • sledujte logy a hlídejte neočekávané chování,
  • neschvalujte všechno automaticky.

Jak řídit MCP ve firmě

Firmy, které chtějí MCP nasadit v enterprise prostředí, potřebují promyšlený rámec pro správu (governance). Měl by obsahovat:

Schválený seznam a klasifikaci

  • centrální registr všech MCP serverů, které chcete podporovat,
  • klasifikaci podle citlivosti dat, ke kterým mají přístup,
  • mapování na business procesy a jejich vlastníky.

Správu přístupů

  • whitelist povolených MCP serverů,
  • přístup k jednotlivým nástrojům podle rolí,
  • pravidelnou revizi oprávnění.

Bezpečnostní opatření

  • izolaci MCP serverů přes kontejnery (Docker),
  • segmentaci sítě,
  • monitoring a upozornění na anomálie,
  • plán reakce na incidenty pro hrozby spojené s AI.

Compliance a audit

  • logování všech volání nástrojů,
  • pravidelné bezpečnostní audity,
  • dokumentaci pro regulatorní požadavky.

Vzdělávání

  • školení bezpečnostního povědomí zaměřené na rizika MCP a AI,
  • návody pro bezpečné používání,
  • eskalační postupy pro podezřelé chování.

Naše řešení pro bezpečné MCP

V DX Heroes vidíme, že současný stav bezpečnosti MCP dlouhodobě neobstojí. Proto připravujeme vlastní produkt pro bezpečnou správu a governance MCP serverů.

Bude umět:

  • centrálně spravovat MCP servery,
  • automaticky odhalovat bezpečnostní hrozby,
  • auditovat popisy nástrojů,
  • reportovat compliance,
  • napojit se na bezpečnostní nástroje, které už používáte.

Více najdete na mcp.dxheroes.io.

Open source verzi si můžete stáhnout z repozitáře DXHeroes/local-mcp-gateway.

Závěr

MCP je velký krok vpřed v propojení AI s vývojářskými nástroji. Potenciál zvýšit produktivitu je obrovský, ale jen tehdy, když umíme řídit i související bezpečnostní rizika.

Co si z článku odnést:

  • MCP není bezpečný ve výchozím stavu a vyžaduje aktivní zabezpečení.
  • Bezpečnostní problémy jsou reálné, ne jen teoretické.
  • Prompt injection je základní problém bez jednoduchého řešení.
  • Obrana existuje, ale není dokonalá.
  • Odpovědnost sdílejí protokol, klienti, servery i uživatelé.

Nenechte se odradit. MCP je mocný nástroj, který umí váš vývoj výrazně zlepšit. Přistupujte k němu ale s respektem a zaveďte odpovídající bezpečnostní opatření.

Chcete vědět víc?

Zajímá vás, jak MCP bezpečně nasadit u vás ve firmě? Rádi vám ukážeme naše řešení a pomůžeme nastavit bezpečnou AI infrastrukturu.

Ozvěte se nám pro demo přímo přes kontaktní formulář.

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.