Přejít na obsah
CleverComp
AI řešení

6 min čtení

MCP server: jak bezpečně napojit AI asistenta na ERP

MCP server zpřístupní AI asistentovi data z ERP, CRM nebo výpočtů. Popisuji přihlášení přes Entra ID a OAuth 2.1, nástroje pro čtení, audit log a první procesy.

Napsal František Jánoš, konzultant pro AI a datovou analýzu

MCP server je program, přes který AI asistent (Claude, ChatGPT nebo agent v Copilot Studiu) čte data z vašeho ERP, CRM nebo výpočetního nástroje a volá jejich funkce. Bezpečné napojení stojí na přihlášení firemním účtem přes Entra ID a OAuth 2.1, na úzkých nástrojích, ze začátku jen pro čtení, a na audit logu u každého volání. Asistent pak uvidí jen to, co smí vidět přihlášený člověk.

Co je Model Context Protocol

Model Context Protocol (MCP) je otevřený standard pro připojení AI aplikací k firemním systémům. Anthropic ho zveřejnil v listopadu 2024 a dnes ho podporují Claude, ChatGPT, Visual Studio Code i Microsoft Copilot Studio. Jeden MCP server tedy obslouží několik AI aplikací najednou.

Server nabízí nástroje (tools): pojmenované funkce s popisem a schématem vstupů, třeba stav_zakazky(cislo). Model podle dotazu vybere nástroj a vyplní parametry. Aplikace, ve které píšete, volání provede a vrátí modelu výsledek. Model do ERP nepíše SQL a nikde neklikne. Pracuje jen s tím, co nástroj vrátí.

Lokální, nebo vzdálený MCP server

Specifikace zná dva standardní přenosy. Přes stdio běží server jako proces na počítači uživatele. Přes Streamable HTTP běží na serveru a aplikace ho volá po HTTPS.

Lokální (stdio)Vzdálený (Streamable HTTP)
Kde běžína notebooku uživatelena firemním serveru nebo v cloudu
Přihlášeníúdaje z prostředí počítačeOAuth 2.1, ve firmě s Microsoft 365 přes Entra ID
Aktualizacena každém počítači zvlášťjednou na serveru
Audit logrozptýlený po počítačíchna jednom místě
Hodí se propokusy a osobní nástroje vývojářenástroje pro celé oddělení

Když má nástroj používat obchod, plánování nebo kvalita, volte vzdálený server. Lokální server s heslem do ERP v konfiguračním souboru na deseti noteboocích neuhlídáte.

Přihlášení přes Entra ID a OAuth 2.1

Vzdálený MCP server vystupuje podle specifikace jako OAuth 2.1 resource server: přijímá přístupové tokeny a podle nich odpovídá. Tokeny vydává autorizační server. Ve firmě s Microsoft 365 tuto roli převezme Microsoft Entra ID. Uživatel se přihlásí stejným účtem jako do Outlooku a platí pro něj vícefaktorové ověření i pravidla, která už v Entra ID máte. Když zaměstnanec odejde a IT mu zruší účet, přijde i o přístup k MCP serveru.

Specifikace k tomu vyžaduje:

  1. Server zveřejní metadata chráněného zdroje (RFC 9728). Z nich aplikace zjistí, u kterého autorizačního serveru se má uživatel přihlásit.
  2. Aplikace použije PKCE s metodou S256, která chrání autorizační kód před zachycením.
  3. Aplikace si vyžádá token s parametrem resource, tedy s adresou konkrétního MCP serveru (RFC 8707). Server přijme jen token vydaný pro sebe a token pro jinou službu odmítne.
  4. Server token, který dostal od aplikace, nepošle dál do ERP.

Bod 4 rozhoduje o tom, jak server mluví s ERP. Máte dvě cesty. Server se do ERP hlásí vlastním technickým účtem s co nejužšími právy a oprávnění uživatele kontroluje sám. Nebo si od Entra ID vyžádá nový token pro ERP jménem uživatele (tok on-behalf-of), pokud vaše ERP přihlášení přes Entra ID podporuje.

