mcp-neovim-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVIM_SOCKET_PATH | No | Set to the path of your Neovim socket. Defaults to '/tmp/nvim' if not specified. | /tmp/nvim |
| ALLOW_SHELL_COMMANDS | No | Set to 'true' to enable shell command execution (e.g. `!ls`). Defaults to false for security. | false |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vim_bufferC | Get buffer contents with line numbers |
| vim_commandC | Execute Vim commands with optional shell command support |
| vim_statusA | Get comprehensive Neovim status including cursor position, mode, marks, and registers |
| vim_editC | Edit buffer content using insert, replace, or replaceAll modes |
| vim_windowB | Manage Neovim windows: split, close, and navigate between windows |
| vim_markB | Set named marks at specific positions in the buffer |
| vim_registerC | Manage Neovim register contents |
| vim_visualC | Create visual mode selections in the buffer |
| vim_buffer_switchC | Switch between buffers by name or number |
| vim_buffer_saveC | Save current buffer or save to specific filename |
| vim_file_openC | Open files into new buffers |
| vim_searchC | Search within current buffer with regex support and options |
| vim_search_replaceC | Find and replace with global, case-insensitive, and confirm options |
| vim_grepC | Project-wide search using vimgrep with quickfix list |
| vim_healthB | Check Neovim connection health |
| vim_macroC | Record, stop, and play Neovim macros |
| vim_tabC | Manage Neovim tabs: create, close, and navigate between tabs |
| vim_foldC | Manage code folding: create, open, close, and toggle folds |
| vim_jumpC | Navigate Neovim jump list: go back, forward, or list jumps |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| neovim_workflow | Get help with common Neovim workflows and editing tasks |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Current neovim session | Current neovim text editor session |
| Open Neovim buffers | List of all open buffers in the current Neovim session |
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose targeting specific Neovim operations like buffer management, editing, navigation, and system control. There is no overlap or ambiguity; for example, vim_search handles searching within a buffer while vim_grep handles project-wide searches, and vim_buffer_switch is distinct from vim_tab or vim_window for navigation.
All tools follow a consistent 'vim_' prefix with descriptive snake_case names that clearly indicate their function, such as vim_buffer_save, vim_command, and vim_search_replace. This uniform pattern makes the tool set predictable and easy to understand, with no deviations in style or structure.
With 19 tools, the count is slightly high but reasonable for covering the broad scope of Neovim operations, including editing, navigation, file management, and system health. It avoids being excessive by focusing on core functionalities without redundant tools, though it might feel heavy compared to simpler servers.
The tool set provides comprehensive coverage of Neovim's core features, including CRUD-like operations for buffers, files, and content, as well as navigation, search, macros, marks, and system status. There are no obvious gaps; it supports full lifecycle management from opening files to editing, saving, and navigating, ensuring agents can handle typical workflows without dead ends.