Neovim MCP Server

Neovim MCP Server

site icon
2025.04.01 113
TypeScript文本编辑代码辅助开发效率
mcp-neovim-server 是一个基于 Model Context Protocol (MCP) 的概念验证项目,旨在实现 Claude Desktop(或任何客户端)与 Neovim 的集成。它利用 Vim 的原生文本编辑命令和工作流程,为代码或通用 AI 文本辅助提供了一个轻量级的解决方案。
View on GitHub

Overview

基本能力

产品定位

mcp-neovim-server 是一个轻量级的代码或通用 AI 文本辅助工具,通过 MCP 协议与 Neovim 集成,提供文本编辑和代码辅助功能。

核心功能

  • 连接到 Neovim 实例(通过 socket 文件)
  • 查看当前缓冲区内容
  • 获取光标位置、模式、文件名等信息
  • 运行 Vim 命令和(可选)通过 Vim 执行 shell 命令
  • 使用插入或替换方式进行文本编辑
  • 管理 Neovim 窗口(分割、关闭、导航等)
  • 设置标记和寄存器内容
  • 创建视觉模式选择

适用场景

  • 代码编辑辅助
  • 文本处理自动化
  • 开发效率提升

工具列表

  • vim_buffer: 显示当前 VIM 文本编辑器缓冲区内容(带行号)
  • vim_command: 向 VIM 发送导航、点编辑和行删除命令
  • vim_status: 获取 VIM 编辑器状态(光标位置、模式、文件名等)
  • vim_edit: 使用插入、替换或全部替换方式编辑行
  • vim_window: 操作 Neovim 窗口(分割、关闭、导航等)
  • vim_mark: 在特定位置设置标记
  • vim_register: 设置寄存器内容
  • vim_visual: 创建视觉模式选择

常见问题解答

  • 这是一个概念验证项目,使用时需自行承担风险
  • 可能与自定义的 Neovim 配置不兼容
  • 错误处理有待改进
  • Claude 有时可能无法正确理解 Vim 命令输入

使用教程

使用依赖

  • 需要安装 Node.js 和 npm
  • 需要 Neovim 并暴露 socket 文件(例如启动时使用 --listen /tmp/nvim

安装教程

  1. 通过 npm 安装:
npm install -g mcp-neovim-server
  1. 配置 Claude Desktop 的 claude_desktop_config.json 文件:
{
  "mcpServers": {
    "MCP Neovim Server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-neovim-server"
      ],
      "env": {
        "ALLOW_SHELL_COMMANDS": "true",
        "NVIM_SOCKET_PATH": "/tmp/nvim"
      }
    }
  }
}

调试方式

  1. 确保 Neovim 正在运行并暴露了正确的 socket 文件
  2. 检查环境变量设置是否正确(ALLOW_SHELL_COMMANDSNVIM_SOCKET_PATH
  3. 可以通过运行以下命令测试连接:
npx mcp-neovim-server

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。