This is implemented, you could have activation function and start the server based on whatever criteria you want.
@zhscn I guess you have set lsp-auto-guess-root to t? If you set it to nil which is the recommended setting you will be asked to select a root if lsp-mode cannot detect the current root.