neovim-use-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVIM_MCP_BIN | No | Path to the nvim binary. Default is 'nvim'. | nvim |
| NVIM_MCP_CWD | No | Project root for the language server. Default is the process cwd. | |
| NVIM_MCP_MODE | No | Mode for the Neovim instance: 'embedded' spawns its own nvim, 'attach' connects to a socket. Default is 'embedded'. | embedded |
| NVIM_MCP_DEBUG | No | Set to '1' or 'true' to enable debug output on stderr. Default is off. | off |
| NVIM_MCP_SOCKET | No | Socket path for attach mode (used when NVIM_MCP_MODE=attach or --socket is passed). | |
| NVIM_MCP_MAX_LINES | No | Line cap for file reads. Default is '2000'. | 2000 |
| NVIM_MCP_ALLOW_EXEC | No | Set to '0' to disable nvim_exec_lua and nvim_command tools. Default is enabled. | 1 |
| NVIM_MCP_CONFIG_MODE | No | Config mode for Neovim: 'user' loads your config, 'minimal' runs `nvim --clean`. Default is 'user'. | user |
| NVIM_MCP_LSP_WAIT_MS | No | Default LSP wait time in milliseconds. Default is '3000'. | 3000 |
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 |
|---|---|
| nvim_open_fileA | Open one or more files in Neovim buffers and start their LSP clients. Pass a single path or an array of paths. Returns the buffer id, filetype, line count and attached LSP clients for each file. Call this before LSP tools. |
| nvim_read_fileA | Read a file through Neovim with line numbers. Opens the file if needed. Use start_line and end_line to read a slice of a large file. |
| nvim_edit_linesA | This is the default way to edit files. Use the provided line numbers to directly replace lines start_line..end_line (1-based, inclusive) with new text. Saves the buffer by default without running format-on-save autocmds, so the diff is minimal. Returns fresh LSP diagnostics for the file.Use nvim_format to format after editing once editing and fixes on that are done. |
| nvim_edit_textA | Replace an exact string in a file. Fails if the string is missing, or if it appears more than once and replace_all is false. Saves without running format-on-save autocmds by default. It is recommended to avoid using this tool for multi-line edits. |
| nvim_insert_linesA | Insert text before the given line, 1-based. Use a line beyond the end to append. Saves without running format-on-save autocmds by default. |
| nvim_save_bufferA | Write a buffer to disk without running format-on-save autocmds. Use this after edits made with save set to false. |
| nvim_list_buffersA | List every loaded buffer with its path, filetype and modified state. |
| nvim_diagnosticsA | Get LSP errors and warnings for one file, or for every open buffer when path is omitted. Use this to check work after an edit. |
| nvim_goto_definitionA | Find where the symbol at a position is defined, through the LSP. |
| nvim_referencesA | Find every reference to the symbol at a position, through the LSP. Use this before a rename or a signature change. |
| nvim_hoverA | Get type and documentation information for the symbol at a position, the same text the editor shows on hover. |
| nvim_rename_symbolA | Rename a symbol across the whole workspace with the LSP, then save every changed file. Safer than a text search and replace. |
| nvim_code_actionsA | List LSP code actions at a position. Pass apply_index to apply one and save the file. Use this to apply quick fixes for diagnostics. |
| nvim_formatA | Format a whole file or a line range with the formatter Neovim is configured to use, then save it. |
| nvim_document_symbolsA | List the symbol outline of a file: classes, functions and fields with their line numbers. Cheaper than reading the whole file. |
| nvim_workspace_symbolsA | Search symbols across the whole project through the LSP. Use this to find a definition by name without knowing the file. |
| nvim_exec_luaA | Run a Lua chunk inside Neovim and return its value. The chunk receives its arguments through |
| nvim_commandA | Run a Neovim Ex command, for example 'Telescope find_files' or 'Git blame', and return its output. Use this to drive installed plugins. |
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/santanusinha/neovim-use-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server