mcp-neovim-server
利用 Vim 原生的文本编辑命令和工作流程(Claude 已经理解),来创建一个轻量级的代码辅助层。
Tools
vim_buffer
Current VIM text editor buffer with line numbers shown
vim_command
Send a command to VIM for navigation, spot editing, and line deletion. For shell commands like ls, use without the leading colon (e.g. '!ls' not ':!ls').
vim_status
Get the status of the VIM editor
vim_edit
Edit lines using insert or replace in the VIM editor.
vim_window
Manipulate Neovim windows (split, close, navigate)
vim_mark
Set a mark at a specific position
vim_register
Set content of a register
vim_visual
Make a visual selection
README
Neovim MCP 服务器
这是一个 Claude Desktop(或任何客户端)和 Neovim 之间使用模型上下文协议 (MCP) 和官方 neovim/node-client JavaScript 库进行集成的概念验证。该服务器利用 Vim 的原生文本编辑命令和工作流程(Claude 已经理解),来创建一个轻量级的代码或通用 AI 文本辅助层。
<a href="https://glama.ai/mcp/servers/s0fywdwp87"><img width="380" height="200" src="https://glama.ai/mcp/servers/s0fywdwp87/badge" alt="mcp-neovim-server MCP server" /></a>
特性
- 如果您在启动 nvim 时公开了一个 socket 文件,例如
--listen /tmp/nvim
,则连接到您的 nvim 实例 - 查看您当前的缓冲区
- 获取光标位置、模式、文件名
- 运行 vim 命令,并可以选择通过 vim 运行 shell 命令
- 可以使用插入或替换进行编辑
API
资源
nvim://session
: 当前 Neovim 文本编辑器会话nvim://buffers
: 当前 Neovim 会话中所有打开的缓冲区的列表,包含元数据,包括修改状态、语法和窗口 ID
工具
- vim_buffer
- 当前 VIM 文本编辑器缓冲区,显示行号
- 输入
filename
(字符串) - 忽略文件名,返回一个包含当前活动缓冲区内容的编号行的字符串
- vim_command
- 向 VIM 发送命令以进行导航、快速编辑和行删除
- 输入
command
(字符串) - 首先通过
nvim.replaceTermcodes
运行 vim 命令。 如果用换行符分隔,则可以使用多个命令 - 如果发生错误,则返回
'nvim:errmsg'
的内容
- vim_status
- 获取 VIM 编辑器的状态
- 状态包含光标位置、模式、文件名、可视选择、窗口布局、当前选项卡、标记、寄存器和工作目录
- vim_edit
- 使用插入、替换或 replaceAll 在 VIM 编辑器中编辑行
- 输入
startLine
(数字),mode
("insert"
|"replace"
|"replaceAll"
),lines
(字符串) - insert 将在 startLine 处插入行
- replace 将从 startLine 开始替换行
- replaceAll 将替换整个缓冲区内容
- vim_window
- 操作 Neovim 窗口(拆分、垂直拆分、关闭、导航)
- 输入
command
(字符串: "split", "vsplit", "only", "close", "wincmd h/j/k/l") - 允许窗口管理操作
- vim_mark
- 在特定位置设置标记
- 输入
mark
(字符串: a-z),line
(数字),column
(数字) - 在指定位置设置命名标记
- vim_register
- 设置寄存器的内容
- 输入
register
(字符串: a-z 或 "),content
(字符串) - 管理寄存器内容
- vim_visual
- 进行可视选择
- 输入
startLine
(数字),startColumn
(数字),endLine
(数字),endColumn
(数字) - 创建可视模式选择
使用这组简单的工具,Claude 可以查看您的 neovim 会话以回答问题,以及对缓冲区进行编辑。
局限性
- 这是一个快速的概念验证,用于试验模型上下文协议。 使用风险自负。
- 可能与自定义 neovim 配置交互不佳!
- 错误处理可以更好。
- 有时 Claude 无法正确获取 vim 命令输入。
配置
环境变量
ALLOW_SHELL_COMMANDS
: 设置为 'true' 以启用 shell 命令执行(例如!ls
)。 默认为 false 以确保安全。NVIM_SOCKET_PATH
: 设置为您的 Neovim socket 的路径。 如果未指定,则默认为 '/tmp/nvim'。
与 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"
}
}
}
}
许可证
此 MCP 服务器已获得 MIT 许可证的许可。 这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。 有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。
MCP Atlassian
适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
MySQL MCP Server
允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。
browser-use MCP server
一个由人工智能驱动的浏览器自动化服务器,它实现了模型上下文协议,从而能够使用自然语言控制网页浏览器,以执行诸如导航、表单填写和视觉交互等任务。
mcp-codex-keeper
作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。