DXHEROES Logo
Co děláme

/

#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

Model Context Protocol mění způsob práce s AI nástroji - ale přináší i bezpečnostní výzvy, které byste měli znát.

V posledním roce se Model Context Protocol (MCP) stal jedním z nejdiskutovanějších témat v komunitě vývojářů pracujících s AI. Tento standardizovaný protokol od Anthropic slibuje revoluci v propojování LLM (Large Language Models, velké jazykové modely) s externími nástroji a daty. Ale jako u každé nové technologie platí - s velkými možnostmi přicházejí i velká rizika.

V tomto článku se podíváme na to, jak MCP funguje, proč je tak užitečný pro moderní softwarový vývoj, a především - 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 pouze specifikace - standard definující, jak by měly LLM komunikovat s externími nástroji a daty. Anthropic k ní poskytuje referenční implementace (servery, klienty, SDK), ale jádrem je právě tento otevřený protokol.

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

MCP standardizuje tři hlavní entity:

Host - aplikace jako Claude Desktop, Cursor nebo VS Code, kde běží AI
MCP Client - kus kódu uvnitř Hostu, který umí volat MCP servery
MCP Server - lokální nebo vzdálený server poskytující:

  • Tools (nástroje, které AI může volat)
  • Resources (přístup k souborům, API, databázím)
  • Prompts (šablony promptů)
  • Tasks (komplexnější operace)

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

Role MCP v AI-enhanced Software Delivery Lifecycle

Pro týmy pracující na moderním softwarovém vývoji představuje MCP zásadní posun v tom, jak AI asistenti interagují s vývojářským prostředím. Místo izolovaných AI nástrojů, které "vidí" pouze to, co jim ručně předáte, umožňuje MCP vytvořit komplexní kontext zahrnující:

  • Přístup k repozitářům a historii commitů
  • Integraci s projektovým managementem (Jira, Linear)
  • Komunikační nástroje (Slack, Teams)
  • Dokumentaci a knowledge base
  • CI/CD pipelines a deployment nástroje

Tento rozšírený kontext umožňuje AI agentům poskytovat mnohem relevantnější a přesnější odpovědi. Vývojář může například požádat AI o analýzu problému, a agent má přístup nejen k kódu, ale i k souvisejícím ticketům, předchozím diskusím a deployment historii.

Zároveň mohou AI agenti skrze MCP provádět create, update a delete operace v napojených systémech.

Jak MCP funguje pod kapotou

Když se podíváme hlouběji na architekturu, MCP používá JSON-RPC 2.0 pro komunikaci mezi clientem a serverem. Každý MCP server definuje sadu nástrojů pomocí strukturovaných popisů (tool descriptions), které obsahují:

  • Název nástroje
  • Popis funkcionality v přirozeném jazyce
  • Definici vstupních parametrů
  • Očekávaný výstup

Klíčový detail: tool descriptions vidí LLM, ale ne vždy uživatel. A právě zde začínají bezpečnostní problémy.

Proč MCP není inherentně bezpečný

MCP v současné podobě prioritizuje funkcionalitu nad bezpečností. Specifikace protokolu obsahuje několik zásadních nedostatků:

  • Žádné šifrování kontextu - data mezi clientem a serverem nejsou automaticky chráněna
  • Chybí verifikace integrity nástrojů - nelze ověřit, že nástroj nebyl modifikován
  • Skryté popisy nástrojů - uživatel nevidí plné tool descriptions, které vidí LLM
  • "SHOULD" místo "MUST" - specifikace říká, že by měl být člověk v rozhodovacím procesu, ale není to vynuceno

Výsledkem je, že výchozí konfigurace MCP není bezpečná a vyžaduje aktivní kroky k zabezpečení. Navíc odpovědnost za bezpečnost protokolu a jeho používání je sdílená mezi všechny účastníky ekosystému:

MCP Protocol Authors (Anthropic):

  • Chybí autentizace a autorizace ve specifikaci
  • Chybí integrity checks
  • "SHOULD have human in the loop" by mělo být "MUST"

MCP Client Developers:

  • Priorita ease of use nad bezpečností
  • Bezpečnostní opatření jsou přidávána později

MCP Server Developers:

  • Rychlost vývoje často převažuje nad security
  • Mnoho serverů je generováno automaticky z OpenAPI specifikací

API Providers:

  • Potřeba granulárních API přístupů a autorizace

End Users:

  • YOLO mode + MCP = recept na katastrofu

Hlavní kategorie útoků

Bezpečnostní hrozby spojené s MCP můžeme rozdělit do tří základních kategorií:

1. Zranitelný MCP nástroj

MCP server s implementačními chybami - nejčastěji problémy s validací vstupů nebo nebezpečná API volání. Vývojář MCP serveru neúmyslně vytvořil zranitelnost.

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

Malicious MCP server, který záměrně obsahuje skryté instrukce nebo backdoory. Cílem je oklamat LLM a uživatele.

3. LLM nerozezná zdroj vstupu

Fundamentální problém architektury LLM - model zpracovává vše jako textové tokeny a nemá koncept důvěryhodného versus nedůvěryhodného zdroje.

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

Hrozba #1: Command Injection

Problém: Podle analýzy společnosti Equixly mělo 43% analyzovaných MCP serverů zranitelnosti typu command injection. Nebezpečná shell volání bez validace vstupu umožňují útočníkovi spustit libovolný kód na hostitelském systému.

Dopad: Remote Code Execution (RCE), kompromitace systému, krádež credentials.

Mitigace:

  • Nikdy nepoužívejte shell volání s user inputem
  • Používejte `subprocess.run()` s argumenty jako seznam, ne jako řetězec
  • Implementujte whitelist povolených znaků
  • Důkladná input validace a sanitizace
  • Vyhněte se "YOLO mode" v MCP clientech

