mcp-neovim
Control Neovim using Model Context Protocol (MCP) and the official neovim/node-client JavaScript library
claude mcp add --transport stdio bigcodegen-mcp-neovim-server npx -y mcp-neovim-server \ --env NVIM_SOCKET_PATH="/tmp/nvim" \ --env ALLOW_SHELL_COMMANDS="true"
How to use
This MCP server exposes a Neovim-focused set of tools that let Claude Desktop or any MCP client interact with a running Neovim instance. It leverages the official neovim/node-client to inspect buffers, switch buffers, retrieve cursor position and mode, run vim commands, perform edits, and manage windows, marks, registers, and visual selections. With the 19 core tools, you can read and modify buffer contents, search and replace with regex, perform project-wide greps with quickfix integration, and automate common editing workflows via macros, tabs, folds, and more. Connect to Neovim by ensuring Neovim exposes a socket (for example via --listen /tmp/nvim) and point the MCP server at that session. The server provides a structured API so you can fetch session state, perform edits, and execute commands as if you were issuing standard Neovim commands, all mediated through MCP tool calls.
How to install
Prerequisites:\n- Node.js installed (for npx execution) or a runtime that can run npm/npx commands.\n- Neovim running with a Unix socket exposed (e.g., nvim --listen /tmp/nvim).\n- Claude Desktop or an MCP client to connect to the MCP server.\n\nInstall steps:\n1) Choose installation method. The recommended method is via the DXT package distribution. If you prefer manual setup, proceed with the MCP server package install using npm/npx.\n2) If using npm/npx: ensure you have access to npx and the internet to fetch the mcp-neovim-server package.\n3) Add the MCP server configuration to Claude Desktop (see the example in the README) or start the server via the MCP launcher.\n4) Export or set the required environment variables: ALLOW_SHELL_COMMANDS (true to enable shell execution via Vim) and NVIM_SOCKET_PATH (path to your Neovim socket, e.g., /tmp/nvim).\n5) Launch the MCP server and connect from Claude Desktop or your MCP client.
Additional notes
Environment variables to consider:\n- ALLOW_SHELL_COMMANDS: true enables shell commands prefixed with ! in vim_command when allowed. Use cautiously in secure environments.\n- NVIM_SOCKET_PATH: path to the Neovim socket. If not specified, the server defaults to /tmp/nvim.\nTip: Ensure your Neovim instance is started with a listen socket so the MCP server can attach. If you encounter connection errors, verify the socket file exists and that the Neovim server process has permission to access it. If shell commands are disabled by default, you can enable them per your security policy.\nCommon issues: mismatch between Neovim version and the node client, missing socket, or insufficient permissions on the socket path. Check the health and connection status via the vim_health tool once connected.
Related MCP Servers
mcp-framework
A framework for writing MCP (Model Context Protocol) servers in Typescript
recall
Persistent cross-session memory for Claude & AI agents. Self-host on Redis/Valkey, or use the managed SaaS at recallmcp.com.
ghost
A Model Context Protocol (MCP) server for interacting with Ghost CMS through LLM interfaces like Claude. Allow you to control your Ghost blog by simply asking Claude etc.
postman
An MCP server that provides access to Postman.
mcp-crypto-price
A Model Context Protocol (MCP) server that provides real-time cryptocurrency analysis via CoinCap's API. Enables Claude and other MCP clients to fetch crypto prices, analyze market trends, and track historical data.
mcp-gemini
This project provides a dedicated MCP (Model Context Protocol) server that wraps the @google/genai SDK. It exposes Google's Gemini model capabilities as standard MCP tools, allowing other LLMs (like Cline) or MCP-compatible systems to leverage Gemini's features as a backend workhorse.