Before You Upgrade S/4HANA: Static UI5 Checks with MCP
A UI5 version upgrade checked against one app by pairing two MCP servers: the ui5_version_diff tool added to mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, which reads a bundle from ui5-lib-diff downloaded once at setup and filters it by version range, change type, library or query text, and @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, whose get_project_info, get_version_info, run_ui5_linter and run_manifest_validation say what the app uses and what fails. Run with a ui5-versions-upgrade.md skill on the legacy app from From SEGW and Legacy UI5 to RAP with ARC-1From SEGW and Legacy UI5 to RAP with ARC-1Three ARC-1 skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server, mcp-sap-docs and @sap-ux/fiori-mcp-server each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt.published 2026-05-11, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the lintingLintingCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.SAP and community, narrow by design and manifest validation narrowed that to findings in this app, among them jQuery.sap.require, synchronous bootstrap, the sap_belize theme, sap.m.MessagePage and an old manifest _version. The checks read the source in a local checkout and never the deployed app, so the report is a first pass: a changelog entry is not proof that a workaround can be deleted, and the app still has to be run and tested.
Where it sits
Who is behind it
In the atlas: maintains 35, contributes to 86, wrote 25@marianfooauthor
In this series
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9Before You Upgrade S/4HANA: Static UI5 Checks with MCPyou are here
- 10
Properties
About this work
For linting
Details
Graph
Source
History
- Entered the atlasDiscovered via blog.zeis.de — Marian Zeis.
For your agent
- Ref
content:before-you-upgrade-s4hana-static-ui5-checks-with-mcp- JSON
- /content/before-you-upgrade-s4hana-static-ui5-checks-with-mcp.json
- MCP
- Connecting an agent