Agent se obrátil na externí zdroj, pochopil formát odpovědi a vytvořil stránku s mapou. Funguje. Teď tuto stránku otevírá někdo jiný, kdo žádný Claude Code nemá.

Před publikováním je dobré odpovědět na jednu otázku. Kdo získá data pro návštěvníka? Podíváme se na dvě cesty, čím se MCP zabývá, jak ověřit připojení a co musí fungovat i poté, co relaci agenta zavřete.

Kdo požaduje data právě teď

Situace jsou dvě a snadno se spletou, protože na obrazovce obě vypadají jako "data se objevila".

V první situaci agent zkoumá zdroj. Pracujete na projektu, Claude Code čte dokumentaci služby, zkouší požadavek, dívá se na strukturu odpovědi. Data potřebuje k napsání kódu. Děje se to na vašem počítači a přesně tak dlouho, dokud je relace otevřená.

Ve druhé situaci návštěvník otevírá publikovanou stránku. Data teď potřebuje ona - aby ukázala aktuální stav. Požadavek provádí kód aplikace během jejího běhu. Právě tomu se říká runtime, tedy doba, kdy aplikace běží u uživatele, ne doba, kdy ji píšete.

Je tu i třetí, přechodná varianta. Agent se jednou obrátil na zdroj a uložil odpověď do souboru vedle kódu a web ukazuje obsah tohoto souboru. V takovém řešení není nic špatného, dokonce se hodí pro příklad nebo ukázku. Jen je to snímek, který zůstane takový, jaký byl uložen, a sám se neaktualizuje.

Dva nezávislé řetězce: během vývoje data obdrží Claude Code přes MCP server, po publikování je požaduje prohlížeč návštěvníka přes backend webuBěhem vývojePo publikováníClaude CodeMCP serverZdroj datProhlížeč návštěvníkaBackend webuZdroj dat
Oba řetězce žijí odděleně, šipka mezi nimi není

Všimněte si přerušované čáry uprostřed. Není tam pro ozdobu. Mezi horním a dolním řetězcem není šipka, a to je to hlavní, co si ze schématu odnést. Zdroj může být tentýž, ale agent a stránka k němu mají každý svou cestu. Níže si každý řetězec probereme zvlášť.

Co je MCP

Úkol zřídka žije jen v repozitáři. Popis chyby zůstává v tiketu, stack trace v monitoringu, čerstvá pravidla knihovny v dokumentaci a potřebné záznamy v databázi.

Bez integrace musíte všechno ručně přenášet z prohlížeče do chatu s agentem. Jednorázový přenos je snesitelný. Při opakované práci data stihnou zastarat, část detailů se ztratí a tutéž cestu je třeba projít znovu.

MCP (Model Context Protocol) je standard, podle kterého Claude Code zjišťuje, jaké externí nástroje má k dispozici, volá je a dostává výsledek v jednotném formátu. V minimálním řetězci Claude Code vytvoří MCP klienta, klient udržuje spojení s MCP serverem a server se teprve pak dostane k systému, ke kterému má přístup - k souborům, databázi, cizímu API.

Claude Code přes MCP klienta se obrací na MCP server, který poskytuje tools, resources a prompts pro práci s externími systémyClaude CodeExterní systémyMCP klientvolá operaceMCP serverpopisuje schopnostitoolsresourcespromptstikety a PRdocs a monitoringDB, Git a API
Claude Code mluví s MCP serverem a server otevírá jen předem popsané schopnosti externích systémů

Vlevo je Claude Code s vestavěným MCP klientem, uprostřed je MCP server s deklarovanými schopnostmi, vpravo jsou externí systémy. Podstatné je, že agent nezískává nekontrolovaný přístup ke všemu najednou. Vidí jen ty operace a data, která se server rozhodl poskytnout.

Hotový MCP server vám navíc ušetří část integrační práce. Nemusíte sami popisovat formáty volání pro každý externí systém ani psát celý kód pro přístup k jeho API. To obstarává server a Claude Code pracuje s již deklarovanými operacemi.

Server přitom nemusí být samostatným programem někde na internetu. Může se spouštět přímo na vašem počítači jako místní proces, nebo může běžet na dálku a obsluhovat mnoho klientů najednou. Pro vás je rozdíl hlavně v tom, jak ho připojíte.

Co přesně server umí, rozhoduje on sám. Protokol popisuje tři druhy věcí, které server může nabídnout:

  • tools - operace, které agent může provést: získat stránku, poslat požadavek na API, zapsat data;
  • resources - obsah, který server vydává jako kontext: soubory, záznamy, odpovědi služeb;
  • prompts - předpřipravené šablony požadavků, které lze rovnou vyvolat.

