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

106. MCP server (napojení AI asistenta)

MCP server propojí AI asistenta jako Claude, ChatGPT, Codex, Gemini nebo Copilot 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. Stránka má dvě záložky: Připojit online pro vzdálený MCP server běžící přímo v této instalaci a Spustit lokálně (.mjs) pro server na tvém počítači. Každá instalace má vlastní adresu; žádný společný server MyÚčta není potřeba.

106.1 Co je MCP

Model Context Protocol je otevřený standard pro připojení nástrojů k AI modelům. Server běží buď přímo v instalaci MyÚčta, nebo jako malý program na tvém počítači. 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í, založení, úprava a smazání konceptu (hlavička i jednotlivé položky), vystavování, odesílání a příjemci, storno a dobropis, kopie dokladu, vyúčtování a propojení zálohy, penalizační faktura, evidence a mazání úhrad, daňový doklad k platbě, platební kalendář s rozpisem plateb, ISDOC, upomínky jednotlivě i hromadně
Pravidelná fakturacečtení šablon a vygenerovaných faktur, založení, úprava, smazání, pozastavení, obnovení, přeplánování a ruční vygenerování faktury
Odběratelévyhledání, založení a úprava karty, dotažení údajů z ARES
Přijaté fakturyčtení, založení a úprava konceptu (hlavička i jednotlivé položky), přijetí, úhrada, storno, zálohy, zakázka, druh nákladu, účet dodavatele, příprava příkazu k úhradě; zaúčtování a odeslání do banky ne (viz § 106.8.4)
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; nahrání a stažení originálu
Soubory a přílohystažení PDF a ISDOC vydané faktury, příloh, PDF přijaté faktury a originálu dokumentu; nahrání přílohy faktury, PDF přijaté faktury, dokumentu a obrázku ke zboží; založení přijaté faktury ze souboru ISDOC (viz § 106.8.6)
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í; výjimkou jsou koncepty ostatních pohledávek a závazků
Ostatní pohledávky a závazkyčtení dokladů, úhrad, opakování a splátek; zápis jen konceptů: založení, úprava, smazání, splátkový kalendář (i vyčtený ze smlouvy) a opakování bez automatického účtování. Nic se nezaúčtuje (§ 106.8.5)
Dimenzetypy a hodnoty, zisk, roční a měsíční vývoj, manažerské cash flow, rozvaha a výsledovka s filtrem dimenze, přiřazení na dokladech a kontrola pravidel — jen čtení
Statistikatržby, zisk, trendy, top odběratelé a dodavatelé, cash flow, platební morálka, koncentrace, riziko odchodu
Všechny firmymanažerské součty přístupných firem za přesné období, měsíční vývoj, roční predikce, cashflow, zůstatky a rizika přes group_dashboard; původní měny i samostatný přepočet CZK
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

V režimu jen pro čtení (MYUCTO_READ_ONLY=1, § 106.4) server nezveřejňuje nástroje, které mění data. Každé použití nástroje dále omezují aktuální práva uživatele. Přesný počet vypíše server při startu do stderr (§ 106.3, krok 4).

Dotazy podle dimenzí

Asistent nejprve načte dostupné typy a hodnoty nástrojem list_dimensions. Pak se ho můžeš zeptat například:

Filtr dimension_value_id používá ID hodnoty z přehledu dimenzí. Standardně zahrnuje i podřízené hodnoty; dimension_descendants=false vybere pouze přesnou hodnotu. Filtr podporují rozvaha, obě výsledovky, výkazy po účtech, obratovka, hlavní kniha, účetní deník a dimenzní cash flow.

dimension_profit a dimension_analytics s scope=group sčítají globální typ dimenze přes dostupné firmy jeho skupiny. U dimension_cash_flow je pro souhrn skupiny potřeba vybrat hodnotu globální dimenze. Přístup vázaný na jedinou firmu tento rozsah nerozšíří. Rozvaha a výsledovka se sestavují pro jednu firmu a její vlastní účetní období.

Cash flow podle dimenze je manažerská sestava nepřímou metodou, která vychází ze zisku a změn rozvahových účtů. Ukazuje také skutečný pohyb peněz, nepřiřazený rozdíl a kontrolu shody. Úhrada bez dimenze proto není vydávána za peněžní pohyb konkrétního projektu.

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). Jedinou výjimkou jsou koncepty ostatních pohledávek a závazků (§ 106.8.5). Koncept nemá zápis v deníku, potvrdí a zaúčtuje ho účetní v aplikaci. 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í

