SAP MCP servery a AI: jak vznikla RAP aplikace v praxi
SAP konzultant a lektor YourGrow · doba čtení 12 minut
SAP MCP servery dnes výrazně urychlují orientaci v systému, zakládání repository objektů, aktivaci i testování. Plně autonomní agentní vývoj v SAP ale zatím naráží na porodní bolesti – virtuální ADT filesystem, specializované repository objekty a autentizaci. Následující text popisuje reálný experiment: stavbu draft-enabled RAP aplikace se SAP Fiori Elements od nuly, s AI agentem a oficiálními SAP MCP servery po ruce.
Rychlá odpověď
Dokáže dnes AI vyvíjet v SAP sama? Zatím ne úplně. Zvládne ale odvést většinu rutiny kolem kódu.
- Aplikace vznikla za cca 5 hodin včetně instalace prostředí a seznámení s nástroji.
- MCP servery zvládly zakládání objektů, aktivaci, ATC i ABAP Unit testy.
- Největší brzdou zůstává zápis zdrojového kódu ABAP objektů – agent kód napíše, ale vložit ho musí člověk.
- Nejvíc práce ušetřila kombinace RAP + Fiori Elements: správná metadata znamenají skoro žádný frontend kód.
Co je MCP server a proč by ho měl ABAP vývojář znát
MCP (Model Context Protocol) je otevřený standard, kterým se jazykový model připojuje k reálným nástrojům a systémům. Místo aby AI jen generovala text podle toho, co si pamatuje z tréninku, dostane seznam konkrétních akcí, které smí v daném systému provést – a jejich skutečné výsledky si přečte zpátky.
V praxi to mění dvě věci. Zaprvé model přestává hádat, protože se systému zeptá, co doopravdy umí. Zadruhé přebírá kroky, které dřív musel odklikat člověk: založení tabulky, aktivaci objektu, spuštění testu.
Pro SAP existují dnes tři relevantní servery, které se v experimentu doplňovaly:
- ABAP MCP – práce s repository objekty přes ADT (zakládání, aktivace, diagnostika, ATC, ABAP Unit).
- SAP Fiori MCP – generování projektů SAP Fiori Elements nad OData službou.
- SAPUI5 MCP – rozpoznání projektu, kontrola verzí knihoven, UI5 linting.
Zadání experimentu: kniha jízd v SAP ABAP trialu
Cíl byl jednoduchý a záměrně praktický. Vytvořit od nuly malou Fiori aplikaci „Zjednodušená kniha jízd“ v systému SAP ABAP trial a přitom zjistit, nakolik oficiální SAP MCP servery pomáhají s denním chlebem ABAP vývojáře.
| Parametr | Hodnota |
|---|---|
| Systém | SAP ABAP Platform Trial (lokální instalace) |
| Architektura | RAP – managed, draft-enabled |
| Rozhraní | OData V4 |
| Frontend | SAP Fiori Elements, List Report / Object Page |
| Nástroje | VS Code + SAP ADT, ABAP MCP, Fiori MCP, SAPUI5 MCP, Eclipse ADT jako fallback |
| Datový model | Vozidlo (parent) – měsíční záznamy kilometrů (child composition) |
| Čas | cca 5 hodin včetně přípravy prostředí |
Výsledkem je funkční draft-enabled RAP aplikace s OData V4 a SAP Fiori Elements. Eviduje vozidla i jejich měsíční nájezdy, nabízí standardní List Report a Object Page a podporuje kompletní CRUD včetně child composition. Backend i živé OData operace prošly testem.
Nejdůležitější závěr ale není samotný fakt, že aplikace běží. Podstatné je rozdělení práce mezi člověka a agenta.

