Integrovaný MCP server v NET Geniu

Každá instance NET Genia obsahuje integrovaný MCP server (Model Context Protocol). Přes něj se k instanci připojí AI asistent nebo agent – Claude nebo jeho vývojářská varianta Claude Code, ChatGPT nebo jeho vývojářská varianta Codex, Microsoft Copilot Studio nebo kterýkoli jiný nástroj podporující protokol MCP – a získá všechno, co k práci s konkrétní implementací potřebuje: data jejích aplikací, popis toho, jak jsou aplikace postavené, a znalosti frameworku NET Genium.

Server je součástí instalace, nic se neinstaluje ani nespouští zvlášť. Postup připojení jednotlivých AI nástrojů je uveden v samostatné příručce Připojení AI nástroje k MCP serveru.

Co server umí

  • Práce s daty – čtení a vyhledávání záznamů a zjišťování jejich počtů, včetně historie změn a příloh; s oprávněním k zápisu i zakládání, úprava a mazání záznamů.
  • Popis implementace – jaké aplikace, editační formuláře, nahlížecí stránky a oprávnění instance obsahuje a jak spolu souvisejí. Asistent dostává AI model implementace přímo ze serveru a vždy v aktuální podobě – nic se nestahuje ani ručně nevkládá.
  • Stavba a úpravy aplikací – s oprávněním k zápisu agent aplikace nejen popíše, ale i založí a dál upravuje: aplikační skupiny, aplikace, editační formuláře, nahlížecí stránky, ovládací prvky, databázové dotazy i skripty.
  • Uživatelská nastavení – rozložení portletů na hlavní stránce, oblíbené položky a individuální nastavení nahlížecích tabulek lze přečíst u kteréhokoli uživatele a s oprávněním k zápisu nastavit jednotlivým uživatelům i celým uživatelským skupinám. Podrobnosti jsou uvedené v kapitole Uživatelská nastavení.
  • Znalosti frameworku – asistent si vyhledá a přečte příslušné kapitoly dokumentace NET Genia, takže navrhuje řešení podle standardů platformy, ne podle obecných zvyklostí. Znalostní báze serveru je výběrem z dokumentace; kompletní dokumentace je k dispozici v AI asistentovi na webu.
  • Analýza výkonu – přímo z běžící instance asistent zjistí, které stránky, dotazy a skripty trvají nejdéle, nad jak velkými tabulkami běží a kde chybí indexy. Statistika používání se sbírá jen tehdy, je-li v Nastavení NET Genia zapnuté logování do databáze.

Asistent s přístupem k datům tak odpoví i na otázky, na které samotný popis aplikací nestačí – například „kolik je záznamů“, „najdi konkrétní doklad“ nebo „jak se záznam v čase měnil“.

Přístup k serveru

MCP server je určený administrátorům instance – smí ho používat jen uživatel s administrátorskými právy, a je-li v Nastavení NET Genia vyplněný seznam Administrátoři s přístupem k MCP serveru, jen účet Administrator a administrátoři uvedení v seznamu. Licenční klíč instance musí povolovat AI; v NET Genium Online se to nevyžaduje. Každý požadavek se přihlašuje jako konkrétní uživatel a smí jen to, co mu dovolí jeho oprávnění. AI nástroj se prokazuje jedním ze dvou způsobů:

  • Osobním MCP tokenem – administrátor si ho vygeneruje sám: klikne na avatar v pravé části záhlaví a v osobní nabídce zvolí MCP token. Tento způsob funguje u každé instance a hodí se i pro agenta běžícího bez obsluhy.
  • Přihlášením – v aplikacích Claude a ChatGPT stačí zadat adresu instance a přihlásit se, token se nikam nekopíruje. Tento způsob je dostupný jen u instancí běžících v kořeni webu přes HTTPS, v NET Genium Online tedy vždy.

Co AI nástroj smí, určují oprávnění tokenu, resp. souhlas udělený při přihlášení:

Oprávnění Co zpřístupní Kdo ho může mít
Čtení všech dat a modelu přes MCP server čtení dat a popisu implementace jen uživatel s administrátorskými právy
Zápis všech dat a modelu přes MCP server změny dat a úpravy aplikací; popis implementace lze číst i s ním jen uživatel s administrátorskými právy
Přístup přes vlastní API ověření uživatele ve vlastním API zákaznického řešení; s MCP serverem nesouvisí kterýkoli uživatel

Znalosti frameworku dostane každý administrátor bez ohledu na zaškrtnutá oprávnění – jde o obecnou dokumentaci platformy, ne o obsah instance. Přístup k serveru lze zúžit jen na vybrané administrátory. Detailní popis tohoto omezení je uveden v samostatné příručce Nastavení NET Genia.

Zápis dat přes MCP server

