Multilspy
A Python library for building applications around language servers, handling server setup, JSON-RPC communication, and configuration so a static-analysis tool can query definitions, references, and completions across languages through one interface.
multilspy is a Python library that simplifies building client applications around Language Server Protocol servers. It automatically downloads platform-specific server binaries, sets up and tears down the language server process, handles the JSON-RPC communication between client and server, and maintains hand-tuned configuration for each supported language server, exposing a simple API for the caller.
Because the Language Server Protocol is language-agnostic, multilspy can provide results such as a symbol's definition location, the callers of a function or instantiations of a class, and type-directed completion suggestions across different languages through one common interface. It was developed as part of research on Monitor-Guided Decoding, a technique that uses static analysis of a repository to guide a code-generating language model's output away from hallucinated symbols and invalid call orders.
It is written in Python and distributed under the MIT license.