Documentation
A small foundation.
One engine behind your language server and MCP server, with a profiler built into VS Code.
lspkit is a set of Rust crates for building language servers. Your analysis runs once, in one engine, and both an LSP server and an MCP server read from it.
One engine
EngineApi is the boundary between your analysis and the protocols. Every report carries a generation number, so a client always knows which state of the workspace produced an answer.
Two surfaces
The LSP server and the MCP adapter consume the same engine. Protocol handling stays at the edges; analysis lives in one place.
Shared plumbing
File tracking, configuration, sidecar processes, tree-sitter parsing, transport and profiling are ready-made. Use the parts that fit your server.


Next steps
- Getting started: add the crates and implement
EngineApi. - Crates: what each crate and feature provides.
- Profiler: CPU and memory profiling for any language server.
- Examples: SharpLsp and Osprey running the profiler in VS Code.
- The architectural field note: why one engine serves two surfaces.