MVectorArray in python is a SWIG object wrapping the C++ type. I am not sure of a way to pass a pointer to the C++ MVectorArray and 'wrap' it in Python. But that would be the lowest overhead if it were possible since you wouldn't need to copy.
The hacky workaround is to serialize it to something like /dev/shm/myvector.json and let python deserialize it. That incurs the cost of having to encode/decode, but avoids the huge literal string call (I am not sure of the cost differences here).
I'm probably missing some other option to solve this.