基本能力
产品定位
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
)
安装教程
-
通过 npm 安装:
bash
npm install -g mcp-neovim-server -
配置 Claude Desktop 的
claude_desktop_config.json
文件:
json
{
"mcpServers": {
"MCP Neovim Server": {
"command": "npx",
"args": [
"-y",
"mcp-neovim-server"
],
"env": {
"ALLOW_SHELL_COMMANDS": "true",
"NVIM_SOCKET_PATH": "/tmp/nvim"
}
}
}
}
调试方式
- 确保 Neovim 正在运行并暴露了正确的 socket 文件
- 检查环境变量设置是否正确(
ALLOW_SHELL_COMMANDS
和NVIM_SOCKET_PATH
) - 可以通过运行以下命令测试连接:
bash
npx mcp-neovim-server