Pro online připojení použij § 106.3.5. Následující čtyři kroky popisují lokální soubor .mjs.

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.

Server při startu na pozadí ověří poslední stabilní vydání na GitHubu a případnou novější verzi oznámí v diagnostickém výstupu asistenta. Kontrolu lze vyvolat také nástrojem check_update, například dotazem „Je dostupná aktualizace MCP serveru?“. Výsledek obsahuje běžící a nejnovější verzi, odkaz na poznámky k vydání a přímo na soubor myucto-mcp-<verze>.mjs. Staženým souborem nahraď původní MCP server při zachování cesty v konfiguraci a restartuj asistenta. Aktualizace se neinstaluje sama. Pokud je GitHub nedostupný, server dál normálně funguje.

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

Tento lokální soubor nelze přidat do ChatGPT na webu. ChatGPT používá vzdálený MCP server. Pro připojení bez souboru zvol záložku Připojit online, případně pro lokální soubor 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.3.5 Vzdálené připojení bez stahování

V záložce Připojit online zkopíruj adresu MCP serveru své instalace, například https://ucto.tvoje-firma.cz/mcp. Do asistenta zadávej adresu své instalace, ne dev.myucto.cz ani adresu jiné firmy. Doména musí mít veřejný DNS záznam, být dostupná z internetu a mít HTTPS certifikát od veřejně důvěryhodné autority. Lokální vývojová adresa nebo certifikát vlastní CA nestačí. ChatGPT a Claude se připojují ze svých serverů, nikoli přímo z počítače nebo telefonu, na kterém používáš jejich aplikaci.

Vzdálený server je po instalaci vypnutý. V záložce se ukazuje jeho stav a superadmin ho zapne tlačítkem Zapnout server. Před zapnutím musí být v prostředí, které spouští MCP, dostupný Node.js; když chybí, stránka ukáže upozornění a zapnutí nedovolí. Nainstaluj Node.js do tohoto prostředí, ověř jeho dostupnost pro aplikaci a stránku znovu načti. Na počítači ani telefonu uživatele Node.js potřeba není. Stejným přepínačem může superadmin server později vypnout. V cfg.php se server nezapíná. V Dockeru a na IIS lze stav řídit proměnnou MYINVOICE_MCP_ENABLED=1 nebo 0; při jejím nastavení je přepínač ve webu jen informativní. Bez této proměnné platí nastavení uložené v aplikaci. Dockerový obraz už Node.js obsahuje. Ve spravované SaaS instalaci (app.managed = true) záleží na provozovateli. Dokud most s Node.js nepřipraví, je serverový MCP vypnutý bez ohledu na proměnnou prostředí i uložený přepínač, záložka Připojit online se nezobrazuje a dostupný zůstává lokální postup se souborem .mjs. Jakmile ho připraví, záložka se objeví a superadmin server zapíná stejným přepínačem jako jinde. Pokud Claude při přidávání konektoru hlásí, že na adrese žádný server neodpověděl, zkontroluj nejdřív tento přepínač. Vypnutý /mcp vrací chybu 404 mcp_disabled a klient proto nemůže zjistit přihlašovací údaje OAuth. MCP obsluhuje REST API přes samostatný PHP CLI proces na stejném serveru. Nevyžaduje další síťový port ani dostupnost vlastní veřejné domény z Docker kontejneru. Na IIS a Apache musí mít PHP povolenou funkci proc_open a účet webového serveru musí umět spustit Node.js. Pokud Node není v jeho PATH, nastav MYINVOICE_MCP_NODE_BINARY na úplnou cestu k node.exe nebo binárnímu souboru Node na daném serveru. Na IIS s PHP přes FastCGI tuto proměnnou přidej v Správce IIS → server → Nastavení FastCGI → php-cgi.exe → Proměnné prostředí. Vyber položku php-cgi.exe, kterou používá mapování handleru daného webu, změnu ulož a recykluj jeho aplikační pool. Sdílí-li stejnou položku FastCGI více webů, proměnnou dostanou všechny jejich PHP procesy. Server potřebuje také PHP CLI; není-li ve standardním adresáři PHP, nastav MYINVOICE_MCP_PHP_BINARY na úplnou cestu k php.exe. Na počítači uživatele Node pro online připojení není třeba.