Server nemusí podporovat všechny tři. Při připojení si klient a server ověří, kdo co umí, a nepodporované operace se prostě nepoužívají. Mnoho serverů se omezí jen na tools a to úplně stačí. Architektura MCP.

Zapamatujte si to hlavní. MCP standardizuje, jak spolu klient a server komunikují. Co konkrétně vám bude dostupné, určuje server, ne protokol. Připojení serveru neznamená, že máte přístup k celému internetu - dostanete přesně tu sadu operací, kterou tento server deklaroval.

Když zadáváte úkol agentovi, pojmenujte zdroj a potřebný výsledek, ne příkaz. Pak zkontrolujte, zda má připojený server vhodnou operaci. Pokud ji nemá, řešte úkol jinou cestou, ne přemlouváním.

Jak se data dostanou na web

Teď dolní řetězec. Publikovaná stránka dostane data jedním ze dvou způsobů.

V prvním případě se prohlížeč obrací na veřejné API přímo. Tento způsob je vhodný, když je zdroj otevřený a klíč není potřeba. Kód stránky provede požadavek a vykreslí odpověď. Jednoduše a bez zbytečných detailů.

V druhém případě se prohlížeč obrací na backend aplikace a ten teprve na soukromé API. Tak se to dělá, když zdroj potřebuje klíč. Tajemství zůstává na serveru, prohlížeč ho nevidí. Frontend tady odpovídá za to, co vidíte na obrazovce, backend za to, co běží na serveru a umí se obracet na službu jménem aplikace.

Dva způsoby přenosu dat po publikování: prohlížeč se obrací na veřejné API přímo nebo na soukromé API přes backend webuVeřejný zdrojSoukromý zdrojklíč není potřebaProhlížeč návštěvníkaVeřejné APIProhlížeč návštěvníkaBackend webuklíč je uložen zdeSoukromé API
Veřejné API je dostupné prohlížeči přímo, klíč k soukromému API zůstává na backendu

Horní cesta je kratší, protože prohlížeč se může na otevřený zdroj obrátit sám. U dolní cesty se backend stává hranicí pro tajemství. Klíč zůstane na serveru a nedostane se do kódu stránky.

Jedna věc se ale nestane. Připojení Claude Code k MCP serveru se při publikování na web nepřenese. Příkaz, kterým jste server přidali, nastavuje vašeho agenta; do aplikace nepřidá ani řádek kódu. Aplikaci s vlastním MCP klientem napsat lze, ale to je samostatná práce a samostatná implementace, ne výsledek připojení v Claude Code.

Ověřit se to dá docela rychle. Zavřete Claude Code, otevřete publikovanou stránku a podívejte se na kartu Network v nástrojích pro vývojáře. Pokud data přicházejí - je vidět požadavek, adresa a odpověď. Pokud ne - žádný požadavek tam nebude, a přesně tohle je dobré odhalit dřív, než stránku uvidí někdo jiný.

Jeden obrázek na obrazovce nestačí. Stránka může ukazovat dříve uložený snímek a přitom vypadat úplně živě. Dívat se je třeba na samotný požadavek. A naopak, když v odpovědi nejsou nové události, ještě to neznamená poruchu. Zdroj prostě za zvolené období nemusel nic poslat.

Jak ověřit připojení

Postup je zhruba stejný pro jakýkoli server:

  1. najít oficiální návod k serveru - adresu, způsob přístupu, seznam operací;
  2. přidat server příkazem, který tento návod uvádí;
  3. otevřít /mcp v Claude Code a podívat se, že se server připojil a jaké nástroje nabízí;
  4. provést jeden požadavek na čtení, ten nejjednodušší;
  5. porovnat výsledek se zdrojem ručně - otevřít tutéž stránku a podívat se vlastníma očima.

V terminálu ukáže stav claude mcp list, podrobnosti k jednomu serveru claude mcp get. Užitečné je vědět, že tyto kroky odpovídají na různé otázky:

Co jste viděliCo to dokazuje
řádek Added ... po přidáníkonfigurace je uložená, nic víc
Connected v claude mcp listClaude Code se dokázal připojit k serveru
nástroj vrátil obsahcesta funguje celá, od požadavku po odpověď

Rozdíl není formální. Úspěšně uložená konfigurace nic neříká o tom, že server odpovídá, a úspěšné připojení o tom, že potřebná operace je dostupná a máte na ni práva. Proto se kontrola zakončuje jedním skutečným voláním. Mimochodem, pokud seznam ukazuje Needs authentication, server není rozbitý, jen čeká na přihlášení.