Hrozba #2: Tool Poisoning

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

Mitigace:

  • Zobrazujte plné tool descriptions uživateli
  • Alertujte na změny v descriptions
  • Používejte syntax highlighting pro podezřelé tagy
  • Logujte všechny tool calls s plnými parametry
  • Minimalizujte natural language v descriptions

Hrozba #3: Rug Pull Attack

Problém: MCP servery mohou měnit své tool definitions dynamicky. Client nezobrazuje změny v descriptions. Důvěryhodný nástroj se může po čase změnit ve škodlivý - klasický supply chain attack.

Scénář:
1. Den 1: Nainstalujete legitimní, užitečný MCP server
2. Týden 2: Server běží, získává důvěru
3. Měsíc 1: Autor updatuje server a přidá malicious instrukce
4. Výsledek: Server nyní krade data, ale vypadá stejně

Mitigace:
- Pin versions (žádné automatické aktualizace!)
- Pravidelný audit tool descriptions
- Integrity verification před každým použitím

Hrozba #4: Tool Shadowing

Problém: MCP client může být připojen k více serverům současně. Malicious server může přepsat nebo stínovat nástroje z důvěryhodného serveru. LLM nerozlišuje, který server poskytl který tool.

Příklad: Máte připojený důvěryhodný Gmail MCP Server s `send_email()`. Malicious Calculator Server také poskytuje `send_email()` - a může změnit příjemce, upravit obsah zprávy, nebo přidat BCC kopii útočníkovi.

Mitigace:

  • Namespace/scoping tools: místo `send_email()` použijte `gmail.send_email()`
  • Tool allowlisting s explicitním mapováním
  • Server trust levels - kritické operace jen z verified servers
  • UI indikátory zobrazující zdroj každého toolu
  • Limitujte počet současně připojených serverů

Hrozba #5: Prompt Injection

Problém: LLM nemůže rozlišit mezi legitimními daty a škodlivými instrukcemi. Jakýkoli untrusted input - GitHub Issues, Pull Request descriptions, commit messages - může obsahovat skryté příkazy.

Real world scénář:

  1. Útočník vytvoří Issue v public repozitáři
  2. Issue vypadá jako legitimní feature request
  3. Developer s Cursor + GitHub MCP Issue otevře
  4. AI agent přečte Issue a poslechne hidden instrukce
  5. README.md je modifikován citlivými daty

Realita: Prompt injection je fundamentální problém, který nelze 100% vyřešit bez změny LLM architektury. Human-in-the-loop zůstává nezbytný.

Částečná mitigace:

  • Structured prompts s oddělenou sekcí pro context
  • LLM guardrails a specializované modely pro detekci
  • Explicitní povolení pro každý tool call

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

Pro vývojáře

  • Validujte VŠECHNY vstupní parametry
  • Nikdy ‘os.system()’ s user input
  • Používejte `subprocess/exec` s argument lists
  • Minimalizujte natural language v descriptions
  • Code review všech tool descriptions
  • Audit logging všech tool calls
  • README s popisem rizik

Pro uživatele

  • Instalujte pouze důvěryhodné servery
  • Pin versions - žádné automatické aktualizace
  • Review tool descriptions před schválením
  • Limitujte počet současně běžících serverů
  • Monitorujte logy pro neočekávané chování
  • Nepoužívejte YOLO mode

MCP Governance pro organizace

Pro organizace, které chtějí MCP využívat v enterprise prostředí, je klíčové implementovat komplexní governance framework. Ten by měl zahrnovat:

Approved list a klasifikace

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

Access management

  • Whitelist povolených MCP serverů
  • Role-based přístup k jednotlivým nástrojům
  • Pravidelná revize oprávnění

Security controls

  • Containerizace (Docker) pro izolaci MCP serverů
  • Network segmentace
  • Monitoring a alerting na anomálie
  • Incident response plán pro AI-specifické hrozby

Compliance a audit

  • Logging všech tool calls
  • Pravidelné bezpečnostní audity
  • Dokumentace pro regulatorní požadavky

Vzdělávání

  • Security awareness training zaměřený na MCP/AI rizika
  • Guidelines 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 si uvědomujeme, že současný stav MCP bezpečnosti není udržitelný. Proto připravujeme vlastní produkt zaměřený na bezpečnou správu a governance MCP serverů.

Naše řešení bude zahrnovat:

  • Centralizovanou správu MCP serverů
  • Automatickou detekci bezpečnostních hrozeb
  • Tool description auditing
  • Compliance reporting
  • Integraci s existujícími security nástroji

Více informací najdete na mcp.dxheroes.io.

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

Závěr

MCP představuje významný krok vpřed v propojování AI s vývojářskými nástroji. Potenciál pro zvýšení produktivity je obrovský - ale pouze pokud dokážeme efektivně řídit související bezpečnostní rizika.

Klíčové poznatky:

  • MCP není bezpečný by default - vyžaduje aktivní zabezpečení
  • Security issues jsou reálné, ne jen teoretické
  • Prompt injection je fundamentální problém bez jednoduchého řešení
  • Mitigace existují, ale nejsou perfektní
  • Odpovědnost je sdílená** mezi protokol, clienty, servery i uživatele

Nenechte se odradit - MCP je mocný nástroj, který může výrazně zlepšit váš development workflow. Ale přistupujte k němu s respektem a implementujte odpovídající bezpečnostní opatření.

Chcete vědět více?

Zajímá vás, jak bezpečně implementovat MCP ve vaší organizaci? Rádi vám ukážeme naše řešení a pomůžeme s nastavením bezpečné AI infrastruktury.

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.

Tento web je chráněn službou reCAPTCHA a platí Zásady ochrany soukromí a Smluvní podmínky společnosti Google.