MCP SAP GUI

An MCP server for SAP GUI for Windows that runs transactions, reads the screen and fills fields in one chosen session.

  • 144 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • The agent drives a live SAP GUI window: it can change data and discard unsaved work, so use a dedicated test session only.
All reasons and checks

mario-andreschak/mcp-sap-gui

Install

Manual install

python -m pip install .
Copy-Item .env.example .env
python -m sap_gui_server.server

The Install block from the README, run in PowerShell on Windows from the repository directory. Choose the SAP session in `.env`.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent drives a live SAP GUI window: it can change data and discard unsaved work, so use a dedicated test session only.

This is third-party code. Review the repository files before installing.

What it does

MCP SAP GUI lets an agent drive one pre-selected SAP GUI for Windows session. `launch_transaction` and `end_transaction` start and end a transaction, `sap_get_screen` reads up to 300 controls over COM, `sap_set_field` types into a field, `sap_press` presses a button and `sap_send_vkey` sends a SAP virtual key. For cases without COM there are pixel-based `sap_click`, `sap_type` and `sap_scroll`. The server never picks a window by itself: it needs an exact `SAP_SESSION_ID` or `SAP_CONNECTION`. Password fields are redacted in output. Preinstalled GuiXT scripts run through `sap_run_guixt_script`.

Who it is for. SAP consultants and developers automating routine SAP GUI work on a test client.

Good fit when

  • You need to run one transaction over a list of values on a test system.
  • An agent must read a transaction screen and describe its fields.
  • A screen has no scripting API and you have to work by window pixels.
  • Automation must stay bound to a dedicated session without touching other SAP windows.

Not a fit when

  • You need SAP GUI for Java, a web client or a headless environment; the server does not support them.
  • You only have a production system with no separate test client.
  • You plan to run it on Linux or in Docker, where SAP tools return a platform error.

Example request

Open transaction SE16 in the selected session, read the screen and list the input fields without changing anything.

MCP

Transport
stdio
Authentication
not required

Environment variables

SAP_SESSION_ID
Exact SAP GUI session ID for automation, for example `/app/con[0]/ses[0]`.
SAP_CONNECTION
SAP Logon connection description when a new session must be opened.
SAP_PASSWORD
Optional password; not needed with SSO.

Limitations

It needs Windows, a licensed SAP GUI 8.00 or 8.10, SAP Logon and SAP GUI Scripting enabled by an administrator. The author states that real SAP systems were not exercised in CI, so try the server on a separate test client first. SSO login takes the identity of the local Windows user and does not carry the chat user identity. An explicit `end_transaction` can discard unsaved data in the chosen transaction.

How to disable. Close the MCP connection: SAP sessions stay open. Remove the server from the client configuration and uninstall the package with pip, and delete the `.env` file with session settings by hand.

FAQ

How do I choose the SAP session?

Set an exact `SAP_SESSION_ID` such as `/app/con[0]/ses[0]` in `.env`; the SAP GUI scripting recorder shows it. Or leave it empty and set `SAP_CONNECTION` to a SAP Logon description.

Is the password stored?

The password is optional and SSO needs none. If `SAP_PASSWORD` is set, it is typed through COM and never appears in process arguments or logs.

What about pixel control?

The `sap_click`, `sap_type` and `sap_scroll` tools use SAP window screenshot coordinates. If a control is reachable over COM, `sap_set_field` and `sap_press` are more reliable.

Does the Docker image work?

The image builds, but a Linux container has no interactive SAP GUI and SAP calls return an explicit platform error. Automation runs on Windows only.

What does a GuiXT script do?

`sap_run_guixt_script` runs only a preinstalled InputScript in the chosen session window. An administrator or you must prepare such a script beforehand.

Discussion

No questions or reviews yet.

MCP server and wincli CLI: agents drive Windows apps by control name through UI Automation instead of screen coordinates

MCP serverBroad access129Repository stars

An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell

MCP serverBroad access11.2KRepository stars
Official

computer-use-linux is an MCP server with an on-screen agent activity indicator that lets user clicks reach the application.

MCP serverBroad access816Repository stars

An MCP server for Windows: the agent moves the mouse, presses keys, manages windows and takes screenshots

MCP serverBroad access334Repository stars
Official

An MCP server helps an agent build and test Python automation tasks for Windows applications and Android devices.

MCP serverBroad access827Repository stars

A Swift MCP server that lets an agent drive any macOS app: click, type and read the interface tree

MCP serverBroad access357Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
MCP SAP GUI (this card)nonot required144
mcp-abap-abap-adt-apinoAPI key211works with ABAP sources through ADT; here control of the SAP GUI window and transactions
SAP Skillsno490a skill set with no screen access; here the agent runs transactions and reads fields

README in short

Version 0.2 replaced the `SAP_SYSTEM` variable with `SAP_CONNECTION` or `SAP_SESSION_ID` and removed global actions such as killing processes.

README badge

Report a problem

Foxx AIMCP SAP GUI
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.