2026
MCP de inspección en vivo de la interfaz de SAP
Herramienta de depuración para bugs visuales de SAP Business One: listar formularios abiertos, leer la geometría de los controles, forzar un redimensionado y capturar la pantalla desde fuera del ERP.
- C#
- .NET 8
- MCP
- Named pipes
- SAP UI API
Problema
Los bugs visuales de un ERP de escritorio se depuran mirando. Un control que se solapa con otro al redimensionar la ventana no deja traza en ningún log: alguien tiene que abrir el formulario, arrastrar el borde hasta que se vea el defecto y describirlo por escrito. Reproducirlo en otra máquina es otra sesión manual completa.
Solución
Monté una herramienta de inspección que trabaja desde fuera del ERP: lista los formularios abiertos, lee la posición y el tamaño de cada control, fuerza un redimensionado para reproducir un solapamiento y captura la pantalla. La geometría se lee en números, así que un solapamiento se describe con datos en vez de con adjetivos.
La herramienta se expone como servidor MCP en .NET 8, de modo que un agente puede consultarla igual que cualquier otra fuente de información, sin que nadie tenga que abrir el ERP para responder a la pregunta.
El puente que hace el trabajo real vive dentro del add-on, porque solo desde dentro se ve el árbol de formularios. Está apagado por defecto y solo arranca con una variable de entorno explícita: en un entorno de cliente el add-on se comporta exactamente igual que si el proyecto no existiera. El transporte entre el servidor y el puente son named pipes, un canal local del sistema operativo que no abre ningún puerto de red.
Arquitectura
Por qué está montado así
Está apagado por defecto y solo arranca con una variable de entorno explícita. Una herramienta de depuración que puede encenderse sola no debería viajar dentro de un add-on de producción.
Elegí named pipes en vez de un puerto TCP. La comunicación es local por definición, así que no hay puerto que exponer ni regla de firewall que negociar en casa del cliente.
Primero lee la geometría real de los controles y después captura. La imagen sirve para confirmar, no para medir.
El redimensionado es un comando y no una instrucción para el humano. Reproducir el defecto vale más que describirlo.
Va por MCP para poder consultarlo desde el mismo sitio donde se está escribiendo el arreglo.
Resultado
Los defectos de disposición de un ERP de escritorio se inspeccionan y se reproducen desde fuera del ERP, y el puente que lo permite no existe en las instalaciones de cliente mientras no se active a mano.
Contacto
Trabajemos juntos en tu próximo proyecto
Si tienes un proyecto de SAP Business One, una integración pendiente o simplemente una duda, escríbeme. Respondo a todos los mensajes.
- Ubicación
- Palma, Mallorca
- in/ramon-artigues
- GitHub
- RamonArtigues