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() |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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