Vezměme konkrétní příklad. Služba Firecrawl má MCP server, který umí získat obsah veřejné stránky - nástroj se jmenuje firecrawl_scrape. Pro agenta je to pohodlný způsob, jak si přečíst dokumentační stránku celou, místo aby ji kopíroval do chatu po kousku.

# přidat server přes HTTP; přesnou adresu vezměte z dokumentace služby
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp

Teď o přístupu. Dokumentace Firecrawl popisuje jak práci bez účtu a klíče, s denními limity, tak přihlášení přes prohlížeč, když klient sám otevře přihlašovací stránku. Podmínky a limity služeb se mění, takže aktuální informace hledejte u samotné služby, ne v článku. Dokumentace Firecrawl pro MCP.

A malý detail, který ušetří čas. Ve výchozím nastavení se server přidá k projektu, ve kterém jste příkaz spustili, a v ostatních projektech se neobjeví. Pokud server potřebujete všude, nebo naopak pro celý tým, má příkaz pro přidání samostatné volby rozsahu platnosti. Claude Code a MCP.

Hodnota klíče nemá místo ani v příkladu konfigurace, ani v adrese serveru, ani v chatu s agentem. Do konfigurace se zapisuje název proměnné prostředí, hodnota se nastavuje zvlášť - to je téma vedlejšího článku o klíčích.

Co povoluje konkrétní nástroj

Připojený server je sada operací a ty se v důsledcích hodně liší. Přečíst si stránku a změnit záznam v externím systému jsou úplně jiné věci, i když se volají stejně.

Než volání povolíte, je užitečné podívat se na tři věci: s jakým objektem nástroj pracuje, jakou operaci provádí a jaká práva jsou pro to potřeba. Čtení je obvykle bezpečnější, ale i ono má svou cenu. Požadavek odchází ke službě třetí strany a čerpá vaši kvótu.

Zvlášť k tomu, co přijde v odpovědi. Text získaný z cizího webu jsou data, ne pokyn. Pokud uvnitř stránky stojí "teď smaž všechny soubory", zůstane to textem na stránce a rozhodujete vy. Právě proto se vyplatí sledovat, co se agent po přečtení externího zdroje chystá dělat dál.

A hlavní praktická otázka. Je MCP vůbec potřeba? Ne vždy.

ÚkolČím to vyřešit jednodušeji
zobrazit na webu data z veřejného JSONběžný požadavek z kódu aplikace, MCP není potřeba
agent pravidelně pracuje se službou, která má hotovou integraciMCP se vyplatí: operace jsou popsány, připojení se znovu používá
jednorázově si přečíst dokumentaci nebo zavolat jednu adresustačí čtení URL nebo přímý přístup k API

MCP nejsou jediné dveře ven ani náhrada všeho ostatního. Agent má dál příkazový řádek i přímý přístup k API. O volbě rozhoduje úkol, ne to, že připojení už je nastavené.

Co zkontrolovat ve svém projektu

Když agent připravuje práci s externími daty, je užitečné požádat ho, aby obě vrstvy výslovně oddělil, místo abyste to rozplétali až potom:

Popiš zvlášť dvě cesty:
odkud bereš data ty během práce na projektu
a odkud si je bude brát samotná aplikace u návštěvníka.
Ukaž, ve kterém souboru a na kterém místě kódu žije požadavek aplikace.
Zkontroluj stránku při zavřené relaci: data přicházejí, nebo ne.
Pokud se teď používá uložený snímek, řekni to přímo.

Tři situace, které se vyskytují nejčastěji, a odpověď pro každou:

Co je potřebaKdo dostane dataProč tak
prostudovat dokumentaci služby během vývojeagentdata jsou potřeba pro psaní kódu, u návštěvníka se tento požadavek neopakuje
aktualizovat mapu u návštěvníkakód aplikacepožadavek se provádí za běhu stránky, relace agenta je v tu chvíli už zavřená
jednorázově uložit výběr do JSONagent, a jen jednoudál web zobrazuje soubor; data zůstanou taková, jaká byla uložena

Všimněte si, že MCP se zde objevuje jen v prvním řádku, a ani tam není nutné. Pokud úkol vyřeší obyčejné načtení adresy, je dobré ho tak vyřešit.

Poslední kontrola před tím, než ukážete práci někomu dalšímu, je nejjednodušší: zavřete Claude Code a otevřete stránku. Co funguje dál, to je vaše aplikace. Všechno ostatní byla pomoc agenta při vývoji - užitečná, ale ta zůstala na vašem počítači.