To clarify, were these changes so you could use sourcekit-lsp's internal libraries to write your server, or did you need to change sourcekit-lsp itself in order to use your server? Would you be interested in sending us a PR? We don't promise a stable API right now, but we could at least expose the modules you needed.
I'd have to go back and look at it again to say for sure and what might be PR worthy! I definitely think all the protocols, structs and transport infrastructure you have in sourcekit-lsp would be beneficial for anyone writing a new build server.
I started off knowing nothing about lsp or buildservers so I can't say I took the shortest path. I recall the vscode plugin wouldn't allow arguments to be supplied to sourcekit-lsp. That led me down the buildserver route (just because it starts up automagically) and then after I sunk a bunch of time into that, it just felt like that was going to get me a working system. TBH if the vscode plugin could pass command line args to sourcekit, and sourcekit had flags to set indexdb/cdb paths then that might've worked just as well.