MyÚčto MyÚčto.cz Manuál
Stáhnout PDF Zpět na hlavní stránku

106. MCP server (napojení AI asistenta)

MCP server propojí AI asistenta — Claude, ChatGPT přes Codex, Gemini, Copilota — s daty tvé firmy. Po zprovoznění se ptáš běžnou češtinou („kolik zaplatíme na DPH“, „kdo nám dluží“, „jaký byl loni zisk“) a asistent si sám vybere správný nástroj a zavolá ho přes REST API.

Nastavení najdeš v aplikaci: Firma → MCP server. Ta stránka ukazuje adresu API konkrétně tvojí instance a hotovou konfiguraci pro vybraného asistenta.

106.1 Co je MCP

Model Context Protocol je otevřený standard pro připojení nástrojů k AI modelům. Server je malý program, který běží u tebe na počítači, mluví s aplikací přes REST API a asistentovi nabízí sadu pojmenovaných nástrojů (list_unpaid_invoices, vat_return_preview, trial_balance, …).

Podstatné vlastnosti:

106.2 Rozsah — co asistent umí

OblastRozsah
Fakturacečtení, vystavování, odesílání, evidence úhrad, upomínky
Odběratelévyhledání, založení a úprava karty, dotažení údajů z ARES
Výkazy práce a materiálupřidání a odebrání řádků u konceptu faktury, automatická hodinová sazba
Zakázkyčtení i zápis — založení, úprava, archivace, rozpočty a ziskovost
Dokumentymetadata, fulltext a omezené čtení vytěženého textu; úprava tagů a vazeb
Kniha jízdčtení i zápis — vozidla, jízdy a tankování; daňový souhrn jen ke čtení
Pohledávky a závazkyzaplacené / nezaplacené / po splatnosti, stáří pohledávek
Daněodhad DPH za měsíc i kvartál, kontrolní a souhrnné hlášení, daň z příjmů, daňový kalendář — jen čtení
Účetnictvíobratovka, rozvaha, výsledovka, hlavní kniha, saldo, deník — jen čtení
Statistikatržby, zisk, trendy, top odběratelé a dodavatelé, cash flow, platební morálka, koncentrace, riziko odchodu
E-shop a skladkompletní správa včetně zápisu — zboží, obsah karet, ceny, dodavatelé, média, kategorie, číselníky, sklady, příjemky a výdejky, inventury (viz § 106.9)
Objednávky u dodavatelečtení i zápis — založení, odeslání, potvrzení, uzavření, storno, příjemka z objednávky a hromadné objednání podle návrhu doplnění zásob (§ 106.9)
Mzdyčtení zaměstnanců, pracovních podmínek a výsledků; změna sjednané mzdy, mzdové vstupy, přesčasy a absence; řízení mzdového běhu, platby, podání a dokumenty jsou zakázané
Hledáníglobální vyhledávání napříč odběrateli a doklady

Nástrojů je aktuálně 195; v režimu jen pro čtení (MYUCTO_READ_ONLY=1, § 106.4) se jich asistentovi nabídne 114 — zbylých 81 mění data a server je vůbec nezveřejní. Přesný počet vypíše server při startu do stderr (§ 106.3, krok 4).

Důležité

Do účetnictví a daní asistent nezapisuje. Zaúčtovat doklad, uzavřít období, zaevidovat opravu podle § 46 / § 74b ani odeslat podání na EPO nemůže. Je to agenda s daňovou odpovědností, kde chyba znamená opravné podání — dělá ji člověk v aplikaci. Zákaz vynucuje server, ne jen MCP: i token s právem zápisu dostane na takovou operaci 403 token_write_forbidden (viz kapitola 78.6). U mezd asistent pracuje jen s personálními údaji a připravovanými vstupy. Může změnit sjednanou mzdu od zadaného data, zadat přesčas, absenci nebo odměnu. Starší mzdová období přitom zachovají původní sjednanou částku. Nemůže spustit výpočet, schválení docházky, absence nebo mzdového běhu, zaúčtování, přípravu plateb, uzavření, podání ani mzdové dokumenty. Nová absence zůstane ve stavu k posouzení a schválí ji člověk v aplikaci.

106.3 Zprovoznění

106.3.1 Krok 1 — API token

V Firma → API tokeny vytvoř nový token. Zobrazí se jen jednou, hned si ho zkopíruj.