Na IIS nastav u webu Authentication → Anonymous Authentication → Edit → Application pool identity. Výchozí účet IUSR může při spuštění Node z PHP FastCGI způsobit Access is denied u potomkových procesů a pád Node s hláškou ncrypto::CSPRNG(nullptr, 0). Pro instalaci použij vlastní aplikační pool, aby nastavení identity nezasáhlo jiné weby. Na poolu ponech ApplicationPoolIdentity a zapni Load User Profile. Práva k adresáři aplikace a node.exe musí této identitě umožnit čtení a spuštění.

  1. Přidej adresu jako vlastní vzdálený MCP konektor v asistentovi.
  2. Při připojení se v prohlížeči přihlas do MyÚčta. Připojení platí pro všechny firmy, ke kterým máš aktuálně práva, včetně firem přidělených později. Když asistent požaduje čtení a zápis, můžeš v poli Udělit přístup zvolit Pouze čtení (výchozí volba) nebo Čtení a zápis. Pokud asistent požaduje jen čtení, širší přístup mu udělit nelze. I při povolení zápisu platí oprávnění tvého účtu. Rozsah již uděleného připojení změníš jeho odvoláním a novým připojením. Pokud máš zapnuté MFA, ověř se passkey nebo novým kódem ověřovací aplikace. Bez MFA stačí přístup potvrdit. Kód použitý při přihlášení nelze znovu použít. Pro běžné dotazy stačí čtení; čtení a zápis schvaluj jen tehdy, když má asistent opravdu měnit data. Po schválení se prohlížeč vrátí do asistenta. Když se nepřesměruje automaticky, zvol Pokračovat do asistenta.
  3. Konektor zapni v konverzaci a napiš „Ověř připojení k MyÚčtu a vypiš dostupné firmy“. Nástroje whoami a list_suppliers vrátí účet a firmy, ke kterým máš přístup. V dalších dotazech asistent předává supplier_id vybrané firmy. Pokud jsi připojení schválil dříve jen pro jednu firmu, odvolej ho a připoj asistenta znovu.

Server odešle celý katalog dostupný pro schválený rozsah přístupu v jedné odpovědi. Asistent může v konkrétní konverzaci nabídnout jen nástroje relevantní pro aktuální úkol. Katalog se zatím nefiltruje podle jednotlivých práv role. Nástroj mimo její oprávnění se může zobrazit, ale API jeho volání odmítne.

Pro online připojení nevytváříš ani nekopíruješ API token a na svém zařízení neinstaluješ Node ani soubor .mjs. Každé volání ověřuje aktuální členství ve zvolené firmě, rozsah a oprávnění účtu. Odebrání firmy nebo práv se projeví při dalším volání. Aktivní povolení se zobrazují ve stejné záložce pod stavem serveru. Tlačítko Odvolat přístup okamžitě zneplatní přístupový token i možnost jeho obnovy. Konektor můžeš navíc odebrat v nastavení asistenta. Uživatel s rolí pouze pro čtení může připojení povolit jen pro čtení. Pro sdílení samotných statistik mu nastav roli s přístupem pouze k příslušným přehledům a právem číst správu vlastních API tokenů. Správce může tlačítkem Otestovat nástroje ověřit, že serverový Node most skutečně nabízí nástroje. Pokud asistent hlásí nedostupný konektor nebo nula nástrojů, spusť tento test a zkontroluj uvedenou chybu.

Online MCP se aktualizuje spolu s MyÚčtem na této instalaci. Adresa /mcp i schválené připojení zůstávají stejné; na zařízení se nic nestahuje. Server při připojení hlásí verzi instalace. Po přidání nebo změně nástrojů obnov jejich seznam v asistentovi a začni nový chat. V ChatGPT připojeném ve vývojářském režimu použij u serveru akci Refresh.

ChatGPT: V Nastavení → Integrace → Pluginy zvol Přidat → Přidat server MCP a typ Streamovatelné HTTP. Zadej název a adresu své instalace končící /mcp. Pole Proměnná prostředí tokenu nositele a záhlaví nech prázdné. OAuth se v tomto formuláři nevybírá. Server ulož; v desktopové aplikaci ji případně restartuj. Pokud se v seznamu serverů zobrazí Authenticate (Ověřit), zvol tuto akci a dokonči souhlas v MyÚčtu. Pak server zapni v konverzaci. Pokud ověření chybí, zkontroluj, že je vzdálený MCP server v MyÚčtu zapnutý. Při vypnutém serveru vrací /mcp odpověď 404 a klient OAuth nezahájí.