Nástroje jen pro čtení a nástroje se zápisem

Výběr nástrojů ovlivní bezpečnost víc než výběr modelu. Specifikace doporučuje, aby u každého volání byl člověk, který ho může odmítnout, a aby aplikace před citlivou operací žádala potvrzení. Potvrzovací okno ale chrání jen uživatele, který ho čte. Hranice proto stavím na serveru:

  • Začínám čtením. Stav zakázky, zásoba materiálu, otevřené reklamace, výsledek výpočtu.
  • Jeden nástroj, jedna úloha. Nástroj má pevné parametry a vrací jen potřebná pole. Model nedostane obecný nástroj „spusť dotaz“.
  • Zápis jako návrh. Nástroj založí koncept nákupního požadavku ve stavu „ke schválení“ a člověk ho potvrdí přímo v ERP.
  • Zápis jen pro role. Specifikace 2026-07-28 výslovně dovoluje, aby server vrátil seznam nástrojů podle oprávnění v tokenu. Skladník tak nástroj pro změnu ceny vůbec neuvidí.
  • Ověřené vstupy a limit volání. Obojí specifikace serverům ukládá jako povinnost.

Anotace nástroje, například značka „jen pro čtení“, slouží aplikaci jako nápověda. Specifikace ji považuje za nedůvěryhodnou, dokud nepochází z důvěryhodného serveru. Omezení tedy musí platit v kódu serveru.

Audit log: co zapisovat

Specifikace doporučuje logovat volání nástrojů v aplikaci. Aplikaci ale spravuje dodavatel AI, proto vedu log i na MCP serveru. U každého volání zapisuji:

PolePříklad
Kdouživatel z tokenu Entra ID
Kdyčas volání
Conázev nástroje a parametry
Výsledekpočet vrácených řádků, nebo ID založeného konceptu
Chybaodmítnutý token, neplatný vstup, výpadek ERP

Do logu neukládám tokeny ani celé odpovědi s osobními údaji. Z logu za první měsíc uvidíte, na co se lidé ptají nejčastěji a který nástroj chybí.

Z mé praxe: konfigurátor jako vzdálený MCP server

Pro distributora techniky jsem postavil konfigurátor, který dimenzuje tepelné čerpadlo a vytápění podle EN 14825 a VDI 4650. Pracuje s archivními daty o počasí pro 9 264 českých obcí a výsledek uloží do zprávy ve Wordu. Stejné výpočetní jádro jsem pak zveřejnil jako vzdálený MCP server za přihlášením přes Entra ID (OAuth 2.1). Obchodník se v AI asistentovi zeptá na návrh pro dům v konkrétní obci a asistent zavolá tentýž výpočet jako webový konfigurátor.

Z projektu jsem si odnesl tři pravidla:

  • Model nepočítá. Výpočet provede otestované jádro. Model vyplní vstupy a vysvětlí výsledek, takže dva obchodníci se stejným zadáním dostanou stejné číslo.
  • Jeden kód pro web i MCP. Opravu výpočtu nasadím jednou a platí v obou kanálech.
  • Přístupy spravuje IT. O tom, kdo nástroj použije, rozhoduje firemní účet v Entra ID. Seznam hesel k MCP serveru nevedu.

Dřív jsem v Nitto Denko Czech stavěl dashboardy nad SAP QM a analýzy v Pythonu a Power BI nad rychlostí linky a parametry strojů. Na řadu otázek, kvůli kterým tehdy lidé čekali na report, dnes odpoví asistent přes nástroj jen pro čtení. Víc o mé práci najdete na stránce Co umím.

Které procesy ve výrobní firmě napojit jako první

Začněte tam, kde lidé denně hledají údaj v ERP pro někoho jiného a kde špatná odpověď nic nezapíše.