106.3.2 Krok 2 — příprava serveru

Server vyžaduje Node 20 nebo novější. Ve vydané distribuci je už připravený hotový build; nic nemusíš sestavovat ani instalovat. Máš dvě možnosti.

Pokud Node nemáš: Windows — winget install --id OpenJS.NodeJS.LTS --exact; macOS — brew install node.

A) Hotový build z distribuce (doporučeno). Použij přiložený soubor:

MCP/dist/myucto-mcp.mjs

Jde o jediný soubor bez externích balíčků. Můžeš ho nechat v instalaci nebo zkopírovat kamkoliv, třeba na jiný počítač. V konfiguraci asistenta pak jen nastavíš jeho úplnou cestu. V artefaktech vydání je navíc ke stažení také jako samostatný soubor MCP serveru.

B) Vývoj ze zdrojáků. Hodí se, když si chceš nástroje upravovat:

cd MCP
npm install

Server pak běží z MCP/src/index.mjs a potřebuje vedle sebe node_modules.

Poznámka

Sestavení neodstraňuje potřebu Node. Výsledek je pořád JavaScript, jen bez externích závislostí — Node musí být nainstalovaný v obou případech. Odpadá jen npm install a adresář node_modules.

106.3.3 Krok 3 — registrace u asistenta

Na stránce Firma → MCP server vyber v kroku 3 svého asistenta; zobrazí se hotová konfigurace i s adresou tvojí instance, kterou stačí zkopírovat.

AsistentKam konfigurace patří
Claude Code (CLI i desktop)příkaz claude mcp add
Claude Desktopclaude_desktop_config.json (Settings → Developer → Edit Config)
ChatGPT přes Codex CLI~/.codex/config.toml
Gemini CLI~/.gemini/settings.json
VS Code (Copilot).vscode/mcp.json
Cursor.cursor/mcp.json

Například pro Claude Code:

claude mcp add myucto \
  --env MYUCTO_API_URL=https://tvoje-instance.cz/api/v1 \
  --env MYUCTO_API_TOKEN=mi_pat_tvuj_token \
  -- node /cesta/k/myucto.cz/MCP/dist/myucto-mcp.mjs

Na stránce v aplikaci se dá přepnout, jestli má konfigurace ukazovat na hotový MCP/dist/myucto-mcp.mjs, nebo na vývojový MCP/src/index.mjs — cesta se změní ve všech ukázkách naráz.

Poznámka

Webový ani desktopový ChatGPT tenhle server připojit neumí — pracuje jen se vzdálenými MCP servery přes HTTP, zatímco tenhle běží lokálně. Pro práci s daty MyÚčta v prostředí OpenAI použij Codex CLI.

106.3.4 Krok 4 — ověření

Napiš asistentovi „ověř připojení k MyÚčtu“. Zavolá nástroj whoami a vrátí uživatele, roli a firmu. Volání se hned objeví v logu na stránce MCP serveru.

106.4 Nastavení

Server se konfiguruje proměnnými prostředí:

ProměnnáVýchozíVýznam
MYUCTO_API_URLPovinné. Adresa API, musí končit /api/v1.
MYUCTO_API_TOKENPovinné. Token mi_pat_….
MYUCTO_SUPPLIER_IDFirma, se kterou pracovat. Jen u tokenů nevázaných na jednu firmu.
MYUCTO_READ_ONLY01 = zápisové nástroje se asistentovi vůbec nenabídnou.
MYUCTO_MAX_RPS8Nejvýš tolik požadavků za sekundu.
MYUCTO_MAX_CONCURRENT3Nejvýš tolik souběžných volání.
MYUCTO_TIMEOUT_MS30000Timeout jednoho požadavku.
MYUCTO_SYSTEM_CA1Načíst certifikační autority z operačního systému. 0 = nenačítat.
MYUCTO_INSECURE_TLS01 = vůbec neověřovat HTTPS certifikát. Jen pro vývojovou instanci.

MYUCTO_READ_ONLY=1 je užitečná pojistka i u tokenu, který právo zápisu má — zápisové nástroje se v takovém režimu asistentovi ani nezobrazí, takže si nenaplánuje postup, který by stejně nedokončil.

