Labsco
MCP SERVER

Sapient MCP

by toni-ramchandani

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

ERP & Vertical Business Systems
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 and build it, then point your client at the binary