First of all, I will immediately note that the development of a non-visual extension is not a problem at all. It is enough to inherit your object from TObj, and then do whatever you want with it. Or rather what you need. Likewise, there are no major problems creating an MCK mirror for an extension built in this way. For this, another module is formed, in which the mirror class itself, inherited from TKOLObject, and the Register procedure are located. That's it, you can create a package and install it (do not forget to draw an icon and place it in a dcr file, as you usually do when developing Delphi VCL components). The problem is easily approximated for the case when several objects are defined in one module, for each of which it is necessary to have its own mirror class.
For example, you can look at the source codes of any available non-visual extension, of which there are countless numbers.