Stropy MAX_RPS a MAX_CONCURRENT nejsou kosmetika: API sdílí PHP procesy s běžícím webem, takže asistent bez omezení zpomalí i běžné uživatele. Přebytečná volání čekají ve frontě. Nezávisle na nich platí serverový rate limit tokenu.

106.5 Příklady dotazů

Fakturace a pohledávky

Odběratelé

Výkazy práce a materiálu

Podrobnosti v § 106.7.

Zakázky, dokumenty a kniha jízd

Podrobnosti v § 106.8.

Daně

Účetnictví

Statistika

E-shop a sklad

Celá kapitola: § 106.9.

Mzdy a zaměstnanci

Mzdový běh tím nevznikne ani se neposune do dalšího stavu. Výpočet, kontrola, schválení, zaúčtování, platby, uzavření a odeslání zůstávají na člověku v aplikaci.

106.6 Odběratelé a ARES

Nového odběratele stačí zadat IČEM:

„Založ klienta podle IČO 45274649.“

Asistent si vytáhne z ARES název, adresu, DIČ i registraci k DPH a kartu založí. Cokoli řekneš navíc („…a e-mail fakturace@firma.cz“) má přednost před tím, co vrátí rejstřík — může jít o změnu, která se do ARES ještě nepropsala.

Bez IČO je potřeba název, ulice, město a PSČ; asistent si o ně řekne.

106.6.1 Ochrana proti duplicitám

Před založením se kontroluje, jestli odběratel se stejným IČO nebo DIČ už neexistuje. Pokud ano, nic se nezaloží a asistent ukáže stávající kartu. Druhou kartu téže firmy lze vytvořit jen vědomě, na výslovné potvrzení.

106.6.2 Úprava

Stačí říct, co se má změnit — zbytek karty zůstane. Asistent si ji načte, změnu do ní vloží a uloží celou zpět, takže se nic nevynuluje.

Když se firma přestěhuje nebo přejmenuje, jde údaje přenačíst z rejstříku:

„Přenačti údaje ACME z ARES.“

Když je ARES nedostupný, u úpravy se nic nemění (raději nic než půlka starých a půlka nových údajů). U zakládání se použijí údaje ze zadání, pokud stačí — asistent do odpovědi napíše, odkud data vzal.

106.7 Výkazy práce a materiálu

Výkaz je navázaný na koncept faktury — přesně jako v aplikaci. Stačí tedy říct:

„Přidej mi do výkazu práce pro AVYX 3 hodiny práce na MCP serveru.“

Asistent zakázku dohledá, najde její koncept faktury a řádek přidá. Existující řádky zůstanou beze změny.

106.7.1 Jak se určí hodinová sazba

Sazbu zadávat nemusíš. Doplní se v tomhle pořadí a první nenulová vyhraje:

  1. poslední řádek výkazu — když už se výkaz jednou vyplnil, nová hodina má sedět s ním, ne s ceníkem;
  2. hodinová sazba zakázky;
  3. hodinová sazba odběratele;
  4. výchozí hodinová sazba firmy (Nastavení firmy).

Když sazbu nemá nikdo, asistent to řekne a požádá o ni — netipuje. Vlastní sazbu lze samozřejmě určit („…3 hodiny po 1 800 Kč“).

106.7.2 Který doklad se použije

106.7.3 Materiál

Řádky materiálu fungují stejně (množství, jednotka, cena za jednotku). Jediný rozdíl: sazbu DPH materiálu si asistent nevymýšlí. Převezme ji z už existujícího výkazu, jinak si o ni řekne — špatná sazba by se propsala do přiznání k DPH.

106.8 Zakázky, dokumenty a kniha jízd

106.8.1 Zakázky

Asistent umí zakázku založit, upravit, archivovat i bezpečně smazat, pokud ještě nemá doklady. Při úpravě nejdřív načte současný stav a zachová všechna nezadaná pole. Změna výchozí kategorie tržby může doplnit tuto kategorii i do dosavadních faktur zakázky; proto ji zadávej výslovně.

Přehled ziskovosti je jen ke čtení. V podvojném účetnictví vychází z deníku, v daňové evidenci z dokladů, a upozorní i na nezaúčtované doklady. Asistent přes něj nic nezaúčtuje ani neopraví.

106.8.2 Dokumenty

