Skip to main content
Glama

MCP SAP GUI Server

Servidor SAP GUI de MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para la automatización de SAP GUI. Este servidor proporciona herramientas para automatizar las interacciones con SAP GUI, lo que permite el control programático de las transacciones de SAP.

imagen

Requisitos

  • Python 3.8 o superior
  • SAP GUI instalado y configurado
  • Credenciales SAP válidas (sistema, cliente, usuario, contraseña)
  • Node.js (para npx)

Instalación

  1. Clonar la carpeta github y ejecutar la instalación automatizada usando el script de configuración:
setup.bat

Esto lo guiará a través del proceso de compilación y lo integrará directamente en Cline o Roo, si así lo selecciona.

  1. O Instalación manual mediante script de compilación..:
build.bat
  1. Configurar las credenciales de SAP:
  • Copiar .env.example a .env
  • Actualice los valores con sus credenciales de SAP
  1. Servidor de prueba usando el inspector mcp:
run.bat debug
  1. Utilice el script de integración para configurar automáticamente los ajustes de MCP:
integrate.bat cline # Configure for Cline integrate.bat roo # Configure for Roo

El guión hará lo siguiente:

  • Determinar automáticamente la ruta correcta del archivo de configuración
  • Cree una copia de seguridad antes de realizar cualquier cambio
  • Actualice de forma segura la configuración de MCP
  • Validar los cambios para prevenir la corrupción

Configuración manual (si es necesario):

"mcp-sap-gui": { "command": "python", "args": [ "-m", "sap_gui_server.server" ], "cwd": "PATH_TO_YOUR_FOLDER/mcp-sap-gui", "disabled": false, "autoApprove": [] }
  1. Utilice este mensaje para explicar la herramienta a su modelo de IA:
**Important Safety Notice:** SAP is a highly sensitive system where incorrect interactions can have serious consequences. Every action must be performed with utmost precision and care. When in doubt about any action, STOP immediately and request user assistance. **Available Tools:** The `mcp-sap-gui` server provides tools for SAP GUI interaction: * `launch_transaction`: Start a new transaction * `sap_click`: Click at specific coordinates * `sap_move_mouse`: Move mouse to coordinates * `sap_type`: Enter text into fields * `end_transaction`: Close the current transaction **Technical Limitations and Requirements:** 1. You will receive only screenshot images of the SAP GUI window after each action 2. No direct access to screen element metadata or technical representation 3. You must use image recognition to: * Identify UI elements (fields, buttons, etc.) * Determine precise x/y coordinates for interactions * Verify element sizes and positions 4. All coordinates must be exact - approximate clicking is not acceptable **Step-by-Step Process:** 1. Start SAP GUI Session: * Call `launch_transaction` with desired transaction code * Analyze the returned screenshot carefully 2. Interact with Screen: * Use image recognition to identify needed elements * Calculate exact coordinates for interaction * Execute appropriate action (`sap_click`, `sap_type`, etc.) * Verify result in next screenshot 3. Capture Screenshots: * Save screenshots at key points in the process 4. End Session: * Call `end_transaction` when finished **Best Practices:** 1. Always verify screen state before any action 2. Double-check coordinates before clicking 3. Document each step with clear annotations 4. If uncertain about any element position, request user verification 5. Maintain consistent screenshot naming convention

Herramientas disponibles

El servidor SAP GUI de MCP proporciona las siguientes herramientas para la automatización de SAP:

Gestión de transacciones

  • launch_transaction : Iniciar un código de transacción de SAP específico
  • end_transaction : Finaliza la transacción SAP actual

Interacción de interfaz

  • sap_click : Haga clic en coordenadas específicas en la ventana de SAP GUI
  • sap_move_mouse : Mueve el cursor del ratón a coordenadas específicas
  • sap_type : Escribe texto en la posición actual del cursor
  • sap_scroll : desplazarse por la pantalla de SAP GUI (arriba/abajo)

Captura de pantalla

  • save_last_screenshot : Guarda la última captura de pantalla de la ventana de SAP GUI. Devuelve la ruta de acceso absoluta de la imagen guardada.

Formatos de retorno de captura de pantalla

Todas las herramientas que interactúan con la ventana SAP GUI (launch_transaction, sap_click, sap_move_mouse, sap_type, sap_scroll) admiten diferentes formatos de retorno de captura de pantalla controlados por el parámetro return_screenshot :

  1. none (predeterminado): solo devuelve mensajes de éxito/error
{ "type": "text", "text": "Status: success" }
  1. as_file : guarda la captura de pantalla en la carpeta de destino especificada y devuelve la ruta
{ "type": "text", "text": "Screenshot saved as C:/path/to/file/screenshot.png" }

Nota: Al usar as_file , debe especificar la carpeta de destino mediante el parámetro as_file_target_folder . La carpeta se creará si no existe.

  1. as_base64 : Devuelve la cadena base64 sin procesar
{ "type": "text", "text": "base64_encoded_string_here" }
  1. as_imagecontent : Devuelve el objeto ImageContent de MCP
{ "type": "image", "data": "base64_encoded_string_here", "mimeType": "image/png" }
  1. as_imageurl : Devuelve un recurso incrustado con la URL de datos
{ "type": "resource", "resource": { "uri": "application:image", "mimeType": "image/png", "text": "data:image/png;base64,..." } }