ProcesTyp nástrojeProč začít tady
Stav zakázky a termín expedice pro obchodčteníčastý dotaz, odpověď leží v ERP
Zásoba a rezervace materiálučteníplánovač si údaj ověří v ERP
Otevřené reklamace a stav 8Dčteníkvalita a obchod se ptají na totéž
Technické výpočty a konfigurátoryvýpočetvýsledek je opakovatelný a jde otestovat
Hledání v technické dokumentacičteníviz AI asistent nad dokumenty
Návrh nákupního požadavkuzápis jako konceptaž po měsících provozu nástrojů pro čtení

Účetní zápisy, změny kmenových dat a schvalování nechte mimo MCP, dokud z audit logu nevíte, jak lidé s nástroji pracují. Na příjem dokladů do ERP se víc hodí samostatný proces s kontrolou člověkem, jako u vytěžování faktur nebo zpracování objednávek z e-mailu.

Jak MCP server otestovat před nasazením

Každý nástroj má automatické testy na známé vstupy a výstupy. K tomu držím sadu typických dotazů uživatelů a u každého očekávané volání nástroje. Sadu pouštím před každým nasazením. U AI asistenta nad technickou dokumentací stejná regresní sada zastaví nasazení, když se odpovědi zhorší.

U MCP serveru navíc ověřuji přihlášení: požadavek bez tokenu musí skončit odpovědí 401, token vydaný pro jinou aplikaci server odmítne a uživatel bez role nástroje se zápisem v seznamu nevidí.

Časté dotazy

Potřebuji kvůli MCP serveru nové ERP?
Nepotřebujete. MCP server volá rozhraní, které vaše ERP už má: API, databázový pohled nebo pravidelný export. Když ERP žádné rozhraní nemá, server čte z kopie dat ve vlastní databázi.
Uvidí AI asistent všechna data v ERP?
Ne. Model vidí jen výsledky nástrojů, které server nabídne. Server je vrátí jen přihlášenému uživateli, který na daná data má oprávnění.
Funguje MCP s ChatGPT a s Microsoft Copilotem?
Claude i ChatGPT MCP servery podporují. V Microsoft Copilot Studiu připojíte MCP server k agentovi jako zdroj nástrojů. Jeden server tak obslouží více AI aplikací.
Jaký je rozdíl mezi MCP a klasickým API?
API je rozhraní pro programátora, který píše integraci. MCP popisuje nástroje tak, aby je jazykový model sám našel a zavolal, a sjednocuje přihlášení. MCP server často uvnitř volá existující API.
Odejdou data z ERP k poskytovateli AI?
Výsledek nástroje zpracuje jazykový model, takže data z odpovědi nástroje k poskytovateli modelu odejdou. Proto nástroj vrací jen pole, která odpověď potřebuje, a firma má používat firemní tarif s podmínkami pro zpracování dat.

Zdroje

  1. 01Model Context Protocol: What is MCP?, navštíveno 23. 10. 2026
  2. 02MCP Specification 2026-07-28: Authorization, navštíveno 23. 10. 2026
  3. 03MCP Specification 2026-07-28: Tools, navštíveno 23. 10. 2026
  4. 04Anthropic: Introducing the Model Context Protocol (25. 11. 2024), navštíveno 23. 10. 2026
  5. 05Microsoft Learn: OAuth 2.0 On-Behalf-Of flow (Microsoft identity platform), navštíveno 23. 10. 2026

O autorovi

František Jánoš

Stavím nástroje na vytěžování faktur a poptávek, AI asistenty nad technickou dokumentací a napojení AI na ERP. Několik z nich je v ostrém provozu.

Co umím

Napište mi, co vás ve výrobě zdržuje

Projdeme to spolu na krátké schůzce a řeknu vám, jestli a jak se to dá řešit.

Domluvit konzultaci