MCP umí dokumenty vypsat, hledat v názvu, popisu i vytěženém textu, přečíst omezený úsek textu, upravit název, popis a tagy a připojit dokument k odběrateli, dokladu nebo zakázce. Dlouhý text se vrací po částech nejvýše 50 000 znaků. Platí stejná firemní a osobní oprávnění jako v aplikaci.

Přes tento MCP server se nenahrávají ani nestahují binární soubory. PDF, obrázek nebo ZIP nahraj v aplikaci; asistent pak pracuje s jeho metadaty a vytěženým textem. Odpojení vazby vyžaduje potvrzení, dokument samotný ale nemaže.

106.8.3 Kniha jízd

Asistent umí spravovat vozidla, přidávat a upravovat jízdy a tankování a číst roční souhrn kilometrů a spotřeby. U nové jízdy vyžaduje vozidlo, datum, vzdálenost nebo oba stavy tachometru a hlavně výslovně vybranou kategorii. Soukromou či služební povahu cesty nikdy neodhaduje — pokud kategorii neřekneš, nejdřív nabídne číselník a doptá se.

Smazání vozidla, jízdy nebo tankování vyžaduje potvrzení. Používané vozidlo nelze smazat; lze ho pouze archivovat. Roční daňový souhrn je dostupný jen ke čtení a žádný účetní zápis z MCP nevytváří.

106.9 E-shop a sklad

Na rozdíl od účetnictví je e-shopová a skladová agenda obousměrná — asistent umí katalog nejen číst, ale i zakládat, upravovat a mazat. Důvod je prostý: skladový pohyb je dohledatelný ve skladové knize a zaúčtovaný doklad jde stornovat protidokladem, takže se chyba dá v aplikaci napravit. Účetní dopad vzniká až v účetní vrstvě, která zůstává jen ke čtení.

Poznámka

Celá tahle agenda je volitelný modul. Když ho firma nemá zapnutý, nástroje vracejí 403 stock_disabled — zapíná se v nastavení firmy.

106.9.1 Co asistent umí

