Overview
lspmesh fronts multiple language servers — TypeScript, Tailwind, Biome — behind one
LSP endpoint, routing each request to every backend that handles the file and merging
the results. It also exposes the same intelligence as MCP tools for AI agents.
Install
claude plugin marketplace add filiphsps/commerce
# then enable the "lspmesh" pluginOr run it directly:
pnpm dlx lspmesh lsp # LSP server over stdio
pnpm dlx lspmesh mcp # MCP server over stdioModes
One binary, two modes over a shared aggregator engine:
lspmesh lsp— an LSP server speaking the Claude Code op set (definition, references, hover, documentSymbol, implementation, call hierarchy,workspace/symbol), aggregated across all configured backends. Position ops fan to every backend that handles the file and the locations are merged;workspace/symbolfans across all backends.lspmesh mcp— an MCP server exposingfind_symbol,find_references, andfind_implementationsby exact name, each unioned over every definition of the name and tagged with thedefinedAtit resolves to.
Why aggregate
The built-in editor/agent LSP integrations bind one server per language. lspmesh
lets a single registration front several servers at once — so a .tsx file is served
by TypeScript and Tailwind and Biome simultaneously, with their results merged —
and restores by-name workspace/symbol search, which the raw TypeScript server leaves
unimplemented for agent clients.