Důležité

Ručně přidaný server je uložený u desktopového hostitele. Do běžného mobilního chatu se nepřenáší. Z mobilní aplikace jej lze použít přes funkci Remote, která ovládá připojený počítač; ten musí být zapnutý a dostupný. Dostupnost Remote závisí na účtu a pracovním prostoru. Samostatné mobilní připojení touto cestou zatím není ověřené.

Claude: Na webu nebo v desktopové aplikaci otevři Customize → Connectors. U osobního účtu zvol + → Add custom connector, vlož adresu /mcp, přidej konektor a tlačítkem Connect dokonči přihlášení. V organizaci musí vlastní konektor nejprve přidat vlastník v nastavení organizace. V konverzaci jej zapni přes + → Connectors. Anthropic potvrzuje, že jednou přidaný vzdálený konektor funguje také v mobilní aplikaci Claude.

106.4 Nastavení

Lokální server .mjs se konfiguruje proměnnými prostředí:

ProměnnáVýchozíVýznam
MYUCTO_API_URL—Povinné. Adresa API, musí končit /api/v1.
MYUCTO_API_TOKEN—Povinné. Token mi_pat_….
MYUCTO_SUPPLIER_ID—Firma, 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_MAX_FILE_MB10Největší soubor, který asistent stáhne nebo nahraje, v MB (nejvýš 50).
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

Úprava konceptu faktury *(token čtení a zápis)*

Podrobnosti v § 106.7.4.

Další práce s vydanými fakturami *(token čtení a zápis)*

Podrobnosti v § 106.7.5.

Pravidelná fakturace *(token čtení a zápis)*

Podrobnosti v § 106.7.6.

Přijaté faktury *(token čtení a zápis)*

Podrobnosti v § 106.8.4.

Odběratelé

Výkazy práce a materiálu

Podrobnosti v § 106.7.

Zakázky, dokumenty a kniha jízd

Podrobnosti v § 106.8.

Soubory a přílohy

Podrobnosti v § 106.8.6.

Daně

Účetnictví

Ostatní pohledávky a závazky *(zápis jen s tokenem čtení a zápis)*

Podrobnosti v § 106.8.5.

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 Koncept faktury, 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.7.4 Úprava konceptu faktury

Koncept, který asistent připravil, nemusíš opravovat ručně v editoru. Stačí mu říct, co změnit, a koncept upraví:

NástrojCo dělá
update_invoicezmění hlavičku: data, splatnost, měnu, jazyk, způsob úhrady, poznámky, zakázku, slevu, variabilní symbol
add_invoice_itempřidá položku na konec nebo na zvolené místo
update_invoice_itemzmění jednu položku (text, množství, jednotku, cenu, sazbu DPH, časové rozlišení)
remove_invoice_itemodebere jednu položku, jen s potvrzením (§ 106.9.4)

Platí přitom:

V režimu jen pro čtení se tyto nástroje nenabízejí; vyžadují token s oprávněním čtení a zápis.

106.7.5 Další práce s vydanými fakturami

Kromě konceptu umí asistent s vydanými doklady totéž, co detail faktury v aplikaci:

NástrojCo dělá
delete_invoice_draftsmaže koncept; vystavený doklad odmítne
cancel_invoiceinterní storno, nebo koncept dobropisu se zápornými položkami
uncancel_invoicezruší interní storno omylem stornované faktury nebo zálohy
clone_invoicezaloží koncept jako kopii dokladu
create_final_invoice_from_proformaze zaplacené zálohy založí koncept finální faktury s odečtenou zálohou
list_invoice_advance_candidates, list_proforma_final_candidates, link_invoice_advance, unlink_invoice_advanceruční propojení faktury se zálohou a jeho zrušení
preview_invoice_penalty, create_invoice_penaltyvýpočet úroku z prodlení a koncept penalizační faktury
add_invoice_payment, delete_invoice_payment, unmark_invoice_paidevidence částečné i celé úhrady, smazání úhrady, vrácení stavu zaplaceno
create_payment_tax_documentkoncept daňového dokladu k přijaté platbě zálohy
set_invoice_payment_schedulerozpis plateb platebního nebo splátkového kalendáře
get_invoice_isdocISDOC XML vystaveného dokladu jako text
get_invoice_recipientskomu by se doklad nebo upomínka poslaly
send_invoice_reminders_bulkupomínky k více fakturám naráz, nejvýš 50

