abap2UI5 MCP Server
OfficialThis server provides a local abap2UI5 development loop for AI coding agents, enabling them to write, validate, deploy, build, and visually verify ABAP-based UI5 apps without an SAP system.
Query Capabilities: Check what abap2UI5 can express for UI5 features (direct, workaround, needs-live-test, or not-expressible) using a verified capability map.
Get Generation Rules: Retrieve the canonical rulebook for writing abap2UI5 apps with the generic view builder.
Check Control Scope: Get an in/out-of-scope verdict for UI5 controls based on OpenUI5 source (since version, deprecation).
Validate Views Statically: Run fast static validation of ABAP source or raw XML, including property gates and headless rendering, before deployment.
Deploy Applications: Write an ABAP class into a gitignored sandbox and optionally lint it with abaplint.
Build Backend: Rebuild the transpiled Node backend (incremental or full) to incorporate deployed apps.
Run and Visualize Applications: Boot an app headless in Chromium, returning boot status, page errors, and a full-page screenshot for visual verification.
Manage Backend Server: Control the local Express backend (status, start, stop, restart).
Manage Deployed Applications: Delete a dev app from the sandbox or list all deployed dev apps.
Provides tools for developing abap2UI5 applications for the SAP platform, enabling AI agents to validate UI5 views, deploy ABAP classes, build transpiled backends, and run apps in a headless browser to capture screenshots and errors.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@abap2UI5 MCP ServerCreate an ABAP class with a table, validate it, deploy, build, and run with screenshot."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server
The MCP server for abap2UI5 — gives any AI coding agent (Claude Code, Cursor, VS Code Copilot, or any MCP client) the full abap2UI5 development loop, without an SAP system:
examples -> app_guide -> validate_view + screenshot_view -> deploy_app -> build_backend -> run_app -> pitfalls
(has somebody (how an app (SECONDS, no system: (write ABAP, (transpile (boot headless, (what a green
built it is built) is the view legal, lint) to Node) errors + run still
already?) and what does it LOOK like) SCREENSHOT) does not prove)The agent writes an ABAP class, validates the view and looks at a picture of it in seconds, deploys it, boots it in a real browser and looks at the running app — then iterates. Everything runs locally on infrastructure that already guards the abap2UI5 ecosystem in CI: the abaplint transpiler + open-abap runtime, the framework's express shim, the samples-controls build and boot gates, and the linter validation core.
Documentation
→ The MCP server, in full — what MCP means here, the three setup levels and what each one buys, how to register the server with your client, every tool with what the agent gets from it, and the loop they are meant to be used in.
→ Building with AI — the whole AI setup in rising order of effort. This server is the top rung; the cheaper ones matter first.
Related MCP server: @ui5/mcp-server
Quick start
Level 1 — validate_view and screenshot_view, the two tools most work
happens at (~3 MB, a minute):
git clone https://github.com/abap2UI5/linter # AI_VIEW_CHECK_HOME
cd linter && npm ciThe server itself is on npm, so it needs no checkout. Register it with Claude Code:
claude mcp add abap2ui5 -- npx --yes @abap2ui5/mcp-server(The install is ~45 MB, 19 MB of it a Playwright driver only run_app uses —
paid on the first start, cached after. From a checkout instead:
git clone https://github.com/abap2UI5/mcp-server && cd mcp-server && npm ci,
then claude mcp add abap2ui5 -- node /path/to/mcp-server/server.mjs.)
Cursor, VS Code and Claude Desktop take the standard stdio shape — the documentation has the JSON, and the two further levels (the sample catalogues and deploying, then the headless build-and-boot loop). A tool whose prerequisites are missing answers with a message naming what it needs; the server starts either way.
The abap2UI5 VS Code extension registers this server for you, and adds a second one of its own for the tools that need a real SAP system.
Tools
Every tool reads live from a sibling checkout, and each one needs a specific
sibling — there is no "optional" repository, only tools you do or do not use.
The Needs column says which checkout a tool is dead without: the linter
alone carries validate_view and screenshot_view (the fast loop, where most
iterations happen), the framework checkout carries the guide, the pitfalls and
the backend, and the corpus carries almost everything else. A tool whose
checkout is missing answers with the clone command and env var that fix it.
Tool | What it does | Needs |
| Whether abap2UI5 can express a UI5 feature at all, from the verified capability map | samples-controls |
| How to build an app, live from the framework checkout | abap2UI5 |
| The client API ( | abap2UI5 |
| The files a new project starts from, live from app-template; | app-template |
| Search the three sample catalogues, verification status and all — answers with a class to read, never a snippet to trust | any of samples / samples-controls / samples-stack |
| Full-text search over the documentation site's pages: page, heading, snippet and the published URL | docs |
| The rulebook for porting a UI5 demo-kit sample into samples-controls | samples-controls |
| The defects a green run does not catch: | abap2UI5 |
| In/out-of-scope verdict for a UI5 control | samples-controls + an OpenUI5 checkout |
| The linter's gates in seconds, judged by your project's own | linter |
| See the view in seconds — no build, no backend | linter |
| Write the class + abapGit sidecar into the gitignored sandbox, then abaplint it | samples-controls |
| Rebuild the transpiled Node backend; incremental after the first full build | samples-controls + abap2UI5 |
| Boot an app headless: status, real page errors, and a screenshot | samples-controls + abap2UI5 |
|
| abap2UI5 (start/restart; status and stop always work) |
| Delete a dev app from the sandbox, or list the deployed ones | samples-controls |
examples degrades per catalogue instead of failing: it searches the
checkouts it finds and names the ones it could not, so a thinner answer never
reads as "nobody has built this". It reads each repository's committed
catalogue.json where the checkout has one — which is what carries a control
port's verification status (checked over reviewed over generated, used to
break ranking ties), the learning-path stage, and what a stack sample needs
from the system — and falls back to parsing SAMPLES.md on a checkout from
before that file existed. screenshot_view and run_app answer the
same question at three orders of magnitude apart: the first photographs the
reconstructed view with no backend, the second the running app after a
build. Most iterations should end at the first.
Resources
The knowledge documents behind those tools are also MCP resources, for clients that surface them (context pickers, attach-a-document UIs) and for agents that want a document whole instead of sliced. Same live reads from the same sibling checkouts: listing is free (no checkout needed), reading a resource whose checkout is missing answers with the same actionable error the tool gives.
Resource | Content | Needs |
| The app-building guide, whole ( | abap2UI5 |
| One guide chapter, by number or heading keyword (a resource template) | abap2UI5 |
| The client API summary — every | abap2UI5 |
| abap-check — the ABAP defects a green CI does not catch | abap2UI5 |
| ui5-check — the view defects a green CI does not catch | abap2UI5 |
| CAPABILITIES.md — the verified capability map | samples-controls |
| The rulebook for porting a UI5 demo-kit sample | samples-controls |
Prompts
Two prompts — one per job this server serves — put an agent straight into the loop instead of leaving it to reconstruct the order from sixteen tool descriptions. Each renders an orchestration script over the tools above and duplicates none of their content:
build-an-abap2ui5-app(argument:task, what the app should do) — orient withexamples/capabilities, learn the shape fromapp_guide, write the class, iterate throughvalidate_view/screenshot_viewin seconds, prove it withdeploy_app→build_backend→run_app, close withpitfalls.port-a-ui5-sample(argument:sample, the demo-kit sample) — the corpus job:generation_rulesas the brief,scope_ofandcapabilitiesbefore writing, neighbouring ports fromexamples, then the same validate/screenshot/deploy/run loop.
Notes
Dev sandbox: deployed apps land in the samples-controls checkout's gitignored
src/zz_dev/— nothing an agent deploys can leak into a commit.Port: the backend listens on 3000 (
A2UI5_MCP_PORToverrides).Timeouts: every spawned child is killed (whole process tree) when it exceeds its limit — lint/scope 5 min, build 30 min by default;
A2UI5_MCP_LINT_TIMEOUT_MS,A2UI5_MCP_SCOPE_TIMEOUT_MSandA2UI5_MCP_BUILD_TIMEOUT_MSoverride (values in ms).UI5 sources are served from the samples-controls checkout's
@openui5packages, so booting needs no network. The built theme CSS is not in those packages — with network access it loads from the CDN (styled screenshots); without, apps render unstyled but structurally complete.A2UI5_MCP_OFFLINE=1forces the hermetic behaviour.Chromium: uses the Playwright-managed browser; if absent, falls back to a system chromium (
A2UI5_MCP_CHROMIUMoverrides the executable path).If you set this up earlier: the corpus repository was
ai-demokit, thenabap2UI5-api, and issamples-controlstoday. Nothing needs changing — an existing checkout is still found under any of the three directory names, andAI_DEMOKIT_HOMEis still read alongsideSAMPLES_CONTROLS_HOME.Real-system deployment stays what it is today: abapGit. This server is the inner dev loop; the real-system half lives in the VS Code extension, whose own MCP server exposes it as
run_app_on_system. Both servers are registered in the same editor window, which is why that tool is not calledrun_app.
Working on this repository
npm ci
npm testAGENTS.md carries the conventions, CONTRIBUTING.md and RELEASING.md the
rest of the workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to access SAP ADT APIs for reading, writing, debugging, deploying, and testing ABAP code through natural language or DSL automation.435MIT

@ui5/mcp-serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to assist with UI5 application development by providing tools for project scaffolding, API reference lookup, code analysis, and validation.81,88997Apache 2.0- AlicenseAqualityBmaintenanceAn offline MCP server for SAP ABAP that provides static analysis, ABAP Cloud readiness checks, and RAP scaffolding using abaplint, enabling AI agents to analyze and generate ABAP code without a live SAP system.9761MIT
- FlicenseAqualityBmaintenanceA standalone MCP server for agentic ABAP development with 67 tools via ADT REST API, featuring a forced clean ABAP workflow, pre-coding DDIC validation, and four network routing modes.13
Related MCP Connectors
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Your AI builds, deploys, and runs full-stack apps on a hosted workspace created at first sign-in.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abap2UI5/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server