MATLink 1.x is based on the MATLAB Engine interface, which sets its limitations and possibilities. What you are asking for is possible on Windows, but not on Mac or Linux.
By default MATLink will start a new instance of MATLAB in the background. On Windows and Mac you can see this instance appear in the taskbar or dock. All MATLAB commands are evaluated using this instance, thus the workspace is not shared with any other MATLAB you might have started separately.
On Windows the MATLAB Engine is based on the MATLAB COM Automation Server. It is possible to use the currently running instance of MATLAB as Automation Server. Here's the recipe:
- Start MATLAB first (before starting MATLink)
- In MATLAB, evaluate
- Now start MATLink using
- Test that the workspace is shared by creating a variable using MATLink:
MEvaluate["asd = 12321"] and checking that it exists in the workspace of the open MATLAB window.
On macOS and Linux this is not possible due to the limitations of the public MATLAB Engine C API. I have also confirmed this with The MathWorks support.
While it is possible to take control of an already running MATLAB on Mac/Linux too, as evidenced by the Python and Java MATLAB Engine APIs, the underlying C++ API that makes this possible is not made public. Therefore MATLink cannot use it.