mcp-lsp-v1
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WORKSPACE_PATH | No | Absolute path to the workspace root. Defaults to process.cwd() if not set. | process.cwd() |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lsp_health_checkB | Return server health status and available LSP capabilities across all registered language servers. |
| lsp_hoverB | Request textDocument/hover from the LSP server and return normalized contents. |
| lsp_definitionC | Request textDocument/definition from the LSP server and return normalized locations. |
| lsp_referencesB | Request textDocument/references from the LSP server and return normalized locations. |
| lsp_document_symbolsB | Request textDocument/documentSymbol from the LSP server and return normalized symbols. |
| lsp_workspace_symbolsC | Request workspace/symbol from the LSP server and return normalized symbols. |
| lsp_diagnosticsA | Return cached diagnostics for a file or the whole workspace. Triggers warm-up if workspaceWide is requested and cache is empty. |
| lsp_diagnostics_summaryA | Return a summary of cached diagnostics grouped by severity, file, source, and message with a likely root cause. |
| lsp_rename_previewA | Preview a rename operation. Returns the WorkspaceEdit and a unified diff. No files are written to disk. |
| lsp_inspect_symbolB | Return hover, definitions, references, enclosing symbols, and risk hints for a symbol at a position. |
| lsp_workspace_edit_previewA | Parse, validate, and preview a raw LSP WorkspaceEdit. Returns a unified diff without writing any files to disk. |
| lsp_validate_workspace_editA | Validate a raw LSP WorkspaceEdit without generating a diff. Returns violations only. |
| lsp_prepare_renameB | Check rename viability at a position. Returns range and placeholder if the symbol can be renamed. |
| lsp_code_actions_previewA | Return available LSP code actions (quickfixes, refactors, source actions) for a range or diagnostic, with safe edit previews. No commands are executed and no files are written. |
| lsp_resolve_code_actionB | Resolve a lazy code action from the cache and return a validated edit preview. |
| lsp_format_previewA | Preview formatting changes for a file. Returns a unified diff without writing any files. |
| lsp_range_format_previewA | Preview formatting changes for a range within a file. Returns a unified diff without writing any files. |
| lsp_organize_imports_previewA | Preview import organization changes using source.organizeImports code action. Returns a unified diff without writing files. |
| lsp_wait_for_diagnosticsA | Wait for diagnostics to arrive after a document sync or external edit. Useful for agent synchronization loops. |
| lsp_snapshot_diagnosticsA | Take a snapshot of current diagnostic state. Returns a snapshot ID for later comparison. |
| lsp_compare_diagnosticsA | Compare two diagnostic snapshots to identify fixed, introduced, and unchanged diagnostics. |
| lsp_declarationA | Find declarations for a symbol. Maps to textDocument/declaration. Useful for C/C++ header/source split, TypeScript interfaces, Java abstract methods. |
| lsp_type_definitionA | Find the definition of the type of a symbol. Maps to textDocument/typeDefinition. Resolves variable types to their type/interface/class definitions. |
| lsp_implementationA | Find implementations of an interface, trait, abstract class, or method. Maps to textDocument/implementation. Answers 'who implements this?' |
| lsp_signature_helpA | Return function/method call signature information at a position. Maps to textDocument/signatureHelp. Useful for checking wrong arguments, missing parameters, incorrect overloads. |
| lsp_completionA | Return constrained completion candidates at a position without applying them. Maps to textDocument/completion. Read-only — never applies insertText or additionalTextEdits. |
| lsp_prepare_call_hierarchyA | Prepare call hierarchy items for a symbol. Returns cached opaque IDs used by lsp_incoming_calls and lsp_outgoing_calls. Maps to textDocument/prepareCallHierarchy. |
| lsp_incoming_callsA | Find callers of a function or method using a cached call hierarchy item ID. Maps to callHierarchy/incomingCalls. |
| lsp_outgoing_callsA | Find functions/methods called by a function or method using a cached call hierarchy item ID. Maps to callHierarchy/outgoingCalls. |
| lsp_prepare_type_hierarchyA | Prepare type hierarchy items for a class, interface, trait, or type. Returns cached opaque IDs used by lsp_supertypes and lsp_subtypes. Maps to textDocument/prepareTypeHierarchy. |
| lsp_supertypesA | Find parent classes, implemented interfaces, extended interfaces, parent traits, or supertypes. Maps to typeHierarchy/supertypes. |
| lsp_subtypesB | Find subclasses, implementers, child interfaces, or subtypes. Maps to typeHierarchy/subtypes. |
| lsp_analyze_change_impactA | Analyze the likely impact of changing a symbol using LSP-only semantic data. Composes hover, definition, type definition, implementation, references, call hierarchy, and diagnostics. Does NOT call AST tools. |
| lsp_fix_diagnostic_candidatesB | Return LSP-based fix candidates for a diagnostic. Composes code actions, hover, definition, and signature help. Does NOT use AST context. |
| lsp_explain_diagnosticsA | Explain diagnostics using LSP-only information. Groups diagnostics by root cause and proposes fix order. Does NOT use AST extraction. |
| lsp_get_configA | Return the effective runtime configuration merged from defaults, environment variables, and runtime overrides. |
| lsp_update_runtime_configA | Update runtime configuration in memory. Immutable keys (workspacePath, server commands) are rejected. Changes are lost on restart. |
| lsp_server_statusB | Return runtime status for all configured language servers. Does not start any server. |
| lsp_restart_serverA | Restart a language server. Clears stale diagnostics and optionally reopens tracked documents. |
| lsp_shutdown_serverA | Gracefully shut down a language server. Subsequent code-intelligence calls restart lazily. |
| lsp_list_supported_languagesA | Return configured languages with extensions, commands, and binary availability. Does not start language servers. |
| lsp_get_capabilitiesC | Return normalized LSP capabilities for a language server. Optionally initializes the server. |
| lsp_open_documentA | Open a document in the LSP server (textDocument/didOpen). Tracks the document for lifecycle management. |
| lsp_close_documentB | Close a document in the LSP server (textDocument/didClose) and remove it from tracking. |
| lsp_sync_documentA | Sync document content changes to the LSP server (textDocument/didChange). Auto-opens if not already tracked. |
| lsp_save_documentA | Notify the LSP server that a document was saved (textDocument/didSave). Does NOT write to disk. |
| lsp_list_open_documentsA | Return all documents currently tracked as open in the LSP servers, optionally filtered by language. |
| lsp_request_logA | Return LSP request log entries with optional filtering by language, method, status, and time. |
| lsp_clear_request_logA | Clear request log entries. Omit all filters to clear everything. |
| lsp_cache_statusA | Return entry counts for all registered caches. |
| lsp_clear_cachesA | Clear specified caches by name. Omit caches to clear all. |
| lsp_readinessB | Check if the MCP LSP server is ready to handle agent work. Optionally initializes language servers. |
| lsp_livenessA | Fast liveness check. Does not start any language servers. Returns uptime and optional memory stats. |
| lsp_raw_requestA | Send a raw LSP request to a language server. Disabled by default — enable via LSP_RAW_REQUEST_ENABLED env var or update_runtime_config. Dangerous methods are always blocked. |
| lsp_list_workspacesA | Return the list of known workspaces. Currently single-workspace (foundation for future multi-root). |
| lsp_workspace_statusC | Return status for a specific workspace including its language servers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/beruang/lsp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server