Neovim 0.5 (not released yet but has PPA) has a builtin LSP client that not depends on NPM. It works very well.
edit/ Of course, Google was able to pop it out after I submit this comment... For anyone else who may be curious about how this works: https://neovim.io/doc/user/lsp.html