drio
Open app

Neovim MCP Server

Source

Control Neovim using Model Context Protocol (MCP) and the official neovim/node-client JavaScript library

Catalog onlyCatalog onlySTDIO

Overview

Neovim MCP Server is a proof of concept integration that allows users to control Neovim using the Model Context Protocol (MCP) and the official neovim/node-client JavaScript library. It creates a lightweight code assistance layer leveraging Vim's native text editing commands.

To use the Neovim MCP Server, you need to expose your Neovim instance with the --listen /tmp/nvim option when starting Neovim. Then, configure your claude_desktop_config.json to include the MCP server command.

  • Connects to your Neovim instance for real-time interaction. - Views the current buffer and gets cursor location, mode, and file name. - Runs Vim commands and makes edits using insert or replacement modes. - Provides various API resources for managing Neovim sessions and buffers.
  1. Assisting in code editing and navigation within Neovim.
  2. Automating repetitive tasks in the Neovim environment.
  3. Enhancing coding efficiency with real-time code assistance.

Add to your AI client

Use these steps to connect Neovim MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "mcp-neovim-server-bigcodegen": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "mcp-neovim-server-bigcodegen": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "mcp-neovim-server-bigcodegen": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "mcp-neovim-server-bigcodegen": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "mcp-neovim-server-bigcodegen": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "mcp-neovim-server-bigcodegen": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-neovim-server-bigcodegen"
      ]
    }
  }
}

FAQ

Is this server stable for production use?

No, this is a quick proof of concept and may not interact well with custom Neovim configurations.

What are the limitations?

Error handling could be better, and sometimes commands may not be interpreted correctly by Claude.

Is there a license for this project?

Yes, it is licensed under the MIT License, allowing free use, modification, and distribution.