OblastČteníZápis
Zboží — skladová kartaseznam, našeptávač, detail, skladová kniha (pohyby)založit, upravit (SKU, název, MJ, sazba DPH, minimální zásoba, aktivita), smazat
Zboží — obsah pro e-shopkarta i s kategoriemi, štítky a parametry; jazykové verzevýrobce, záruka, dodací lhůta, hmotnost, publikace, překlady, kategorie, štítky, parametry, poplatky
Cenyceny po měnách, maržeuložit cenotvorbu (přirážka / pevná cena / zaokrouhlení), vynutit přepočet
Dodavatelé zbožíseznam s nákupní cenou a dodací lhůtounahradit seznam dodavatelů zboží
Nabídky dodavatelů („u dodavatele")přehled dvojic zboží × dodavatel napříč katalogem — nákupní cena a měna, kód u dodavatele, dodací lhůta, minimální odběr, balení a množství hlášené dodavatelemzaložit a upravit nabídku (upsert podle dvojice zboží × dodavatel), odebrat nabídku
Médiaseznam obrázků a přílohpopisky, pořadí, hlavní obrázek, smazání
Kategoriestrom, detail, překladyzaložit, upravit, přesunout v stromu, uložit překlady, smazat
Číselníkyvýrobci, štítky, typy poplatků, parametry i jejich hodnotyu všech čtyř založit / upravit / smazat
Skladyseznam, detail, hodnota zásobzaložit, upravit, smazat
Zásobystav, dostupnost s rezervacemi, sestava stavu, ocenění k datu
Množstevní pohledyvšechny čtyři veličiny najednou (skladem, rezervováno, prodejné, na cestě), rozpad „na cestě" na konkrétní objednávky a rozpad rezervací na konkrétní faktury
Doplnění zásobnávrh, co a kolik doobjednat (zboží pod minimem)hromadně z návrhu založit objednávky seskupené po dodavatelích
Objednávky u dodavateleseznam se stavem a plněním (objednáno / přijato / zbývá), detail s řádkyzaložit koncept, upravit, odeslat, potvrdit, uzavřít zbytek, stornovat, znovu otevřít, smazat koncept, vytvořit příjemku
Příjemky, výdejky, převodkyseznam, detail s řádkyzaložit koncept, upravit, zaúčtovat, stornovat, smazat koncept
Inventuryseznam, detail s rozdílyzaložit, spustit, zapsat napočítané množství, uzavřít

106.9.1.1 Dávkové čtení katalogu

Když asistent potřebuje více karet najednou, použije get_products_batch nebo get_product_prices_batch místo stovek jednotlivých dotazů. Oba nástroje jsou čtecí a fungují s tokenem v režimu read i při MYUCTO_READ_ONLY=1.

get_products_batch přijme až 500 unikátních ID. Odpověď zachová jejich pořadí; cizí nebo chybějící karta je vždy unavailable s data: null, takže asistent nerozliší chybějící kartu od karty jiné firmy. Bez výběru polí dostane SKU, název, EAN a aktivitu. Může si vyžádat jen potřebné části, například překlady, ceny nebo dostupnost, a omezit je na konkrétní jazyky, měny a sklady. Nákladové ocenění (costs) není dostupné tokenu jen pro čtení: vyžaduje oprávnění stock.items.write.

get_product_prices_batch vrací platnou cenu pro každou kombinaci karty a množství. Množství MCP vyžaduje jako kladný desetinný řetězec, aby se nezaokrouhlilo při předání; API sice při přímém volání dovoluje jeho vynechání a použije "1", MCP ho vyžaduje záměrně. Měna je výchozí CZK a cena, která pro kartu a měnu neexistuje, je null, ne nula.

list_products umožňuje výběr podle výrobce, dodavatele, kategorie, štítků, dostupnosti a chybějících údajů. get_catalog_facets vrací počty hodnot filtrů nad celou odpovídající množinou. get_catalog_job ukáže průběh a souhrnný výsledek úlohy, ke které má uživatel oprávnění.

106.9.2 Potvrzování nevratných kroků

Mazání, storno dokladu a uzavření inventury vyžadují výslovné potvrzení. První volání takového nástroje záměrně nic neprovede — jen vrátí, čeho by se změna týkala:

NEPROVEDENO — chybí potvrzení. Smazat se má výrobce: ACME — Acme s.r.o. Operace je nevratná. Ukaž to uživateli a teprve po jeho souhlasu zavolej nástroj znovu s confirm: true.

Funguje to tedy jako suchý běh: uvidíš konkrétní záznam včetně kódu a názvu, ne jen to, co si asistent myslí, že maže. Teprve druhé volání s potvrzením operaci provede. U médií a hodnot parametrů se navíc kontroluje, že záznam opravdu patří ke zboží (resp. parametru), které jsi uvedl — překlep v čísle tak nesmaže fotku cizímu zboží.

Praktický dopad: asistent se tě před smazáním vždycky zeptá. Řetězec „ukliď nepoužívané štítky“ neproběhne jedním vrzem, ale jako výpis a dotaz.

106.9.3 Kolekce se nahrazují celé

Ceny, dodavatelé, jazykové verze, kategorie, štítky, parametry a řádky skladového dokladu se ukládají jako celek — co v uloženém seznamu není, to se smaže. Není to nedostatek nástroje, ale způsob, jakým to ukládá i aplikace.

Nástroje na to asistenta upozorňují a jeho správný postup je: nejdřív si stav načíst, do něj vložit změnu a poslat zpátky kompletní seznam. Když si nejsi jistý, řekni si o vypsání současného stavu předem:

„Ukaž ceny toho zboží, pak k nim přidej eurovou cenu s marží 25 %.“

106.9.4 Skladové doklady mají dvě fáze

Příjemka, výdejka i převodka vznikají jako koncept, který se stavem skladu nedělá nic — teprve zaúčtování pohyb provede, přidělí dokladu číslo a doklad uzamkne. Nástroje ty dvě fáze schválně nespojují: asistent má doklad připravit a nechat si ho zkontrolovat, než se zásoby pohnou.

„Nasklaď 20 kusů kabelu na hlavní sklad za 89 Kč za kus.“ → asistent založí koncept příjemky a ukáže ti ho. „Souhlasím, zaúčtuj.“ → teprve teď se zásoba zvýší.

Zaúčtovaný doklad už upravit ani smazat nejde, jen stornovat — vznikne k němu opačný protidoklad v původních cenách a oba zůstanou ve skladové knize.

Server sám odmítne (409) výdej do minusu, jakýkoli pohyb na skladu s rozběhnutou inventurou a doklad do uzavřeného účetního období.

106.9.5 Objednávky u dodavatele

Asistent umí celý životní cyklus objednávky (§ 35.11) — a drží se v něm stejných pravidel jako aplikace:

Množstevní pohledy jsou jen ke čtení a odpovídají § 33.9: stock_quantities vrací u každé karty skladem, rezervováno, prodejné a na cestě, stock_in_transit rozpad na konkrétní objednávky a stock_reservations rozpad na konkrétní faktury.

„Kolik máme kabelů volných k prodeji a co z toho je jen rezervované?" „Co je potřeba doobjednat a od koho?" → asistent přečte množstevní pohledy a návrh doplnění, objednávky ale založí jako koncepty, které si odsouhlasíš.

106.9.6 Inventura

Postup kopíruje aplikaci: založit → spustit (udělá se snímek očekávaných stavů a sklad se zablokuje pro zaúčtování dokladů) → zapsat napočítané množství → uzavřít. Uzavření vygeneruje rozdílovou příjemku na přebytky a výdejku na manka, rovnou zaúčtované — proto vyžaduje potvrzení a proto asistent před ním hlásí, kolik řádků zůstalo nespočítaných (ty se přeskočí).

106.9.7 Co přes MCP nejde

106.10 Log volání

Stránka Firma → MCP server má dole Log volání — každé volání tvých API tokenů včetně zamítnutých. U volání z MCP serveru je vidět i název nástroje, takže poznáš, co asistent dělal, ne jen jaké URL zavolal.

Filtruje se podle tokenu, metody, cesty, zdroje a na samotné chyby. Podrobnosti jsou v § 104.8.

106.11 Bezpečnost

106.12 Řešení problémů

ProjevPříčina a náprava
Server nenaběhne, hlásí chybnou konfiguraciMYUCTO_API_URL musí končit /api/v1 a token začínat mi_pat_.
Asistent hlásí, že server neodpovídáČastou příčinou je nedůvěryhodný HTTPS certifikát — viz § 106.13; současně ověř dostupnost API.
401 invalid_tokenToken je zrušený nebo expirovaný — vygeneruj nový.
403 token_ip_forbiddenToken má omezení podle IP a tahle adresa mezi nimi není.
403 insufficient_scopeToken má jen rozsah čtení, operace vyžaduje zápis.
403 token_write_forbiddenZápis do účetnictví nebo daní — přes API nikdy, viz § 104.6.
403 stock_disabledSkladový a e-shopový modul není pro firmu zapnutý.
409 u mazání zboží, výrobce, kategorie, skladu…Záznam je někde použitý — server ho nepustí. Archivuj ho (archived), případně zboží či sklad jen deaktivuj.
„NEPROVEDENO — chybí potvrzení“Není chyba: takhle vypadá náhled nevratné operace. Zkontroluj výpis a řekni asistentovi, ať to potvrdí.
429Překročen limit — sniž MYUCTO_MAX_RPS.
Asistent nástroje nevidíRestartuj aplikaci asistenta; u Gemini CLI ověř příkazem /mcp.
V logu nejsou žádná voláníServer se nespustil — zkontroluj cestu k index.mjs a že proběhlo npm install.

106.13 Vlastní HTTPS certifikát

Instance s certifikátem od firemní nebo vlastní autority (typicky testovací prostředí) je zvláštní případ: Node má vlastní seznam kořenových autorit a úložiště operačního systému ve výchozím stavu nečte. Adresa, která v prohlížeči funguje bez varování, tedy asistentovi spadne — a protože fetch takovou chybu hlásí jako obyčejné selhání spojení, vypadá to, jako by server neběžel. Přesně tohle je za hláškou *„server momentálně neodpovídá“*.

Server proto při startu autority ze systému načte sám. Nainstalovaný root certifikát tak stačí a nic dalšího nastavovat nemusíš. Co načetl, vypíše na svůj chybový výstup:

MyÚčto MCP připojen — nástroje načteny, API https://…/api/v1; TLS: systémové certifikáty načteny

Když spojení i tak selže na certifikát, dostaneš konkrétní hlášku s postupem. Nejčastější zbylé příčiny:

Jako poslední možnost — a výhradně proti vývojové instanci — jde ověřování vypnout přes MYUCTO_INSECURE_TLS=1. Server na to při startu hlasitě upozorní. Na produkci to nepoužívej: bez ověření certifikátu jde spojení odposlechnout i podvrhnout, a token v hlavičce je to první, co útočník získá.