Zápis přes MCP server nespouští skripty editačního formuláře – neproběhnou tedy ani validace, přepočty, notifikace a změny stavů, které na uložení záznamu navazují. Záznam vznikne, ale procesní logika kolem něj ne. Data, na jejichž uložení taková logika navazuje, proto patří do editačního formuláře, a to i ve vývojové instanci; ostatní data lze přes MCP server zapisovat i v provozu.

Nový záznam navíc nemá vlastníka, pokud ho agent mezi zapisovanými hodnotami výslovně neuvede. Šifrování hodnot rovněž zajišťuje jen editační formulář: hodnota sloupce se zapnutým šifrováním (prvky TextArea a RichTextBox) se přes MCP server zapíše nešifrovaná a čtení vrací hodnoty tak, jak jsou uložené v databázi.

Ve výchozím stavu se zápis nezaznamenává do historie změn a neúčastní se synchronizace – to se hodí u hromadných dávek, typicky ukázkových dat. U změn, které mají zůstat dohledatelné, je proto potřeba zápis s historií změn výslovně požadovat. Totéž platí pro mazání záznamů: ve výchozím stavu se smazání do historie změn nezapisuje a neúčastní se synchronizace. Při mazání s historií změn se záznamy mažou po jednom a smazání se zapíše do historie a odešle k synchronizaci stejně jako smazání v editačním formuláři; skripty editačního formuláře se ani tehdy nespustí.

V NET Genium Online server zápis odmítne, je-li instance v režimu pouze pro čtení (vyčerpaný kredit nebo překročený datový prostor).

Uživatelská nastavení

Rozložení portletů na hlavní stránce, oblíbené položky a individuální nastavení nahlížecích tabulek si uživatel jinak upravuje jen sám v rozhraní NET Genia. Přes MCP server je agent přečte u kteréhokoli uživatele a s oprávněním k zápisu je nastaví jednotlivým uživatelům i všem členům vybraných uživatelských skupin; typicky tak připraví rozložení hlavní stránky pro novou skupinu nebo doplní portlet všem jejím členům.

  • Portlety a oblíbené položky lze nahradit celé, nebo jen přidat či odebrat vybrané. Interval obnovení hlavní stránky, zobrazení obrázku a zobrazení oblíbených položek na hlavní stránce zůstávají každému uživateli zachované, pokud je agent výslovně nezmění.
  • Nastavení nahlížecí tabulky odpovídá tomu, co si u ní uživatel může přizpůsobit sám – zobrazované sloupce a sloupce detailů, řazení, počet záznamů na stránce a zobrazené části tabulky; u nahlížecí tabulky v portletu místo sloupců detailů sloupce bublinové nápovědy. Složené filtry se přes MCP server nenastavují a statistická nahlížecí tabulka zatím podporovaná není. Anonymnímu uživateli nelze nastavení nahlížecí tabulky uložit, stejně jako v rozhraní.
  • Uživatel dostane jen to, na co má právo – portlet, oblíbenou položku nebo sloupec, na který právo nemá, server po zápisu odebere a v odpovědi to u daného uživatele uvede.

Bezpečnost

  • Každý požadavek se přihlašuje jako konkrétní uživatel – vlastník tokenu, nebo ten, kdo AI nástroj přihlášením povolil – a podléhá povoleným IP adresám i licencím stejně jako běžné přihlášení.
  • Oprávnění se ověřují při každém požadavku – ztráta administrátorských práv ukončí přístup okamžitě.
  • Úpravy aplikací podléhají stejným omezením jako konfigurační dialogy administrátorského režimu – co administrátor nesmí změnit v dialogu, nezmění ani přes MCP server.
  • Token platí 90 dnů a lze ho kdykoli smazat; aplikaci připojenou přihlášením lze kdykoli odpojit.
  • Server je chráněn proti hádání tokenů.
  • Oprávnění k zápisu dovoluje měnit libovolná data instance, ne jen vybranou tabulku nebo vlastní záznamy – je proto vhodné ho zapínat uvážlivě a jen tomu, kdo ho potřebuje.

Typické využití

  • dotazy nad daty v přirozeném jazyce – „najdi zakázky bez odpovědné osoby“, „kolik faktur měsíčně přibývá“,
  • kontroly konzistence a souhrnné analýzy dat napříč aplikacemi,
  • dohledání, kdy a jak se záznam změnil,
  • orientace v implementaci – jak je aplikace postavená a které tabulky a sloupce k ní patří,
  • stavba nových aplikací a úpravy stávajících,
  • příprava hlavní stránky, oblíbených položek a nahlížecích tabulek pro celé skupiny uživatelů,
  • analýza výkonu – které stránky, dotazy a skripty trvají nejdéle a nad jak velkými tabulkami běží,
  • ověření, jak se daná věc ve frameworku NET Genium správně dělá, ještě před samotným návrhem.

Na tento server přirozeně navazuje agentní vývoj – práce s AI agentem, který zná framework i konkrétní implementaci a dokáže v ní cíleně pracovat.