sap_openLABSCO SUMMARY
Label-addressed, which is what makes it usable by a model.
Filling "Vendor" and pressing "Save" is something a language model can be instructed to do; addressing SAP control ids is not. The status bar tool is the quiet essential — it is where SAP tells you the purchase order number after a save, so it is how the agent confirms the work landed. The codegen capability turning a session into a Robot Framework script is the bridge from ad-hoc to repeatable.
What it is
An MCP server that drives SAP GUI for Windows through the RoboSAPiens library. Tools address the screen the way a person does — by field label, button label, tab name — rather than by internal control ids, so the model can be told "fill Vendor" and it works. Optional capability groups add screenshots, Robot Framework script generation and a structured window snapshot.
What you get
- Sessions started, attached to and closed, with a read-only state check —
sap_open,sap_connect_to_server,sap_connect_to_running,sap_get_session_info,sap_close - Navigation by transaction code, tab, menu and keyboard —
sap_execute_transaction,sap_activate_tab,sap_select_menu_item,sap_send_key,sap_get_window_title - Fields, checkboxes, radio buttons and buttons driven by their visible labels —
sap_fill_text_field,sap_clear_text_field,sap_set_checkbox,sap_unset_checkbox,sap_select_radio_button,sap_push_button,sap_button_exists - Values read back, including SAP's status bar message — which is where the document number after a save actually appears —
sap_read_text_field,sap_read_text,sap_read_status_bar - Tables handled as tables: row count, row selection, cell read and write, double-click and scroll —
sap_count_table_rows,sap_select_table_row,sap_read_table_cell,sap_fill_cell,sap_double_click_cell,sap_scroll_table - Three optional groups behind
--caps:sap_take_screenshot;sap_get_generated_scriptandsap_clear_scriptfor the accumulated Robot Framework script; andsap_get_snapshotfor a structured JSON view of the current window
Requirements
Windows 10 or 11 only — SAP GUI is Windows-only — with SAP GUI for Windows installed and Python 3.10 or newer. SAP scripting must be enabled on both sides: in SAP Logon under Accessibility & Scripting, and by an admin setting sapgui/user_scripting to TRUE in transaction RZ11. Without both, nothing here works. Capabilities are opt-in via --caps screenshot,codegen,advanced. Note the two prefixes in the documentation: the client config examples set SAPIENT_MCP_SAPLOGON_PATH and SAPIENT_MCP_OUTPUT_DIR, while the settings table lists the same values under a ROBOSAP_MCP_ prefix — check which your build reads before assuming the path took effect. For a shared or remote setup, run with --port and point clients at the HTTP endpoint on the SAP machine.
Setup effort
Build from source — clone the repository, then follow the steps on this page and add the configuration for your client
USE CASES
Creating a document from a description
Run the transaction, fill the header fields by label, move to the item tab, fill the cells, save, and read the status bar for the created number.
Pulling numbers off a SAP screen
Count the rows, read the cells you need, and scroll when the table runs past the visible window.
Turning a manual process into a repeatable script
Run the steps once with the codegen capability on, then take the accumulated Robot Framework script and keep it.
Attaching to the session already open on your screen
Connect to the running SAP GUI instead of launching a new login, and check the session state before acting on it.
Letting the model see the screen it is on
Enable the advanced capability and take a structured JSON snapshot of the window, so navigation is based on what is there rather than an assumed layout.
30 tools
Listed in project docs. Your client may show a different list.
sap_connect_to_serversap_connect_to_runningsap_get_session_infosap_closesap_execute_transactionsap_activate_tabsap_get_window_titlesap_select_menu_itemsap_send_keysap_fill_text_fieldsap_clear_text_fieldsap_set_checkboxsap_unset_checkboxsap_select_radio_buttonsap_push_buttonsap_button_existssap_read_text_fieldsap_read_textsap_read_status_barsap_count_table_rowssap_select_table_rowsap_read_table_cellsap_fill_cellsap_double_click_cellsap_scroll_tablesap_take_screenshotsap_get_generated_scriptsap_clear_scriptsap_get_snapshotBEFORE YOU INSTALL
What to know first
Tools you get
30 tools named in the project's documentation.
Requires
- Windows 10/11 with SAP GUI for Windows installed
- Python 3.10 or newer
- SAP GUI scripting enabled in SAP Logon and on the server (RZ11: sapgui/user_scripting=TRUE)
Where it runs
All 6 documented clients run the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then follow the steps on this page and add the configuration for your client. This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/toni-ramchandani/sapient-mcp.git
cd sapient-mcp
pip install -e .Then start it with python -m sapient_mcp, or add one of the client configurations below
MCP Clients
Claude Desktop
{
"mcpServers": {
"sapient": {
"command": "python",
"args": [
"-m",
"sapient_mcp"
],
"env": {
"SAPIENT_MCP_SAPLOGON_PATH": "C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\saplogon.exe",
"SAPIENT_MCP_CAPS": "screenshot,codegen,advanced",
"SAPIENT_MCP_OUTPUT_DIR": "C:\\sapient_output"
}
}
}
}Claude Code, Cursor, Windsurf
{
"mcpServers": {
"sapient": {
"command": "python",
"args": [
"-m",
"sapient_mcp",
"--caps",
"screenshot,codegen,advanced"
],
"env": {
"SAPIENT_MCP_SAPLOGON_PATH": "C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\saplogon.exe",
"SAPIENT_MCP_OUTPUT_DIR": "C:\\sapient_output"
}
}
}
}VS Code
{
"servers": {
"sapient": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"sapient_mcp",
"--caps",
"screenshot,codegen,advanced"
],
"env": {
"SAPIENT_MCP_SAPLOGON_PATH": "C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\saplogon.exe",
"SAPIENT_MCP_OUTPUT_DIR": "C:\\sapient_output"
}
}
}
}Any MCP client — HTTP
{
"mcpServers": {
"sapient": {
"url": "http://sap-windows-machine:8765/mcp"
}
}
}