Co se povedlo: pět věcí, které MCP odvedlo za mě
1. MCP zjistilo reálné možnosti systému
ABAP MCP vrátilo seznam podporovaných repository typů a RAP generátorů. Ověřit se tak dalo, že systém umí CDS View Entities, Behavior Definitions, Service Definition, Service Binding i OData V4. Architektura pak nevznikala podle domněnek modelu s rizikem halucinací, ale podle skutečných schopností připojeného systému.
2. Většina životního cyklu ABAP objektů proběhla přes MCP
Tabulky, CDS objekty, behavior definitions, service objekty, metadata extensions, třídy i draft tabulky vznikaly přes ABAP MCP. Stejným kanálem šla aktivace, ATC kontrola i ABAP Unit testing.
Úspora práce je tady už znát. Agent totiž negeneroval jen návody typu „klikněte pravým tlačítkem a založte objekt“. Ve většině případů obálku objektu skutečně vytvořil, výsledek zkontroloval a pokračoval dál.
3. Fiori MCP vytvořilo použitelný standardní projekt
Vygenerovaný projekt SAP Fiori Elements obsahoval manifest, routing, lokální metadata, testovací strukturu i konfiguraci UI5. Žádný vlastní controller ani ručně psaný JavaScript nebyl potřeba.
Tím se potvrdila hlavní výhoda kombinace RAP a Fiori Elements: publikuje-li backend správná metadata a UI anotace, frontend může zůstat velmi úsporný. Právě proto dává smysl investovat čas do CDS View a anotací spíš než do psaní UI kódu.
4. UI5 MCP posloužilo jako nezávislá kontrolní vrstva
Server rozpoznal typ projektu, použitou verzi SAPUI5 i knihovny, spustil UI5 linter a upozornil na zastaralejší manifest schema. Jeden validátor sice spadl na vlastní interní chybě, ale i to je pro mě přijatelný výsledek. MCP nástroje zatím nejsou dospělé a jejich selhání je potřeba brát s rezervou – hlavně ho odlišit od chyby aplikace.
5. Testy odhalily skutečnou chybu návrhu
Nejcennější moment přišel při živém draft CRUD testu. Vytvoření draftu vozidla i navázaného záznamu kilometrů fungovalo, aktivace ale skončila hláškou Referenced vehicle does not exist.
Na vině nebyla composition ani databáze. Ručně napsaná validace hledala parent vozidlo podle klíče mezi aktivními entitami, takže právě vznikajícího draft parenta neviděla. Oprava změnila kontrolu na traversal přes RAP association Log BY \_Vehicle a následný živý test prošel.
Přesně tohle je důvod, proč nestačí aktivovat kód nebo si prohlédnout mock UI. Chování draft transakce ověří až skutečný end-to-end scénář.

Co nefungovalo hladce
Virtuální ADT dokumenty nejsou běžné soubory
Největším praktickým omezením bylo editování ABAP zdrojů. SAP ADT for VS Code zobrazuje repository objekty jako virtuální dokumenty s URI abap:/repotree-v1/.... Fyzicky tedy v projektu neexistují jako soubory a AI agent je nemohl upravit standardním filesystem patchem – jinými slovy kód sám nezapsal.
ABAP MCP v použité verzi objekt založil a aktivoval, univerzální nástroj pro načtení a přepsání zdroje ale neměl. Workflow proto vypadalo takto:

- agent založil objekt přes MCP,
- připravil přesný kód a řekl, kam ho vložit,
- člověk ho vložil do editoru ve VS Code,
- agent objekt aktivoval a zpracoval diagnostiku.
U kratších objektů je to přijatelné. U dlouhých behavior definitions ovšem roste riziko chyby při kopírování. Pomohlo postupovat objekt po objektu a po každém uložení hned aktivovat – s promptem ve stylu „dávej mi to po kouskách, vždy počkej, až potvrdím jeden krok, a teprve pak ukaž další“.

