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.
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
capabilities { query: ... }— check the feature is expressible (and how) before writing a line of ABAP.generation_rules— once per session.- Write the class,
validate_view— fix findings in seconds. deploy_app— abaplint against the full framework context.build_backend— incremental after the first full build.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_PORToverrides). - UI5 sources: modules are served from the ai-demokit 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). - Real system deployment stays what it is today: abapGit. This server is
the inner dev loop; a
run_app_systembackend (launch URL + auth proxy, as solved in the VS Code extension) is the planned second stage.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。