If you use mgmt_cli -r true, this basically does a login/publish/logout behind the scenes.
If you login with a proper session via mgmt_cli, that session can be "taken over" in SmartConsole just like any other session.
For example:
[Expert@mgmt:0]# mgmt_cli login
Username: phoneboy
Password:
uid: "5195aab6-4db5-409a-8d80-af630bd7cefe"
sid: "sJU7Ql86il8u7Fn3DGjgZ2fNTM5ZzELYiLkZCTdg2CU"
url: "https://127.0.0.1:443/web_api"
session-timeout: 600
last-login-was-at:
posix: 1544277634568
iso-8601: "2018-12-08T06:00-0800"
api-server-version: "1.3"
[Expert@mgmt:0]# mgmt_cli --session-id sJU7Ql86il8u7Fn3DGjgZ2fNTM5ZzELYiLkZCTdg2CU add-host name foobar ipv4-address 3.1.3.7
Now you can see the session in SmartConsole and take it over:

And the object I created via mgmt_cli is there:
