I think one could easily build an MCP tool wrapping LSP which smooths over those difficulties. What the LLM needs is just a structured way to say "perform this code change" and a structured way to ask things like "what's the definition of this function?" or "what functions are defined in this module?"
Not much different from what agents already do today inside of their harnesses, just without the part where they have to read entire files to find the definition of one thing.
So not using LSP, but rather using something in a middle that uses LSP as implementation detail.
So far enabling LSP in Claude only added messages like "this is old diagnostic before my edit".