MCP SAP GUI Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_USER | Yes | The SAP username for login. | |
| SAP_CLIENT | Yes | The SAP client identifier. | |
| SAP_SYSTEM | Yes | The SAP system to connect to. | |
| SAP_PASSWORD | Yes | The SAP password for login. | |
| RETURN_SCREENSHOT | No | Defines the format in which screenshots are returned. Options include `none`, `as_file`, `as_base64`, `as_imagecontent`, and `as_imageurl`. | none |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| launch_transactionC | Start a transaction in the configured session; preserves unrelated SAP sessions. |
| sap_clickC | Click physical screenshot pixels relative to the selected SAP window. |
| sap_move_mouseC | Move within the selected SAP window using physical screenshot pixels. |
| sap_typeA | Type WScript SendKeys text/special keys in the selected SAP window. Use sap_set_field for literal text. |
| sap_scrollC | Scroll the selected SAP window. |
| end_transactionA | End only the configured session's current transaction. Unsaved work in that transaction can be lost. |
| save_last_screenshotB | Save the last requested screenshot under SAP_OUTPUT_ROOT without overwriting a file. |
| sap_get_screenA | Read up to 300 SAP COM controls and text (password fields redacted), optionally with screenshot. |
| sap_set_fieldC | Set literal text through SAP GUI ActiveX/COM scripting, scoped to wnd[N] in this session. |
| sap_pressC | Press a SAP GUI button through its COM interface. |
| sap_send_vkeyC | Send a documented SAP virtual key (0 is Enter) to the configured session. |
| sap_run_guixt_scriptA | Submit a preinstalled GuiXT InputScript to this exact SAP window; requires configured GuiXT opt-in. Completion is asynchronous. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools target distinct actions (pixel click, mouse move, scroll, transaction lifecycle, COM field set, button press, virtual key, screenshot). Two pairs overlap somewhat: sap_type vs sap_set_field for entering text, and sap_press vs sap_send_vkey for triggering controls; descriptions mitigate by recommending COM for literal text and documenting vkey behavior.
All names use snake_case and mostly follow a verb_noun pattern, with a consistent sap_ prefix on interaction tools. However, three lifecycle/screenshot tools (launch_transaction, end_transaction, save_last_screenshot) omit the sap_ prefix, a minor inconsistency.
Twelve tools is well-scoped for a GUI automation server: transaction lifecycle, screen reading, several input modalities, screenshots, and GuiXT scripting each earn a place without obvious redundancy.
The surface covers core GUI automation: transaction start/end, screen scraping, pixel and COM input, scrolling, screenshots, and GuiXT scripting. Minor gaps remain for explicit window selection, waiting for screen readiness, and targeted field value extraction, but agents can work around these with existing tools.