jonrad/lsp-mcp
lsp-mcp is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of lsp-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
LSP MCP is a Model Context Protocol server that provides LLMs/AI Agents with the capabilities of a language server protocol server, enabling language-aware context from the codebase.
Try lsp-mcp with chat:
Tools
Functions exposed to the LLM to take actions
lsp_info
Returns information about the the LSP tools available. This is useful for debugging which programming languages are supported.
file_contents_to_uri
Creates a URI given some file contents to be used in the LSP methods that require a URI. This is only required if the file is not on the filesystem. Otherwise you may pass the file path directly.
codeLens_resolve
method: codeLens/resolve A request to resolve a command for a given code lens.
completionItem_resolve
method: completionItem/resolve Request to resolve additional information for a given completion item.The request's parameter is of type {@link CompletionItem} the response is of type {@link CompletionItem} or a Thenable that resolves to such.
documentLink_resolve
method: documentLink/resolve Request to resolve additional information for a given document link. The request's parameter is of type {@link DocumentLink} the response is of type {@link DocumentLink} or a Thenable that resolves to such.
textDocument_codeAction
method: textDocument/codeAction A request to provide commands for the given text document and range.
textDocument_codeLens
method: textDocument/codeLens A request to provide code lens for the given text document.
textDocument_colorPresentation
method: textDocument/colorPresentation A request to list all presentation for a color. The request's parameter is of type {@link ColorPresentationParams} the response is of type {@link ColorInformation ColorInformation[]} or a Thenable that resolves to such.
textDocument_completion
method: textDocument/completion Request to request completion at a given text document position. The request's parameter is of type {@link TextDocumentPosition} the response is of type {@link CompletionItem CompletionItem[]} or {@link CompletionList} or a Thenable that resolves to such.
The request can delay the computation of the {@link CompletionItem.detail detail
}
and {@link CompletionItem.documentation documentation
} properties to the completionItem/resolve
request. However, properties that are needed for the initial sorting and filtering, like sortText
,
filterText
, insertText
, and textEdit
, must not be changed during resolve.
textDocument_declaration
method: textDocument/declaration A request to resolve the type definition locations of a symbol at a given text document position. The request's parameter is of type {@link TextDocumentPositionParams} the response is of type {@link Declaration} or a typed array of {@link DeclarationLink} or a Thenable that resolves to such.
textDocument_definition
method: textDocument/definition A request to resolve the definition location of a symbol at a given text document position. The request's parameter is of type {@link TextDocumentPosition} the response is of either type {@link Definition} or a typed array of {@link DefinitionLink} or a Thenable that resolves to such.
textDocument_documentColor
method: textDocument/documentColor A request to list all color symbols found in a given text document. The request's parameter is of type {@link DocumentColorParams} the response is of type {@link ColorInformation ColorInformation[]} or a Thenable that resolves to such.
textDocument_documentHighlight
method: textDocument/documentHighlight Request to resolve a {@link DocumentHighlight} for a given text document position. The request's parameter is of type {@link TextDocumentPosition} the request response is an array of type {@link DocumentHighlight} or a Thenable that resolves to such.
textDocument_documentLink
method: textDocument/documentLink A request to provide document links
textDocument_documentSymbol
method: textDocument/documentSymbol A request to list all symbols found in a given text document. The request's parameter is of type {@link TextDocumentIdentifier} the response is of type {@link SymbolInformation SymbolInformation[]} or a Thenable that resolves to such.
textDocument_foldingRange
method: textDocument/foldingRange A request to provide folding ranges in a document. The request's parameter is of type {@link FoldingRangeParams}, the response is of type {@link FoldingRangeList} or a Thenable that resolves to such.
textDocument_formatting
method: textDocument/formatting A request to format a whole document.
textDocument_hover
method: textDocument/hover Request to request hover information at a given text document position. The request's parameter is of type {@link TextDocumentPosition} the response is of type {@link Hover} or a Thenable that resolves to such.
textDocument_implementation
method: textDocument/implementation A request to resolve the implementation locations of a symbol at a given text document position. The request's parameter is of type {@link TextDocumentPositionParams} the response is of type {@link Definition} or a Thenable that resolves to such.
textDocument_onTypeFormatting
method: textDocument/onTypeFormatting A request to format a document on type.
textDocument_prepareRename
method: textDocument/prepareRename A request to test and perform the setup necessary for a rename.
@since 3.16 - support for default behavior
textDocument_rangeFormatting
method: textDocument/rangeFormatting A request to format a range in a document.
textDocument_references
method: textDocument/references A request to resolve project-wide references for the symbol denoted by the given text document position. The request's parameter is of type {@link ReferenceParams} the response is of type {@link Location Location[]} or a Thenable that resolves to such.
textDocument_rename
method: textDocument/rename A request to rename a symbol.
textDocument_signatureHelp
method: textDocument/signatureHelp
textDocument_typeDefinition
method: textDocument/typeDefinition A request to resolve the type definition locations of a symbol at a given text document position. The request's parameter is of type {@link TextDocumentPositionParams} the response is of type {@link Definition} or a Thenable that resolves to such.
textDocument_willSaveWaitUntil
method: textDocument/willSaveWaitUntil A document will save request is sent from the client to the server before the document is actually saved. The request can return an array of TextEdits which will be applied to the text document before it is saved. Please note that clients might drop results if computing the text edits took too long or if a server constantly fails on this request. This is done to keep the save fast and reliable.
window_showMessageRequest
method: window/showMessageRequest The show message request is sent from the server to the client to show a message and a set of options actions to the user.
workspace_applyEdit
method: workspace/applyEdit A request sent from the server to the client to modified certain resources.
workspace_configuration
method: workspace/configuration The 'workspace/configuration' request is sent from the server to the client to fetch a certain configuration setting.
This pull model replaces the old push model were the client signaled configuration change via an
event. If the server still needs to react to configuration changes (since the server caches the
result of workspace/configuration
requests) the server should register for an empty configuration
change event and empty the cache if such an event is received.
workspace_executeCommand
method: workspace/executeCommand A request send from the client to the server to execute a command. The request might return a workspace edit which the client will apply to the workspace.
workspace_symbol
method: workspace/symbol A request to list project-wide symbols matching the query string given by the {@link WorkspaceSymbolParams}. The response is of type {@link SymbolInformation SymbolInformation[]} or a Thenable that resolves to such.
@since 3.17.0 - support for WorkspaceSymbol in the returned data. Clients
need to advertise support for WorkspaceSymbols via the client capability
workspace.symbol.resolveSupport
.
workspace_workspaceFolders
method: workspace/workspaceFolders
The workspace/workspaceFolders
is sent from the server to the client to fetch the open workspace folders.
Prompts
Interactive templates invoked by user choice
No prompts
Resources
Contextual data attached and managed by the client