Slovník pojmů

— A —

Agent

Autonomní AI asistent, který dokáže porozumět cílům uživatele a provádět akce jeho jménem. V kontextu WebMCP jde o software (například Claude, ChatGPT, Gemini nebo prohlížečový asistent), který čte seznam dostupných nástrojů na stránce a volá je k dosažení uživatelova cíle.

Agent-first

Přístup k návrhu webu, který kromě lidských návštěvníků počítá i s AI agenty jako plnohodnotnými uživateli. Analogie k dřívějšímu „mobile-first“ — web je od začátku navržený tak, aby byl srozumitelný a použitelný pro agenty.

agentInvoked

Vlastnost na objektu SubmitEvent, která má hodnotu true, pokud formulář odeslal AI agent (ne člověk). Umožňuje rozlišit v kódu, zda submit přišel od uživatele nebo od agenta, a podle toho upravit chování — například přeskočit animaci nebo logovat jiným způsobem.

— C —

clearContext()

Metoda na navigator.modelContext, která odebere všechny registrované nástroje najednou. Užitečná při odhlášení uživatele nebo při přechodu na jinou sekci aplikace, kde předchozí nástroje nemají smysl.

— D —

Deklarativní API

Jedna ze dvou cest, jak implementovat WebMCP. Využívá HTML atributy toolnametooldescription a volitelně toolautosubmit přímo na elementu <form>. Prohlížeč z formuláře automaticky sestaví JSON schéma a zaregistruje ho jako nástroj. Nevyžaduje JavaScript.

— E —

execute()

Callback funkce, která se spustí, když agent zavolá nástroj. Přijímá vstupní parametry (podle definovaného schématu) a objekt ModelContextClient. Vrací strukturovaný výsledek — typicky objekt s polem content, kde každá položka má type (obvykle "text") a text s odpovědí.

— H —

Human-in-the-loop (HITL)

Princip, kdy AI agent provádí akce ve spolupráci s uživatelem, ne místo něj. Ve WebMCP je realizován přes metodu requestUserInteraction() — agent může pozastavit provádění nástroje a vyžádat si potvrzení uživatele, například před odesláním objednávky nebo platby.

— I —

Imperativní API

Druhá ze dvou cest, jak implementovat WebMCP. Využívá JavaScript metodu navigator.modelContext.registerTool() k registraci nástrojů s vlastní logikou, dynamickými daty a plnou kontrolou nad vstupy i výstupy. Vhodné pro složitější scénáře, které nelze popsat jedním HTML formulářem.

inputSchema

Objekt ve formátu JSON Schema (draft-07), který definuje očekávané vstupní parametry nástroje — jejich názvy, typy, popisy a omezení (povinnost, výčty, formáty). Dobře navržené schéma je klíčové pro spolehlivé volání nástroje agentem.

— J —

JSON Schema

Standard pro popis struktury JSON dat. WebMCP ho využívá k definici vstupních parametrů nástrojů (inputSchema). U deklarativního API ho prohlížeč sestavuje automaticky z HTML formuláře; u imperativního API ho vývojář definuje ručně.

— M —

MCP (Model Context Protocol)

Serverový protokol od Anthropicu pro připojení AI modelů k externím nástrojům a datovým zdrojům. Používá JSON-RPC, běží jako samostatný proces a je nezávislý na prohlížeči. WebMCP je inspirován konceptem MCP, ale není jeho rozšířením — jde o samostatný standard navržený pro prostředí prohlížeče.

Model Context Provider

Jeden browsing context (typicky záložka prohlížeče), který používá WebMCP API k vystavení nástrojů. Jinými slovy — vaše webová stránka poté, co zaregistruje nástroje přes navigator.modelContext.

ModelContextClient

Rozhraní, které ve funkci execute() reprezentuje agenta volajícího nástroj. Umožňuje například zavolat requestUserInteraction() pro vyžádání uživatelského potvrzení během provádění nástroje.

— N —

navigator.modelContext

Hlavní vstupní bod WebMCP API v prohlížeči. Objekt na globálním navigator, přes který webové stránky registrují a spravují nástroje. Obsahuje metody registerTool()unregisterTool()provideContext() a clearContext(). Existuje pouze v prohlížečích s podporou WebMCP.

navigator.modelContextTesting

Testovací rozhraní dostupné v Chrome s povoleným WebMCP flagem. Umožňuje vývojářům prohlížet registrované nástroje (listTools()), spouštět je ručně (executeTool()) a sledovat změny (addEventListener("toolchange", …)). Určeno výhradně pro vývoj a ladění.

