lsp-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LSP_CONFIG_PATH | No | Path to configuration file | |
| LSP_MCP_LOG_LEVEL | No | Override log level (debug, info, warn, error) | info |
| LSP_WORKSPACE_ROOT | No | Override workspace root detection | |
| LSP_MCP_REQUEST_TIMEOUT | No | Override request timeout in milliseconds | 30000 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lsp_goto_definitionA | Navigate to the definition of a symbol at the given position. Returns file path, line, and column of the definition. |
| lsp_goto_type_definitionA | Navigate to the type definition of a symbol. Useful for finding the class/interface that defines a variable's type. |
| lsp_find_referencesA | Find all references to the symbol at the given position across the workspace. |
| lsp_find_implementationsB | Find all implementations of an interface or abstract method. |
| lsp_hoverA | Get hover information (type info, documentation) for the symbol at the given position. |
| lsp_signature_helpA | Get function/method signature information when inside a call expression. |
| lsp_document_symbolsB | Get all symbols (functions, classes, variables, etc.) defined in a document. |
| lsp_workspace_symbolsB | Search for symbols across the entire workspace by name. |
| lsp_diagnosticsA | Get cached diagnostics (errors, warnings) for a file. Diagnostics come from language server notifications. |
| lsp_completionsB | Get code completion suggestions at the given position. |
| lsp_renameA | Rename a symbol across the workspace. By default performs a dry run showing changes without applying them. |
| lsp_code_actionsA | Get available code actions (refactorings, quick fixes) at a position or range. Use for automated fixes, imports organization, and refactoring operations. |
| lsp_call_hierarchyA | Get the call hierarchy for a function/method - who calls this function (incoming) and what functions this calls (outgoing). Essential for understanding code flow and impact analysis before refactoring. |
| lsp_type_hierarchyA | Get the type hierarchy for a class/interface - supertypes (parents, interfaces) and subtypes (children, implementations). Use for understanding inheritance and planning refactoring that affects class hierarchies. |
| lsp_format_documentA | Format a document using the language server's formatting capabilities. Respects project-specific formatting settings. |
| lsp_smart_searchA | Comprehensive symbol search combining multiple LSP operations in one call. Get definition, references, implementations, type info, and call hierarchy for a symbol. More efficient than calling multiple individual tools. |
| lsp_server_statusA | Get status of running language servers. |
| lsp_start_serverA | Manually start a language server for a specific workspace. |
| lsp_stop_serverA | Stop a running language server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have clearly distinct purposes targeting specific LSP operations like definitions, references, or completions. However, lsp_smart_search overlaps with multiple individual tools (definition, references, implementations, type info, call hierarchy), which could cause confusion about when to use it versus the specialized tools. The descriptions help clarify, but the redundancy creates some ambiguity.
All tools follow a consistent 'lsp_' prefix with snake_case naming, using clear verbs like 'get', 'find', 'goto', 'rename', etc. The pattern is predictable throughout, making it easy to understand each tool's function at a glance without stylistic deviations.
With 19 tools, the count is on the higher side but reasonable for a comprehensive LSP server covering diagnostics, navigation, refactoring, and server management. It might feel slightly heavy, but each tool serves a distinct LSP feature, justifying its inclusion for a broad domain like language server protocol operations.
The tool set provides complete coverage for LSP interactions, including core operations (definition, references, completions, hover), advanced features (call/type hierarchy, implementations), refactoring (rename, code actions), diagnostics, formatting, and server management (start/stop/status). There are no obvious gaps, enabling agents to handle typical code analysis and editing workflows effectively.