Platí přitom:

106.7.6 Pravidelná fakturace

Šablony pravidelné fakturace asistent čte (list_recurring_invoices, get_recurring_invoice, recurring_invoice_history) a umí je i spravovat:

NástrojCo dělá
create_recurring_invoicezaloží šablonu: odběratel, periodicita, den v měsíci, položky
update_recurring_invoicezmění zadaná pole; ostatní i položky zůstanou, pokud položky nezadáš celé znovu
pause_recurring_invoice, resume_recurring_invoicepozastaví a obnoví generování
reschedule_recurring_invoiceposune datum příští faktury
run_recurring_invoice_nowvygeneruje fakturu hned, mimo rozvrh
delete_recurring_invoicesmaže šablonu; už vygenerované faktury zůstanou

Platí přitom:

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.

Soubor umí asistent do Dokumentů i nahrát a originál stáhnout, postup a limity popisuje § 106.8.6. Pro práci s obsahem dokumentu je ale levnější vytěžený text než celý soubor. 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.8.4 Přijaté faktury

Došlý doklad od dodavatele asistent zapíše jako koncept. Do evidence DPH, závazků a účetnictví vstoupí až přijetím, do té doby jde koncept opravit nebo smazat.

NástrojCo dělá
create_purchase_invoicezaloží koncept: dodavatel, číslo dokladu dodavatele, data, měna, druh dokladu, odpočet DPH, kategorie nákladu, zakázka, položky
update_purchase_invoicezmění hlavičku konceptu, ostatní pole i položky zůstanou
add_purchase_invoice_item, update_purchase_invoice_item, remove_purchase_invoice_itempřidá, změní nebo odebere jednu položku konceptu
delete_purchase_invoicesmaže koncept
receive_purchase_invoicepřijme doklad; také zruší označení úhrady nebo obnoví stornovaný doklad
mark_purchase_invoice_paidzaeviduje úhradu, která nepřišla z výpisu ani z pokladny
cancel_purchase_invoicestornuje doklad
set_purchase_invoice_document_kind, set_purchase_invoice_project, set_purchase_invoice_expense_kindszmění druh dokladu, zakázku nebo druh nákladu po položkách
set_purchase_invoice_exchange_ratenastaví ruční kurz konceptu v cizí měně
list_purchase_advance_candidates, link_purchase_advance, unlink_purchase_advancespáruje konečnou fakturu se zálohou, nebo vazbu zruší
get_purchase_invoice_payment, set_purchase_invoice_payment_account, verify_purchase_payment_accountplatební údaje, změna účtu dodavatele a jeho ověření v registru plátců DPH
list_purchase_payment_candidates, create_purchase_payment_order, list_purchase_payment_orders, delete_purchase_payment_orderpříprava a přehled příkazů k úhradě
get_purchase_invoice_activity, list_expense_categorieshistorie dokladu a číselník kategorií nákladů

Platí přitom:

V režimu jen pro čtení se zápisové nástroje nenabízejí; vyžadují token s oprávněním čtení a zápis.

106.8.5 Ostatní pohledávky a závazky

Nájem, půjčka nebo úvěr, leasing, kauce, pojistné a poplatky se evidují jako ostatní pohledávky a závazky (viz kapitola 52). Asistent je umí číst i připravit, ale jen jako koncept. Koncept nemá zápis v deníku; potvrdí a zaúčtuje ho účetní v aplikaci, kde vidí kontext a krok potvrzuje.

CoNástroje
Čtenílist_other_items, get_other_item, list_other_item_allocations, other_item_payment_candidates, list_other_item_schedules, get_other_item_schedule, get_other_item_installments
Konceptcreate_other_item, update_other_item, delete_other_item
Splátkový kalendářset_other_item_installments, clear_other_item_installments
Opakovánícreate_other_item_schedule, set_other_item_schedule_status

Koncept. Kontaci zadáš buď jedním protiúčtem, nebo několika protiřádky, jejichž součet musí přesně odpovídat částce dokladu. Agenda je jen v Kč. Při úpravě asistent načte současný stav a pošle celý doklad, takže nezadaná pole se nezmění. Jediný protiřádek se při změně částky přepočte, u více protiřádků se asistent zeptá na nové rozdělení. Upravit a smazat lze jen koncept.

