使用说明
项目简介
Neovim MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接大型语言模型(LLM)客户端和 Neovim 文本编辑器。通过此服务器,LLM 可以访问 Neovim 的资源(如缓冲区内容)并调用工具(如执行 Vim 命令、编辑文本),从而实现代码辅助、文本编辑等功能。
主要功能点
- 资源访问:
- 'nvim://session': 获取当前 Neovim 会话的文本编辑器内容。
- 'nvim://buffers': 获取 Neovim 中所有打开的缓冲区列表及其元数据。
- 工具调用:
- 'vim_buffer': 获取当前 Neovim 缓冲区的内容,带有行号。
- 'vim_command': 向 Neovim 发送命令,用于导航、编辑等操作,支持 Vim 命令和 Shell 命令。
- 'vim_status': 获取 Neovim 编辑器的状态信息,包括光标位置、模式、文件名等。
- 'vim_edit': 在 Neovim 编辑器中插入或替换行。
- 'vim_window': 管理 Neovim 窗口,如分割、关闭、导航等。
- 'vim_mark': 在指定位置设置 Neovim 标记。
- 'vim_register': 设置 Neovim 寄存器的内容。
- 'vim_visual': 在 Neovim 中进行可视化选择。
安装步骤
- 前提条件: 确保已安装 Node.js 和 npm。同时需要安装并运行 Neovim,并确保 Neovim 实例监听在套接字上 (例如,启动 Neovim 时使用 '--listen /tmp/nvim')。
- 克隆仓库:
git clone https://github.com/bigcodegen/mcp-neovim-server.git - 进入项目目录:
cd mcp-neovim-server - 安装依赖:
npm install
服务器配置 (MCP 客户端配置)
以下 JSON 配置信息用于 MCP 客户端 (如 Claude Desktop) 连接到 Neovim MCP Server。您需要将这段配置添加到 MCP 客户端的配置文件中。
{ "mcpServers": { "Neovim MCP Server": { "command": "npx", "args": [ "-y", "mcp-neovim-server" // 运行 MCP 服务器的命令 ], "env": { "ALLOW_SHELL_COMMANDS": "true", // (可选) 设置为 'true' 以允许从 Vim 工具执行 Shell 命令 (如 '!ls'),默认为 false "NVIM_SOCKET_PATH": "/tmp/nvim" // (可选) Neovim 套接字文件路径,默认为 /tmp/nvim。如果 Neovim 监听在其他路径,请修改此项 } } } }
基本使用方法
- 启动 Neovim: 启动 Neovim 实例,并监听在指定的套接字上。例如,在终端中运行 'nvim --listen /tmp/nvim'。
- 配置 MCP 客户端: 将上述服务器配置添加到您的 MCP 客户端 (如 Claude Desktop) 的配置文件中。
- 连接和使用: MCP 客户端将自动连接到 Neovim MCP Server。之后,您可以通过客户端调用服务器提供的资源和工具,例如让 LLM 读取当前 Neovim 缓冲区的内容,或通过 'vim_command' 工具发送 Vim 命令来操作 Neovim 编辑器。
信息
分类
开发者工具