You can download the metadata of a running node by calling the
state_getMetadata RPC. But if I'm compiling a node, is the metadata built anywhere?
Ideally I'd rather not have to start the node to get the metadata.
The metadata schema is encoded using the SCALE codec library and this encoding is done automatically for you when you compile a node (by using the scale-info crate). So you have to compile the node.
See all the detail information on how to retrieve the metadata in the Substrate Documentation: Application development