Splátkový kalendář může asistent vyčíst z dokumentu, třeba z úvěrové nebo leasingové smlouvy či splátkového kalendáře banky, a poslat ho jako data. Před zápisem zkontroluje, že:

U úvěru a leasingu patří do kalendáře jen jistina; úroky a poplatky nejsou součástí částky dokladu. Uložení nahradí celý dosavadní kalendář, proto asistent posílá vždy všechny splátky. Zrušení celého kalendáře vyžaduje potvrzení. Splátky slouží k plánu cashflow a do deníku nic nezapisují.

Opakování vytvoří z dokladu pravidelnou řadu (měsíčně, čtvrtletně, ročně). Aplikace další doklady zakládá dopředu jako koncepty. Automatické účtování přes asistenta zapnout nejde: opakování vzniká vždy bez něj a asistent smí opakování pozastavit nebo obnovit jen tehdy, když automatiku nemá. Koncept z automaticky účtovaného opakování asistent neupraví ani nesmaže: úpravu by aplikace zaúčtovala bez další kontroly a smazáním by zaúčtování tiše zmizelo. Vypnout automatiku asistent smí, účtování tím jen zastaví.

Přes asistenta nejde: potvrdit nebo zaúčtovat doklad, stornovat ho, přeúčtovat, spárovat nebo odpojit úhradu ani ručně vygenerovat doklady z opakování. Tyto kroky dělá účetní v aplikaci.

106.8.6 Soubory a přílohy

Asistent umí soubory stahovat i nahrávat. Soubor přitom jde celý přes asistenta: obsah se přenáší v konverzaci a model s ním pracuje stejně jako se souborem, který mu přiložíš sám. Proto si o soubor řekni jen tehdy, když ho opravdu potřebuješ. Na otázku, co je v dokumentu napsané, stačí vytěžený text (get_document), který je mnohem menší.

AgendaStaženíNahrání a mazání
Vydané fakturyPDF faktury, ISDOC (jen vystavená faktura), přílohypřidat přílohu, smazat přílohu
Přijaté fakturyarchivované PDF originálunahrát PDF nebo fotku dokladu, smazat PDF, založit fakturu ze souboru ISDOC
Dokumentyoriginál dokumentu i další soubory dokladunahrát soubor do složky, rovnou s názvem, popisem, tagy a vazbou na záznam
E-shopnicnahrát obrázek nebo PDF ke kartě zboží

Velikost. Lokální server přenese soubor do 10 MB (mění se proměnnou MYUCTO_MAX_FILE_MB, § 106.4), serverový MCP do 5 MB, protože tam soubor putuje několika procesy aplikace. Větší soubor nástroj odmítne se zprávou file_too_large; stáhni nebo nahraj ho přímo v aplikaci. Platí i limity samotné agendy, například u přílohy faktury nejvýš 10 MB na soubor a 20 MB na všechny přílohy jedné faktury.

Podporované typy při nahrání.

KamTypy
Příloha vydané fakturyPDF, Word, Excel, PowerPoint, OpenDocument, TXT, CSV, JPG, PNG, GIF, WEBP, HEIC, ZIP
PDF přijaté fakturyPDF; fotku JPG nebo PNG aplikace převede na PDF
Založení přijaté fakturyISDOC, ISDOCX a PDF s vloženým ISDOC
DokumentyPDF, ISDOC a XML, obrázky, Word, Excel, PowerPoint, OpenDocument, TXT, CSV, ZIP
Obrázky zbožíJPG, PNG, WEBP, GIF a PDF

Přípona souboru musí odpovídat jeho typu a aplikace typ znovu ověří z obsahu. HTML, SVG, skripty a spustitelné soubory přes MCP nahrát nejde. Z názvu souboru se odstraní cesta i znaky, které do názvu nepatří.

Založení přijaté faktury ze souboru je deterministický import strukturovaných dat, nepoužívá AI vytěžení. Když PDF vložený ISDOC nemá, asistent dostane chybu no_embedded_isdoc; doklad pak založí ručně a PDF k němu nahraje jako originál. Stejný doklad, který už v evidenci je, se podruhé nezaloží.

