neovim-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVIM_SOCKET_PATH | No | Path to the Neovim socket. Defaults to /tmp/nvim. | /tmp/nvim |
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 |
|---|---|
| vim_healthA | Check Neovim connection health |
| restart_lspA | Restart all running LSP clients. Use after making changes to files outside Neovim to refresh diagnostics and symbol data. |
| get_lspB | get all running LSP clients and all available ones |
| start_lspC | start a specific LSP server |
| get_document_symbolsA | Get LSP document symbols for a file (functions, classes, types with line numbers and nesting). Optionally filter by name. |
| get_ast_contextA | Get the treesitter scope chain at a position (shows enclosing functions, classes, blocks) |
| workspace_symbolsB | Search workspace symbols via LSP (functions, classes, types across the project) |
| get_diagnosticsB | Get LSP diagnostics (errors, warnings) for a file or the entire workspace |
| get_referencesB | Find all references to a symbol at a given position via LSP |
| goto_definitionB | Go to definition of a symbol at a given position via LSP |
| goto_implementationA | Find implementations of an interface or abstract method via LSP |
| hoverA | Get LSP hover information (type signature, documentation) for a symbol at a position |
| get_quickfixA | Get the current Neovim quickfix list contents |
| set_quickfixC | Set the Neovim quickfix list with a list of locations (e.g. feature touchpoints, search results, related code sites) |
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 14 tools
Each tool targets a distinct action: LSP diagnostics, symbols, references, definitions, implementations, hover info, and workspace symbols are all clearly separate. AST context, quickfix management, LSP client control, and health check are also unique, so no overlap.
Most tools follow a verb_noun pattern in snake_case (e.g., get_diagnostics, goto_definition). However, 'workspace_symbols' lacks a verb prefix unlike its counterpart 'get_document_symbols', and 'vim_health' could be more descriptive. Overall, the naming is mostly consistent.
14 tools is well-scoped for a Neovim MCP server covering LSP interactions, AST queries, quickfix operations, and server health. Each tool serves a clear purpose without unnecessary bloat or deficiency.
The toolset thoroughly covers code navigation and LSP features (symbols, references, definitions, diagnostics, hover). Missing features like code actions or formatting, but these are likely out of scope for a read-only assistant. Minor gap: no way to get buffer content or edit files.