MSA is a software that does a fit to electronic energies and gradients using a fitting basis that is invariant with respect to permutations of like atoms.
An older version can be downloaded at https://github.com/Kee-Wang/PES-Fitting-MSA. This new 2.0 version adds the function to include ab initio gradients in the fitting.
The detailed theory is discussed in the references listed at the end. More information can be found in the Tutorial.txt file and at https://scholarblogs.emory.edu/bowman/msa.
Original MSA code: Zhen Xie
Using gradient in the fit: Chen Qu
Python Wrapper: Qingfeng (Kee) Wang