Neovim MCP Server
@bigcodegen
Control Neovim using Model Context Protocol (MCP) and the official neovim/node-client JavaScript library
Overview
What is Neovim MCP Server?
Neovim MCP Server connects MCP clients like Claude Desktop to a running Neovim instance via a Unix socket. It uses Vim’s native text editing commands and the official neovim/node-client library to provide AI‑assisted code or general text editing. Designed for developers who want to pair an AI assistant directly with their Neovim session.
How to use Neovim MCP Server?
Start Neovim with a socket, e.g. nvim --listen /tmp/nvim. Then configure the MCP server in your MCP client (e.g. Claude Desktop) using the npx -y mcp-neovim-server command. Set the NVIM_SOCKET_PATH environment variable (default /tmp/nvim) and optionally ALLOW_SHELL_COMMANDS=true to enable shell commands via !. The server exposes 19 tools for editing, navigation, search, and window management.
Key features of Neovim MCP Server
- Connects to a running Neovim instance via a socket file
- Views and switches between open buffers
- Retrieves cursor position, mode, filename, marks, registers, and visual selections
- Runs arbitrary Vim commands and optional shell commands
- Edits text using insert, replace, or replaceAll modes
- Search and replace with regex support and project‑wide grep with quickfix integration
- Health monitoring and connection diagnostics
Use cases of Neovim MCP Server
- AI‑assisted code editing and refactoring within an existing Neovim session
- File navigation and buffer switching without leaving the MCP client
- Project‑wide search and replace with grep and regex
- Recording and playing back Vim macros via AI prompts
- Managing windows, tabs, folds, and jumps in Neovim remotely
FAQ from Neovim MCP Server
What are the limitations of Neovim MCP Server?
It may not interact well with complex Neovim configurations or plugins. Shell command execution is disabled by default for security. A socket connection is required—it won’t work with standard Vim.
How do I enable shell commands?
Set the environment variable ALLOW_SHELL_COMMANDS to 'true' in your MCP client configuration. Default is false.
What socket path does the server use?
By default it uses /tmp/nvim. Override this with the NVIM_SOCKET_PATH environment variable.
How do I install the server?
You can either download the DXT package from the releases page and drag it to Claude Desktop, or add the npx -y mcp-neovim-server command to your claude_desktop_config.json with the appropriate environment variables.
Does the server require any external runtime?
Yes, it runs via npx which requires Node.js. It uses the official neovim/node-client library to communicate with Neovim.