Specializovaný Behavior Pool vyžadoval Eclipse ADT
Obecné vytvoření ABAP class nevytvořilo správný Behavior Pool. VS Code ADT navíc v dané verzi nenabídl použitelný Quick Fix – žádné „objekt ZXY neexistuje, přeješ si ho založit?“. Správnou behavior implementation class proto bylo nutné jednorázově založit v Eclipse ADT.
Rozdíl mezi „MCP umí vytvořit class“ a „MCP umí vytvořit všechny specializované varianty repository objektu se správnými metadaty“ je tady vidět jako na dlani.
Autentizace a lokální certifikáty komplikovaly Fiori workflow
Fiori MCP nedokázalo stáhnout OData metadata. HTTP endpoint vracel přihlašovací HTML, HTTPS endpoint používal lokální certifikát, kterému Node.js nedůvěřoval. Connection manager sice systém otestoval a načetl katalog služeb, metadata downloader ale credentials nepoužil správně.
Řešení bylo pragmatické: metadata se stáhla z autentizovaného prohlížeče a lokální EDMX se předal generátoru. Samotné generování pak proběhlo bez potíží.
npm start neznamenalo funkční preview
Standardní startovací konfigurace načítala SAPUI5 resources přes ui5.sap.com. V daném prostředí vracela proxy pro sap-ui-core.js chybu HTTP 500, takže prohlížeč zobrazil prázdnou stránku.
Pomohlo použít UI5 CLI framework resolution, stáhnout knihovny do lokální cache a rozdělit konfiguraci na mock preview s lokálními knihovnami a live preview s lokálními knihovnami plus proxy do SAP systému. Tohle si mimochodem agent navrhl a provedl sám.
Prázdná obrazovka tedy nebyla chybou Fiori Elements aplikace, ale selháním bootstrap resource chain.
OData V4 editace potřebovala draft
První verze managed RAP business objektu draft-enabled nebyla. List i detail se zobrazily, standardní Fiori CRUD nabídka ale zůstala neúplná. Po doplnění draft tabulek, draft actions a use draft se objevila očekávaná tlačítka Create, Edit, Save a Cancel.
Architektonická lekce zní jasně: u standardní transakční aplikace Fiori Elements nad OData V4 je vhodné rozhodnout o draftu už při návrhu behavior vrstvy. Tedy nezapomenout na něj hned při prvním prompt engineeringu, ne až u testu UI.
Co MCP dnes zvládne a co ne – přehled
| Oblast | Stav | Poznámka |
|---|---|---|
| Zjištění schopností systému | Funguje | Seznam repository typů a generátorů omezuje halucinace |
| Zakládání repository objektů | Funguje | Tabulky, CDS, BDEF, služby, třídy, draft tabulky |
| Aktivace a diagnostika | Funguje | Přesné kompilátorové hlášky zpět agentovi |
| ATC a ABAP Unit | Funguje | Testy lze spouštět opakovaně v cyklu |
| Generování Fiori Elements projektu | Funguje | Za předpokladu dostupných metadat |
| Čtení a zápis ABAP zdrojů | Chybí | Hlavní brzda autonomního vývoje |
| Specializované objekty (Behavior Pool) | Částečně | Fallback na Eclipse ADT |
| Sdílení autentizace mezi nástroji | Slabé místo | Trial systémy a self-signed certifikáty |
Hodnocení jednotlivých SAP MCP serverů
ABAP MCP
Silné stránky: rozsah znalosti podporovaných objektů a generátorů, zakládání repository objektů, aktivace s přesnou kompilátorovou diagnostikou, ATC, ABAP Unit testing a informace o publikovaných business services.
Slabé stránky: chybějící čtení a zápis ABAP zdrojových kódů, jak je běžné v jiných jazycích. Obecný class create nenahradil specializované založení Behavior Poolu a část práce zůstala manuální ve virtuálním editoru.
Celkově: velmi užitečný orchestrační a ověřovací nástroj. K plně autonomnímu ABAP vývoji mu ale chybí bezpečný source-editing kanál.
SAP Fiori MCP
Silné stránky: generování standardního projektu Fiori Elements, správná interpretace EDMX, entity setů a navigací, práce s dokumentací i standardními Fiori patterns.
Slabé stránky: potíže s autentizací při stahování metadat – což mohl být specifický problém lokálního trialu – a self-signed certifikát blokující HTTPS variantu. Ručně stažený EDMX byl nakonec nutností.
Celkově: prakticky použitelný generátor, jsou-li metadata dostupná. Nejslabším článkem zůstává připojení k lokálním nebo trial systémům s nestandardní autentizací.
SAPUI5 MCP
Silné stránky: rozpoznání projektu a verze, přehled použitých knihoven, solidní statická kontrola kódu a upozornění na zastaralé konfigurace.
Slabé stránky: manifest validator selhal interní chybou a síťové ani proxy problémy lokálního preview server sám neřeší.
Celkově: dobrá kontrolní a dokumentační vrstva, nikoli náhrada reálného buildu a runtime testu.
Jak bych workflow příště zlepšil
- Draft přístup navrhnout od začátku. Vyžaduje-li zadání standardní Create/Edit flow ve Fiori Elements nad OData V4, měl by návrh od první verze počítat s draft persistency a draft actions. Ušetří se pozdější zásahy do tabulek, behavior definitions i metadat.
- Nejdřív ověřit, co ADT a MCP skutečně umí. Před rozsáhlejším vývojem je dobré zjistit, zda server umí nejen create a activate, ale také číst a zapisovat zdrojové kódy. Pokud ne, vyplatí se předem dohodnout pracovní režim.
- Jeden objekt na jeden krok. Instrukce typu „tento kód nakopíruj do objektu ZXY a napiš hotovo“ fungují lépe než dávka deseti změn najednou.
- Kompletní náhradní kód místo drobných záplat. Pokyny ve stylu „vlož tento řádek mezi… a…“ jsou zdrojem chyb.
- Aktivovat ihned po uložení a Eclipse ADT držet jako fallback pro specializované objekty.
- Živý test zařadit dřív. Mock server ověří strukturu UI, nikoli RAP draft lifecycle, validace či skutečnou composition persistency. Krátký live CRUD smoke test by měl následovat hned po prvním funkčním UI.
- Oddělit chybu aplikace od chyby nástroje. Během experimentu selhal manifest validator, metadata downloader i vzdálená UI5 resource proxy – ani jednou nešlo o chybu aplikace.
U agentního vývoje se osvědčilo testovat vrstvy samostatně v tomto pořadí:
ABAP aktivace → ABAP Unit → OData metadata → OData data → UI5 bootstrap → Fiori UI
Takové vrstvení výrazně zrychlilo diagnostiku.
Co z toho plyne pro ABAP vývojáře
Obava, že AI vezme SAP vývojářům práci, se zatím nenaplňuje. Mění se ale těžiště té práce. Rutina kolem objektů, aktivací a testů ubývá, zatímco na ceně získává schopnost správně navrhnout datový model, behavior vrstvu a anotace – a poznat, kdy agent míří vedle.
Jinými slovy: kdo rozumí RAP, CDS a draft handlingu, ten AI využije jako násobič. Kdo je neovládá, ten od ní dostane rychle vygenerovaný nepořádek.
Chcete umět RAP a CDS natolik, aby vám AI opravdu pomáhala?
V YourGrow učíme SAP vývoj prakticky, online naživo a s lektory z reálných projektů. Na oba kurzy lze žádat o příspěvek Úřadu práce (program Jsem v kurzu).
- Kurz SAP – ABAP – základ, na kterém RAP stojí: syntaxe, objekty, ladění, práce v ADT.
- Kurz SAP – ABAP – CDS View – datové modely, anotace a metadata, díky nimž zůstane frontend úsporný.
Závěr
Experiment skončil funkční aplikací, nikoli sadou vygenerovaných ukázek kódu. To je zásadní rozdíl. Backend byl aktivován, data naplněna, ABAP Unit testy prošly, Fiori projekt se sestavil a živý OData draft CRUD proběhl včetně úklidu dat.
MCP servery tedy už dnes přinášejí skutečnou hodnotu, protože zkracují cestu mezi návrhem, repository objektem a ověřením. Největší prostor ke zlepšení leží v bezpečném čtení a zápisu ABAP zdrojových kódů, v lepší podpoře specializovaných ADT objektů a ve spolehlivějším sdílení autentizace mezi VS Code extension, MCP serverem a lokální Fiori proxy.
Do té doby platí jednoduché rozdělení roli: agent orchestruje a ověřuje, člověk rozhoduje a zapisuje.
Často kladené otázky
Co je SAP MCP server?
Je to služba, která podle otevřeného standardu Model Context Protocol zpřístupní AI asistentovi konkrétní nástroje SAP systému – například zakládání repository objektů, aktivaci, ATC nebo ABAP Unit testy. Model tak nepracuje s odhadem, ale se skutečnými schopnostmi připojeného systému.
Dokáže AI dnes napsat celou SAP aplikaci sama?
Ne. V popsaném experimentu agent navrhl architekturu, založil objekty, aktivoval je a testoval, samotný zdrojový kód ABAP objektů ale do virtuálního ADT editoru vkládal člověk. Autonomní vývoj naráží hlavně na chybějící kanál pro zápis zdrojů.
Jak dlouho trvalo postavit RAP aplikaci s pomocí AI?
Přibližně pět hodin včetně instalace prostředí a seznámení s nástroji. Výsledkem byla draft-enabled aplikace s OData V4, Fiori Elements UI a ověřeným CRUD včetně child composition.
Proč musí být RAP aplikace draft-enabled?
Bez draft persistency a draft actions nenabídne SAP Fiori Elements nad OData V4 kompletní CRUD ovládání. Tlačítka Create, Edit, Save a Cancel se objeví až po doplnění draft tabulek a use draft v behavior definition.
Potřebuji k práci s MCP servery Eclipse, nebo stačí VS Code?
Většinu práce zvládne VS Code se SAP ADT rozšířením. Pro specializované objekty, typicky Behavior Pool, byl v experimentu potřeba Eclipse ADT jako fallback.
Jaké znalosti se vyplatí mít, než začnu vyvíjet v SAP s AI?
Základy ABAP, orientaci v ADT a hlavně porozumění CDS View a RAP. Bez nich nelze posoudit, zda návrh agenta dává smysl. Právě na tyhle oblasti cílí kurz SAP – ABAP a navazující kurz CDS View.
O autorovi
Ing. Vladimír Löffler je SAP konzultant a lektor YourGrow. Věnuje se vývoji v ABAP, RAP a CDS View a testuje, jak se dá agentní AI použít v každodenní práci SAP vývojáře.
Článek původně vyšel v angličtině v SAP Community: Lessons from Building an SAP RAP Application with AI and SAP MCP Servers – SAP Community
Zdroje a další čtení: SAP Community – The Future of ABAP is Here: VS Code ADT, Zero-Config MCP, and AI Co-pilots