Are there tools available for looking at what is unconfirmed in the mempool? Or is running a full bitcoin core node the best way to do that?
There is no such thing as "the mempool". Every node has its own, and there are no guarantees about how consistent different nodes' mempools are with one another.
Hence, to even talk about a mempool, you need to have a node. I do not believe that any lightweight node implementations even maintain a mempool (as it's inherently pointless to talk about uncomfirmed transactions if you can't even verify them), so yes - you'll need a full node, whether your own or someone else's (e.g. some block explorer websites show you their mempool, but that is obviously trusting them).
You can run this on your full node, stay private
$ bitcoin-cli getrawmempool true