Výsledek stažení. Obrázek se vrátí jako obrázek, PDF jako vložený soubor a ISDOC jako text. Na požádání vrátí asistent obsah i jako base64, třeba když ho chce předat dalšímu nástroji.

Pro nahrání musí mít token oprávnění čtení a zápis a v režimu jen pro čtení se nahrávací nástroje nenabízejí. Doklad v uzavřeném období aplikace změnit nedovolí stejně jako v aplikaci. Smazání přílohy nebo PDF a náhrada už archivovaného PDF vyžadují potvrzení (§ 106.9.4).

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že; individuální ceny zákazníků a ceny v cenových hladinách na kartě; nacenění řádků pro konkrétního odběratele, měnu, datum a baleníuložit cenotvorbu (přirážka / pevná cena / zaokrouhlení), vynutit přepočet
Balení a šaržebalení karty (poměr, EAN balení, výchozí prodejní jednotka), šarže a sériová čísla s expirací a historií—
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řílohnahrání obrázku nebo PDF, popisky, 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 hodnoty; balení, cenové hladiny i s pravidly, jazyky a prodejní měnyvýrobci, štítky, typy poplatků a parametry: založit / upravit / smazat
Skladyseznam, detail, hodnota zásob, skladové lokacezaložit, upravit, smazat
Prodejní objednávkyseznam se stavem obchodu, platby a expedice, detail s rezervacemi, fronta objednávek čekajících na zboží—
Cyklické inventuryseznam, detail s řádky—
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.2 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.3 Ceny pro konkrétního odběratele

Na otázku „za kolik to prodáme firmě ACME“ asistent odpoví nástrojem quote_product_prices. Ten spočítá cenu stejně jako faktura: nejdřív individuální cena zákazníka, pak cenová hladina odběratele, jinak standardní cena; akční cena vyhraje, jen když je levnější. Počítá se v zadané měně a k datu a řádek může být i v balení, třeba „10 kartonů“. Nic se neukládá, stačí token jen pro čtení.

„Kolik zaplatí ACME za 10 kartonů kabelu k 1. říjnu?“ „Které cenové hladiny máme a jakou slevu dává Gold?“ „Má tahle karta nějaké smluvní ceny zákazníků?“

Individuální ceny zákazníků, cenové hladiny, balení a číselník balení asistent jen čte. Nastavují se v aplikaci na kartě zboží a v číselnících e-shopu.

Firmy bez skladového modulu mají místo cen na kartách ceník služeb. Asistent z něj umí vypsat položky, jejich ceny po měnách, individuální ceny zákazníků i výslednou cenu pro konkrétního odběratele a měnu dokladu. Ceník také jen čte.

106.9.4 Potvrzování nevratných kroků

Mazání, storno dokladu, uzavření inventury, odebrání položky z konceptu faktury, smazání konceptu ostatní pohledávky nebo závazku, zrušení celého splátkového kalendáře, smazání přílohy faktury nebo PDF přijaté faktury a náhrada už archivovaného PDF vyžadují výslovné potvrzení. U vydaných faktur a pravidelné fakturace jde o smazání konceptu, storno a dobropis, zrušení storna, smazání úhrady, vrácení stavu zaplaceno, hromadné upomínky, smazání šablony pravidelné fakturace a ruční vygenerování faktury ze šablony. U přijatých faktur navíc přijetí dokladu (může ho rovnou zaúčtovat), storno, smazání konceptu, odebrání položky, zrušení vazby na zálohu, změna účtu dodavatele a smazání příkazu k úhradě. Potvrzovací výpis u přijaté faktury vždy uvádí dodavatele, číslo dokladu dodavatele a částku. 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.5 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.6 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.7 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.8 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.9 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

Následující pravidla pro API tokeny se týkají lokálního souboru .mjs. Online připojení používá přihlášení a souhlas popsané v § 106.3.5.

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 nejde, viz § 104.6. Výjimkou jsou jen koncepty ostatních pohledávek a závazků (§ 106.8.5).
403 other_items.error.auto_post_session_onlyAutomatické účtování opakování nebo koncept, který by se automaticky zaúčtoval. Řeší se ve webovém rozhraní.
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.
„Neplatné argumenty nástroje …“Asistent poslal parametr, který nástroj nezná, nebo hodnotu špatného typu či mimo rozsah. Hláška jmenuje parametr; asistent obvykle volání sám opraví.
„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á.