— P —

provideContext()

Metoda na navigator.modelContext, která nahradí celou sadu registrovaných nástrojů najednou. Na rozdíl od registerTool(), který přidává jeden nástroj, provideContext() odebere všechny stávající a nahraje nový seznam. Užitečné, když se změní stav aplikace — například po přihlášení uživatele se zpřístupní jiné funkce.

— R —

readOnly

Volitelná vlastnost v definici nástroje. Pokud je nastavena na true, signalizuje, že nástroj pouze čte data a neprovádí žádné změny. Agent nemusí žádat o potvrzení uživatele. Pokud je false nebo chybí, prohlížeč může vyžadovat potvrzení před spuštěním.

registerTool()

Metoda na navigator.modelContext, která zaregistruje jeden nástroj. Přijímá objekt s vlastnostmi namedescriptioninputSchema a execute. Pokud nástroj se stejným jménem už existuje, přepíše ho. Registrace je vždy omezena na stejný origin (same-origin policy).

requestUserInteraction()

Metoda na objektu ModelContextClient, dostupná uvnitř execute(). Umožňuje nástroji pozastavit provádění a vyžádat si interakci od uživatele — například potvrzovací dialog, výběr varianty nebo zadání dodatečných informací. Klíčový mechanismus pro human-in-the-loop.

— S —

Same-origin policy

Bezpečnostní princip prohlížeče, který WebMCP dodržuje. Nástroje lze registrovat pouze na stejném originu (doména + port + protokol). Stránka z jedné domény nemůže registrovat nástroje pro jinou doménu. Cross-origin registrace je záměrně vyloučena z první verze specifikace.

Screen scraping

Metoda, při které AI agent pořizuje screenshot webové stránky, posílá ho do vision modelu a na základě vizuální analýzy se pokouší odhadnout, kam kliknout. WebMCP je navržen jako náhrada tohoto přístupu — místo hádání z obrázku agent dostane strukturovaný seznam akcí.

— T —

Tool (nástroj)

Základní stavební jednotka WebMCP. JavaScriptová funkce registrovaná přes API prohlížeče, kterou může AI agent zavolat. Každý nástroj má čtyři povinné součásti: unikátní jméno (name), popis v přirozeném jazyce (description), schéma vstupů (inputSchema) a obslužnou funkci (execute).

Tool Contract

Souhrnný seznam všech nástrojů, které web nabízí AI agentům. Obsahuje názvy, popisy a schémata vstupů jednotlivých nástrojů. Lze ho chápat jako „jídelní lístek“ — web říká agentovi: „Toto jsou věci, které umím udělat, a toto potřebuji vědět, abych je provedl.“

toolname

Povinný HTML atribut na elementu <form> pro deklarativní WebMCP. Definuje unikátní název nástroje (např. toolname="search-products"). Pokud chybí, formulář není registrován jako nástroj.

tooldescription

Povinný HTML atribut na elementu <form> pro deklarativní WebMCP. Obsahuje popis nástroje v přirozeném jazyce, který agentovi vysvětlí, k čemu formulář slouží a jaká data očekává. Pokud chybí (i když toolname je přítomný), formulář není registrován.

toolautosubmit

Volitelný HTML atribut na elementu <form>. Pokud je přítomný, formulář se automaticky odešle poté, co ho agent vyplní. Bez něj agent vyplní pole, ale čeká, až uživatel klikne na tlačítko pro odeslání. Doporučuje se používat pouze u bezpečných, read-only operací.

— U —

unregisterTool()

Metoda na navigator.modelContext, která odebere konkrétní nástroj podle jména. Užitečné v SPA (single-page applications), kde se dostupné nástroje mění podle toho, v jaké sekci aplikace se uživatel nachází.

— W —

W3C Web Machine Learning Community Group

Pracovní skupina v rámci W3C, kde je specifikace WebMCP vyvíjena. Podílejí se na ní inženýři z Google a Microsoftu. WebMCP je publikován jako Draft Community Group Report — to znamená, že jde o aktivní návrh směřující k formálnímu standardu, ale zatím není W3C Standard ani na standardizační cestě W3C.

WebMCP

Web Model Context Protocol — návrh webového standardu, který umožňuje webovým stránkám vystavit své funkce jako strukturované, volatelné nástroje pro AI agenty prostřednictvím API navigator.modelContext. Stránka s WebMCP se chová jako MCP server běžící na straně klienta v prohlížeči — bez potřeby samostatného backendu. Standard je model-agnostický a funguje s libovolným AI agentem.