Skip to main content
Glama

Neovim MCP 服务器

这是 Claude Desktop(或任何客户端)与 Neovim 之间使用模型上下文协议 (MCP) 和官方 neovim/node-client JavaScript 库进行概念验证集成的成果。该服务器利用 Vim 原生的文本编辑命令和工作流程(Claude 已理解这些命令和工作流程),创建轻量级代码或通用的 AI 文本辅助层。

特征

  • 如果您在启动 nvim 时公开套接字文件(例如--listen /tmp/nvim ),则连接到您的 nvim 实例

  • 查看当前缓冲区

  • 获取光标位置、模式、文件名

  • 通过 vim 运行 vim 命令和可选的 shell 命令

  • 可以使用插入或替换进行编辑

Related MCP server: MCP Code Analyzer

API

资源

  • nvim://session :当前 neovim 文本编辑器会话

  • nvim://buffers :当前 Neovim 会话中所有打开的缓冲区的列表,其中包含修改状态、语法和窗口 ID 等元数据

工具

  • vim_buffer

    • 显示当前 VIM 文本编辑器缓冲区的行号

    • 输入filename (字符串)

    • 忽略文件名,返回包含当前活动缓冲区内容的编号行字符串

  • vim命令

    • 向 VIM 发送命令以进行导航、点编辑和行删除

    • 输入command (字符串)

    • 运行首先通过nvim.replaceTermcodes传递的 vim 命令。多个命令之间用换行符分隔即可运行。

    • 发生错误时,返回'nvim:errmsg'内容

  • vim_status

    • 获取 VIM 编辑器的状态

    • 状态包含光标位置、模式、文件名、视觉选择、窗口布局、当前选项卡、标记、寄存器和工作目录

  • vim_edit

    • 在 VIM 编辑器中使用 insert、replace 或 replaceAll 编辑行

    • 输入startLine (数字), mode"insert" | "replace" | "replaceAll" ), lines (字符串)

    • 插入将在 startLine 处插入行

    • replace 将替换从 startLine 开始的行

    • replaceAll 将替换整个缓冲区内容

  • vim_window

    • 操作 Neovim 窗口(拆分、vsplit、关闭、导航)

    • 输入command (字符串:“split”、“vsplit”、“only”、“close”、“wincmd h/j/k/l”)

    • 允许窗口管理操作

  • vim_mark

    • 在特定位置设置标记

    • 输入mark (字符串:az)、 line (数字)、 column (数字)

    • 在指定位置设置命名标记

  • vim_register

    • 设置寄存器的内容

    • 输入register (字符串:az或“), content (字符串)

    • 管理寄存器内容

  • vim_visual

    • 进行视觉选择

    • 输入startLine (数字)、 startColumn (数字)、 endLine (数字)、 endColumn (数字)

    • 创建视觉模式选择

使用这套简单的工具,Claude 可以窥视您的 neovim 会话来回答问题以及对缓冲区进行编辑。

限制

  • 这是对模型上下文协议进行快速概念验证的实验。使用风险自负。

  • 可能无法与自定义 neovim 配置很好地交互!

  • 错误处理可能会更好。

  • 有时 Claude 无法正确输入 vim 命令。

配置

环境变量

  • ALLOW_SHELL_COMMANDS :设置为 true 以允许执行 shell 命令(例如!ls )。出于安全考虑,默认为 false 。

  • NVIM_SOCKET_PATH :设置为 Neovim 套接字的路径。如果未指定,则默认为 '/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 文件。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bigcodegen/mcp-neovim-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server