2026
Live UI inspection of a desktop ERP over MCP
A debugging tool for visual bugs in SAP Business One: list open forms, read control geometry, force a resize and capture the screen from outside the ERP.
- C#
- .NET 8
- MCP
- Named pipes
- SAP UI API
Problem
Visual bugs in a desktop ERP are debugged by looking. A control that overlaps another when the window is resized leaves no trace in any log: someone has to open the form, drag the edge until the defect shows and then describe it in writing. Reproducing it on another machine is one more full manual session.
Solution
I built an inspection tool that works from outside the ERP: it lists open forms, reads the position and size of every control, forces a resize to reproduce an overlap and captures the screen. Geometry comes back as numbers, so an overlap is described with data instead of adjectives.
The tool is exposed as a .NET 8 MCP server, so an agent can query it like any other source of information, and nobody has to open the ERP to answer the question.
The bridge doing the actual work lives inside the add-on, because the form tree is only visible from inside. It is off by default and only starts with an explicit environment variable: in a client environment the add-on behaves exactly as if the project did not exist. Transport between server and bridge is named pipes, a local operating system channel that opens no network port.
Architecture
Why it is built this way
It is off by default and only starts with an explicit environment variable. A debugging tool that can switch itself on has no business travelling inside a production add-on.
I chose named pipes over a TCP port. The conversation is local by definition, so there is no port to expose and no firewall rule to negotiate at a client site.
It reads real control geometry first and captures afterwards. The image confirms, it does not measure.
The resize is a command, not an instruction for a human. Reproducing the defect is worth more than describing it.
It speaks MCP so the inspection can be queried from the same place the fix is being written.
Result
Layout defects in a desktop ERP are inspected and reproduced from outside the ERP, and the bridge that makes it possible is absent from client installations unless someone turns it on by hand.
Contact
Let's work together on your next project
If you have a SAP Business One project, a pending integration or simply a question, send me a message. I reply to everything.
- Location
- Palma, Mallorca
- in/ramon-artigues
- GitHub
- RamonArtigues