lsp_get_hoverLABSCO SUMMARY
Type-aware answers about a codebase, in place of the read-a-file-and-hope loop.
The path the docs recommend is overview, then search, then details: get_project_overview to see the shape, search_symbols to find the thing, get_symbol_details to read its type, definition and callers in one call — which is what makes it cheaper than opening files. Renames go through the language server, so they land everywhere the symbol is used rather than everywhere the string appears.
What it is
Lsmcp puts Language Server Protocol capability behind MCP tools. It runs a language server for your project — presets ship for tsgo, typescript, rust-analyzer, gopls, deno, moonbit, fsharp, hls and ocaml — and exposes hover, references, diagnostics, renames and code actions, with a pre-built symbol index on top for fast search.
What you get
- Semantic navigation in place of grep:
lsp_get_definitionswith the option of the full body,lsp_find_references,lsp_get_hover,lsp_get_workspace_symbols,lsp_get_document_symbols - Refactors the language server agrees with —
lsp_rename_symbolacross the codebase,lsp_delete_symbolwith its references,lsp_get_code_actionsfor the available quick fixes - Errors from the compiler rather than a guess:
lsp_get_diagnosticsper file,lsp_get_all_diagnosticsfor the whole project - A fast index over the top:
get_project_overviewfor structure and statistics,search_symbolsby name or kind,get_symbol_detailsreturning hover, definition and references in one call - External library symbols —
index_external_librariesover node_modules declaration files,search_external_library_symbols,resolve_symbol,get_typescript_dependencies,parse_imports - Edits in place:
replace_range,replace_regex, andlsp_format_documentthrough the language server - Project memories under
.lsmcp/memories/—write_memory,read_memory,list_memories,delete_memory
Requirements
Node.js 22.0.0 or higher — the index runs on Node's built-in SQLite. No account and no key. Install @mizchi/lsmcp next to a language server: npm add -D @mizchi/lsmcp @typescript/native-preview, then npx @mizchi/lsmcp init -p tsgo and claude mcp add lsmcp npx -- -y @mizchi/lsmcp -p tsgo. Any language server without a preset goes in through --bin. Settings live in .lsmcp/config.json, including autoIndex, indexConcurrency, maxFileSize and memoryLimit.
Setup effort
One command — claude mcp add lsmcp npx -- -y @mizchi/lsmcp -p tsgo
USE CASES
Getting oriented in an unfamiliar repository
Read the project overview, then list the classes or interfaces before opening a single file.
Tracing a bug to everything it touches
Find the function, read its type and implementation, then list every place it is called.
Renaming something used all over the codebase
Rename through the language server, then format the files it touched.
Checking a change compiles before claiming it does
Read the diagnostics for the file you changed, then for the project as a whole.
Working out what a dependency actually exports
Index the declaration files under node_modules, then search them by symbol.
31 tools
Listed in project docs. Your client may show a different list.
lsp_find_referenceslsp_get_definitionslsp_get_diagnosticslsp_get_all_diagnosticslsp_get_document_symbolslsp_get_workspace_symbolslsp_get_completionlsp_get_signature_helplsp_format_documentlsp_rename_symbollsp_get_code_actionslsp_delete_symbollsp_check_capabilitiesget_project_overviewsearch_symbolsget_symbol_detailsindex_external_librariesget_typescript_dependenciessearch_external_library_symbolsresolve_symbolget_available_external_symbolsparse_importsreplace_rangereplace_regexlist_dirget_symbols_overviewlist_memoriesread_memorywrite_memorydelete_memoryBEFORE YOU INSTALL
What to know first
Tools you get
31 tools named in the project's documentation.
Requires
Node.js 22.0.0 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
Claude Code
claude mcp add lsmcp npx -- -y @mizchi/lsmcp -p tsgo