LabscoMCP early access ↗
toni-ramchandaniMCP SERVER

Sapient MCP

Automate SAP GUI on Windows from an assistant — fill fields by label, run transactions, read the status bar, work tables.

by toni-ramchandani ↗ERP & Vertical Business SystemsCommunity

LABSCO 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_script and sap_clear_script for the accumulated Robot Framework script; and sap_get_snapshot for 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