abap2UI5 MCP Server

abap2UI5 MCP Server

Provides AI coding agents a full abap2UI5 development loop—writing ABAP classes, validating views, deploying, and running apps headless with screenshots—all locally without an SAP system.

Category
Visit Server

README

ai-mcp

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:

capabilities -> validate_view -> deploy_app -> build_backend -> run_app
 (what can        (static gates:     (write ABAP,    (transpile       (boot headless,
  I express?)      props + render)    lint)           to Node)         errors + SCREENSHOT)

The agent writes an ABAP class, validates the view in seconds, deploys it, boots it in a real browser and looks at the screenshot — 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 ai-demokit build and boot gates, and the abap2UI5-linter validation core.

Setup

The server orchestrates sibling checkouts (override locations with env vars):

git clone https://github.com/abap2UI5/abap2UI5   # A2UI5_HOME
git clone https://github.com/abap2UI5/ai-demokit # AI_DEMOKIT_HOME
git clone https://github.com/abap2UI5/linter     # AI_VIEW_CHECK_HOME (required for validate_view)
git clone https://github.com/abap2UI5/ai-mcp
cd abap2UI5 && npm ci && cd ../ai-demokit && npm ci && cd ../linter && npm ci && cd ../ai-mcp && npm ci
npx playwright install chromium

Register in your MCP client, e.g. Claude Code:

claude mcp add abap2ui5 -- node /path/to/ai-mcp/server.mjs

Tools

Tool What it does
capabilities Query the verified capability map (ai-demokit CAPABILITIES.md, parsed live — no drift). Ask before assuming a UI5 feature is impossible: { query: "tree binding" }, { status: "not-expressible" }
generation_rules The rulebook for writing an app with the generic view builder
scope_of In/out-of-scope verdict for UI5 controls (since <= 1.71, not deprecated)
validate_view Seconds, not minutes: static property gate + headless render via abap2UI5-linter, from ABAP source or raw XML — run this after writing, before deploying. Findings come with a severity, a message and the line/column in the source you passed in
deploy_app Write <class>.clas.abap + abapGit sidecar into the gitignored sandbox src/zz_dev/ (in the ai-demokit checkout), then abaplint it
build_backend Rebuild the transpiled Node backend. mode: auto is incremental after the first full build (~1-2 min per iteration); mode: full runs the complete e2e-build
run_app Boot any app class headless (?app_start=<class>), return boot status, real page errors (benign UI5 noise filtered) and a full-page screenshot as an image
backend status / start / stop / restart of the local express backend
remove_app Delete a dev app from the sandbox (or list the deployed ones)

run_app works for new dev apps and equally for the existing ai-demokit ports and z2ui5_cl_ai_app_overview — useful as a reference: "run the closest existing port, look at it, then build mine".

The intended agent loop

  1. capabilities { query: ... } — check the feature is expressible (and how) before writing a line of ABAP.
  2. generation_rules — once per session.
  3. Write the class, validate_view — fix findings in seconds.
  4. deploy_app — abaplint against the full framework context.
  5. build_backend — incremental after the first full build.
  6. run_app — read the errors, look at the screenshot. Edit, validate, deploy, build, run again.

Notes

  • Dev sandbox: deployed apps land in the ai-demokit checkout's gitignored src/zz_dev/ — nothing an agent deploys can leak into a commit. Promote a finished app by moving it into a real package deliberately.
  • Port: the backend listens on 3000 (A2UI5_MCP_PORT overrides).
  • UI5 sources: modules are served from the ai-demokit checkout's @openui5 packages, 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=1 forces the hermetic behaviour.
  • Chromium: uses the Playwright-managed browser; if absent, falls back to a system chromium (A2UI5_MCP_CHROMIUM overrides the executable path).
  • Real system deployment stays what it is today: abapGit. This server is the inner dev loop; a run_app_system backend (launch URL + auth proxy, as solved in the VS Code extension) is the planned second stage.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured