mcp-neovim-server

mcp-neovim-server

利用 Vim 原生的文本编辑命令和工作流程(Claude 已经理解),来创建一个轻量级的代码辅助层。

AI集成系统
访问服务器

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

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
MySQL MCP Server

MySQL MCP Server

允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。

精选
browser-use MCP server

browser-use MCP server

一个由人工智能驱动的浏览器自动化服务器,它实现了模型上下文协议,从而能够使用自然语言控制网页浏览器,以执行诸如导航、表单填写和视觉交互等任务。

精选
mcp-codex-keeper

mcp-codex-keeper

作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。

精选