MTPs do not scale and can create their own set of issues. They should only be used for features that require them (eg Native Call Queuing or Extend and Connect) or as a last resort to solve a specific problem which you have fully investigated and understand why CUCM cannot make the call flow work without one.
One of the brilliant advantages of an IP PBX such as CUCM is that it doesn’t have to proxy all media centrally; everything has an IP address so just send it direct between call participants.
For call recording CUCM, IP Phones, and CUBE all support media forking at the edge. This is vastly more efficient.
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/srnd/collab12/collab12/recordng.html
There are a plethora of call recording applications. Common choices are Calabrio, Zoom CallREC, or Verint.
http://marketplace.cisco.com/catalog/search?platforms=765