README

1A bridge to translate arbitary LSPs into MCP so that agents can get ground truth
2about the code they write on the fly.
3
4Design goals:
5- Inspired by Crush, which treats LSP diagnostics as special and injects them deterministically. I.e., we don't have to rely on the model to be attentive to diagnostics on its own. They will get injected whether the model likes it or not.
6- The simplest solution would obviously be to just create some tools that allow the model to call out to the LSP. But I don't think that would work, because LSP is stateful. In particular, the LSP spec has a lot to say about document synchronization. To be spec-compliant, a client must alert the server when it has opened, closed, or edited a document. Otherwise, the server might report inaccurate diagnostics. Therefore, the agent's basic operations, like "view," "edit," and "grep," must be LSP-aware.
7- By re-implementing core tools like these in an MCP, we also solve the first problem, since we know that agents will reliably call tools like this.