Ejemplo de uso:

# Default - no screenshot result = await client.call_tool("launch_transaction", { "transaction": "VA01" }) # Save to specific folder result = await client.call_tool("launch_transaction", { "transaction": "VA01", "return_screenshot": "as_file", "as_file_target_folder": "C:/screenshots" }) # Get base64 string result = await client.call_tool("launch_transaction", { "transaction": "VA01", "return_screenshot": "as_base64" })

Resumen de parámetros de la herramienta:

HerramientaParámetroTipoPor defectoDescripción
launch_transactiontransactionstringCódigo de transacción de SAP para el lanzamiento (por ejemplo, VA01, ME21N, MM03)
return_screenshotstringnoneFormato de retorno de captura de pantalla ( none , as_file , as_base64 , as_imagecontent , as_imageurl )
as_file_target_folderstringRuta de la carpeta de destino para guardar capturas de pantalla cuando se utiliza el formato de retorno 'as_file'
sap_clickxintegerCoordenada de píxel horizontal (0-1920) donde debe producirse el clic
yintegerCoordenada de píxel vertical (0-1080) donde debe ocurrir el clic
return_screenshotstringnoneFormato de retorno de captura de pantalla ( none , as_file , as_base64 , as_imagecontent , as_imageurl )
as_file_target_folderstringRuta de la carpeta de destino para guardar capturas de pantalla cuando se utiliza el formato de retorno 'as_file'
sap_move_mousexintegerCoordenada de píxel horizontal (0-1920) para mover el cursor
yintegerCoordenada de píxel vertical (0-1080) para mover el cursor
return_screenshotstringnoneFormato de retorno de captura de pantalla ( none , as_file , as_base64 , as_imagecontent , as_imageurl )
as_file_target_folderstringRuta de la carpeta de destino para guardar capturas de pantalla cuando se utiliza el formato de retorno 'as_file'
sap_typetextstringTexto a introducir en la posición actual del cursor en la ventana de SAP GUI
return_screenshotstringnoneFormato de retorno de captura de pantalla ( none , as_file , as_base64 , as_imagecontent , as_imageurl )
as_file_target_folderstringRuta de la carpeta de destino para guardar capturas de pantalla cuando se utiliza el formato de retorno 'as_file'
sap_scrolldirectionstringDirección para desplazarse por la pantalla ('arriba' mueve el contenido hacia abajo, 'abajo' lo mueve hacia arriba)
return_screenshotstringnoneFormato de retorno de captura de pantalla ( none , as_file , as_base64 , as_imagecontent , as_imageurl )
as_file_target_folderstringRuta de la carpeta de destino para guardar capturas de pantalla cuando se utiliza el formato de retorno 'as_file'
end_transaction
save_last_screenshotfilenamestringRuta donde se guardará la captura de pantalla

Desarrollo

Ejecución de pruebas

  1. Servidor de prueba usando el inspector mcp (compilación + depuración):
./run.bat full
  1. O utilice el conjunto de pruebas: El conjunto de pruebas incluye pruebas en vivo que interactúan con SAP GUI. Asegúrese de tener SAP GUI instalado y configurado antes de ejecutar las pruebas.

Ejecutar pruebas:

run.bat test server

El conjunto de pruebas incluye:

  • Pruebas de SapGuiServer (test_server.py)
    • Registro de herramientas
    • Manejo de solicitudes
    • Formato de respuesta
    • Manejo de errores

Estructura del proyecto

mcp-sap-gui/ ├── src/ │ └── sap_gui_server/ │ ├── __init__.py │ ├── sap_controller.py # SAP GUI interaction logic │ └── server.py # MCP server implementation ├── tests/ │ ├── __init__.py │ ├── test_sap_controller.py │ └── test_server.py ├── build.bat # Build and test script ├── integrate.bat # Integration script for Cline/Roo ├── integrate.py # Python script for safe MCP settings updates ├── requirements.txt # Production dependencies └── requirements-dev.txt # Development dependencies

Licencia

[Licencia MIT]

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Automatiza las interacciones con SAP GUI utilizando el Protocolo de contexto de modelo, lo que permite un control preciso de las transacciones de SAP a través de herramientas como hacer clic, escribir, desplazarse y administrar transacciones.

  1. Requisitos
    1. Instalación
      1. Herramientas disponibles
        1. Gestión de transacciones
        2. Interacción de interfaz
        3. Captura de pantalla
        4. Formatos de retorno de captura de pantalla
      2. Desarrollo
        1. Ejecución de pruebas
      3. Estructura del proyecto
        1. Licencia

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            This MCP server implementation allows users to manage and expose actions as tools from their Integration App workspace through the Model Context Protocol.
            Last updated -
            10
            19
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
            Last updated -
            1,012
            1
            Python
          • -
            security
            F
            license
            -
            quality
            Enables integration between SAP HANA Cloud Database and Cursor IDE through the Model Context Protocol, providing standardized interfaces for managing ML models and execution contexts.
            Last updated -
            Python
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.
            Last updated -
            1
            TypeScript
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/mario-andreschak/mcp-sap-gui'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server