SAP GUI for Windows automation for AI agents - 57 structured tools via SAP GUI Scripting API
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP (Model Context Protocol) server that enables AI assistants to interact with SAP GUI for Windows through the SAP GUI Scripting API.
It is client-agnostic: if your MCP client can launch a local stdio server, it can use this project. Examples in this README use Claude because the setup is easy to demonstrate, but the same server can be used from Codex, GitHub Copilot, Gemini CLI, and similar MCP-capable tools.
Current release: 0.3.0 for local Windows use over MCP stdio.
CI, Docs, Dependency Audit, and tag-based Release.kts982/mcp-sap-gui).sap_preview โ see it before it happens. The agent can now show you an approval card at any checkpoint: before a batch write, before saving, or whenever you ask ("before adding country GR, show me the values"). It carries the current screenshot, session context, and the exact values about to be written โ password-shaped values masked. On MCP Apps hosts (VS Code Copilot Chat) it renders as a rich inline card; everywhere else you get the same summary as text plus the screenshot. Saving still goes through the confirmation gate. Details: Rendered Preview Cards.
Confirmation points โ nothing is written without you. Tell the agent once ("ask me before every field write") and the server enforces it: sap_set_confirmation_points activates categories of write operations that pause for your explicit approval before anything reaches SAP. Enforced server-side by middleware โ declining blocks the call no matter what the agent does, removing a gate asks you first, and admins can pin gates for every session with --confirm. Details: Security Considerations.
This server allows AI assistants to:
uvx), if not already installed:Start SAP Logon Pad and open an SAP GUI session, or at least have SAP Logon running.
Configure your MCP client to launch this server. No clone or manual install needed โ uvx fetches the released package from PyPI and runs it in an isolated environment:
(Working from a source checkout instead? See Installation.)
sap_connect intentionally does not accept a password parameter. The safer pattern is to log in through SAP GUI first and then attach with sap_connect_existing.
Supported:
stdio (default) and streamable HTTP transportsNot yet available:
SAP GUI Scripting must be enabled both client-side and server-side:
Client-side (SAP GUI Options):
Server-side (SAP System):
RZ11 โ Parameter sapgui/user_scripting โ Set to TRUEMany organizations disable SAP GUI Scripting globally as a hardening default. Enabling it does not have to be all-or-nothing: SAP ships graduated server-side controls that let a Basis team enable scripting narrowly โ typically for named users on a development system โ while keeping it off for everyone else.
Profile parameter (RZ11/RZ10) | Effect |
|---|---|
sapgui/user_scripting = TRUE | Master switch; required for any scripting |
sapgui/user_scripting_per_user = TRUE | Scripting works only for users holding authorization object S_SCR (class BC_A, activity 16); all other users stay blocked (SAP Note 983990) |
sapgui/user_scripting_set_readonly = TRUE | Scripts may read screen state but cannot send anything that changes server state (SAP Note 692245) |
sapgui/user_scripting_force_notification = TRUE | Users always see a notification/consent dialog when a script attaches; cannot be suppressed in local SAP GUI options (SAP Note 3591984) |
sapgui/user_scripting_disable_recording = TRUE | Blocks recording of new scripts; playback still works |
Useful facts when proposing this to a Basis/security team:
S_SCR holders, read-only for everyone else (SAP Note 2565390).RZ11 change to sapgui/user_scripting is not persistent โ it reverts at the next application server restart, which suits a time-boxed evaluation on a development system.--allowed-transactions, --profile, and --audit-log options for defense in depth.Why the Scripting API is required at all: SAP GUI for Windows draws dynpro screens on a custom canvas that exposes no usable structure to Windows UI Automation or other accessibility APIs โ the Scripting API is the only structured way to read and drive SAP GUI screens. Commercial RPA products have the same dependency and fall back to screenshot/OCR-based automation when scripting is disabled; this project deliberately avoids that approach because it is imprecise and brittle.
Nothing to clone. uvx downloads the latest release and runs it in an isolated environment:
The [screenshots] extra adds screenshot optimization (reduces screenshot size by 70-90%) and is recommended. Point your MCP client at uvx with argument mcp-sap-gui[screenshots] โ see MCP Setup below.
Windows note for source checkouts: while an MCP server launched from this checkout is running, its process holds locks on native DLLs in .venv (pywin32, watchfiles). Running uv sync or upgrading dependencies during that time can fail with "Access is denied" or leave .venv half-updated โ stop or restart the MCP client first, then sync. If two MCP clients (e.g. Claude Code and VS Code) launch the server from the same checkout, point the second one at an isolated environment instead of the shared .venv:
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-sap-gui)<a href="https://allmcps.com/mcp/mcp-sap-gui"><img src="https://allmcps.com/api/badge/mcp-sap-gui?style=directory" alt="MCP Sap Gui on AllMCPs" /></a>