The cli is just a wrapper for the JSON-RPC API, so I assume you're asking how to do this without the MultiChain API at all? If so the answer is that MultiChain uses bitcoin's transaction format, plus extensions (for permissions, assets, streams, etc...) that are documented in detail here:
https://www.multichain.com/developers/
You should be able to use any software library designed for bitcoin to build MultiChain transactions.