MCP SAP GUI

MCP-сервер для SAP GUI под Windows запускает транзакции, читает экран и заполняет поля одной выбранной сессии.

  • 144 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Агент управляет живым окном SAP GUI: может менять данные и отбросить несохраненную работу, поэтому подойдет только отдельная тестовая сессия.
Все причины и проверки

mario-andreschak/mcp-sap-gui

Установка

Ручная установка

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

Блок Install из README, выполняется в PowerShell на Windows из каталога репозитория. В `.env` выберите сессию SAP.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент управляет живым окном SAP GUI: может менять данные и отбросить несохраненную работу, поэтому подойдет только отдельная тестовая сессия.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MCP SAP GUI дает агенту управление одной заранее выбранной сессией SAP GUI for Windows. Инструменты `launch_transaction` и `end_transaction` запускают и завершают транзакцию, `sap_get_screen` читает до 300 элементов управления по COM, `sap_set_field` вводит текст в поле, `sap_press` нажимает кнопку, а `sap_send_vkey` отправляет виртуальную клавишу SAP. Для случаев без COM есть `sap_click`, `sap_type` и `sap_scroll` по пикселям окна. Сервер не выбирает окно сам: нужен точный `SAP_SESSION_ID` или `SAP_CONNECTION`. Поля с паролем в выводе скрыты. Дополнительно запускаются заранее установленные скрипты GuiXT через `sap_run_guixt_script`.

Для кого. Консультантам и разработчикам SAP, которые автоматизируют рутину в SAP GUI на тестовом клиенте.

Подходит, если

  • Нужно прогнать одну и ту же транзакцию по списку значений на тестовой системе.
  • Агент должен прочитать содержимое экрана транзакции и пересказать поля.
  • В экране нет скриптового API, и придется работать по пикселям окна.
  • Автоматизацию надо привязать к выделенной сессии, не трогая остальные окна SAP.

Не подходит, если

  • Нужен SAP GUI for Java, веб-клиент или среда без экрана: сервер их не поддерживает.
  • Есть только боевая система без отдельного тестового клиента.
  • Сервер собираются запустить в Linux или Docker: инструменты SAP там вернут ошибку платформы.

Пример запроса к агенту

Открой транзакцию SE16 в выбранной сессии, прочитай экран и перечисли поля ввода, ничего не меняя.

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

SAP_SESSION_ID
Точный идентификатор сессии SAP GUI для автоматизации, например `/app/con[0]/ses[0]`.
SAP_CONNECTION
Описание подключения из SAP Logon, если сессию нужно открыть заново.
SAP_PASSWORD
Необязательный пароль; при SSO не нужен.

Ограничения

Нужны Windows, лицензионный SAP GUI 8.00 или 8.10, SAP Logon и включенный администратором SAP GUI Scripting. В README сказано, что реальные системы SAP в CI не проверялись, поэтому перед работой прогоните сервер на отдельном тестовом клиенте. Вход через SSO берет личность локального пользователя Windows и не передает личность пользователя чата. Явный `end_transaction` может отбросить несохраненные данные выбранной транзакции.

Как отключить. Закройте MCP-подключение: сессии SAP останутся открытыми. Удалите сервер из конфигурации клиента и пакет `pip uninstall`, а файл `.env` с настройками сессии удалите вручную.

Частые вопросы

Как выбрать сессию SAP?

Укажите в `.env` точный `SAP_SESSION_ID`, например `/app/con[0]/ses[0]`; идентификатор показывает запись скриптов SAP GUI. Либо оставьте его пустым и задайте `SAP_CONNECTION` с описанием из SAP Logon.

Хранится ли пароль?

Пароль необязателен: при SSO он не нужен. Если `SAP_PASSWORD` задан, он вводится через COM и не попадает ни в аргументы процесса, ни в журнал.

Что с управлением по пикселям?

Инструменты `sap_click`, `sap_type` и `sap_scroll` работают с координатами скриншота окна SAP. Если элемент доступен по COM, надежнее `sap_set_field` и `sap_press`.

Работает ли Docker-образ?

Образ собирается, но в Linux-контейнере нет интерактивного SAP GUI, и вызовы SAP вернут явную ошибку платформы. Автоматизация идет только в Windows.

Что делает скрипт GuiXT?

`sap_run_guixt_script` запускает только заранее установленный InputScript в окне выбранной сессии. Подготовить такой скрипт должен администратор или вы сами заранее.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер и CLI wincli: агент управляет окнами Windows по именам кнопок и полей через UI Automation, без координат скриншота

MCP-серверШирокий доступ129Звезды репозитория

MCP-сервер для управления Windows: агент открывает приложения, кликает и печатает, читает состояние окон и интерфейса, работает с файлами и PowerShell

MCP-серверШирокий доступ11,2 тыс.Звезды репозитория
Официальный

computer-use-linux, MCP-сервер, показывает активность агента поверх рабочего стола, пропуская клики пользователя к приложению.

MCP-серверШирокий доступ816Звезды репозитория

MCP-сервер для Windows: агент двигает мышь, нажимает клавиши, управляет окнами и делает снимки экрана

MCP-серверШирокий доступ334Звезды репозитория
Официальный

MCP-сервер помогает агенту создавать и проверять Python-задачи для управления приложениями Windows и устройствами Android.

MCP-серверШирокий доступ827Звезды репозитория

MCP-сервер на Swift дает агенту управлять любым приложением macOS: кликать, печатать и читать дерево интерфейса

MCP-серверШирокий доступ357Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
MCP SAP GUI (эта карточка)нетне нужна144
mcp-abap-abap-adt-apiнетAPI-ключ211работает с исходниками ABAP через ADT; здесь управление окном SAP GUI и транзакциями
SAP Skillsнет490набор скиллов без доступа к экрану; здесь агент вызывает транзакции и читает поля

Коротко о README

Версия 0.2 заменила переменную `SAP_SYSTEM` на `SAP_CONNECTION` или `SAP_SESSION_ID` и убрала глобальные действия вроде завершения процессов.

Бейдж для README

Сообщить о проблеме

Foxx AIMCP SAP GUI
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.