mcpField
N
Neovim MCP Server

Neovim MCP Server

本地服务
github.com/brianhuster开发工具635 周前更新

关于 Neovim MCP Server

Neovim MCP Server 将 Neovim 的 LSP 能力提供给 AI 语言模型,用于代码符号级操作。它还支持在 Neovim 中执行 Lua 和 Vimscript。

主要功能

  1. 01查看文件符号概览
  2. 02查找符号及引用
  3. 03替换或插入符号内容
  4. 04重命名代码符号
  5. 05管理 LSP 客户端与服务
  6. 06执行 Lua 和 Vimscript

适用场景

  1. 01浏览文件中的类与方法
  2. 02查找符号的所有引用
  3. 03重命名代码库中的符号
  4. 04在 Neovim 中运行脚本

MCP 相关

它作为 MCP 服务向客户端提供基于 LSP 的符号查询与编辑工具,以及 Neovim 脚本执行能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai Security Assessment Badge

Neovim MCP 服务

一个用于 Neovim、提供基于 LSP 的符号工具的 Model Context Protocol(MCP)服务。此服务使 AI 大模型能够通过 Neovim 的语言服务器协议(LSP)执行符号级代码操作。

功能

符号工具(基于 LSP)
  • get_symbols_overview(relative_path, depth) - 获取文件中顶层符号的概览。使用 depth 可包含子级符号(例如,类的方法)。
  • find_symbol(name_path_pattern, relative_path, depth) - 按名称路径模式查找符号(例如,"MyClass/my_method")。
  • find_referencing_symbols(name_path, relative_path) - 查找对某个符号的所有引用。
  • replace_symbol_body(name_path, relative_path, body) - 替换符号定义的主体。
  • insert_after_symbol(name_path, relative_path, body) - 在符号定义后插入内容。
  • insert_before_symbol(name_path, relative_path, body) - 在符号定义前插入内容。
  • rename_symbol(name_path, relative_path, new_name) - 在整个代码库中重命名符号。
  • restart_language_server() - 重启 LSP 服务(适用于 LSP 无响应时)。
  • get_lsp_client_info() - 获取有关活动 LSP 客户端的信息。
通用工具
  • execute_lua(code) - 在 Neovim 中执行 Lua 代码
  • execute_vimscript(code) - 在 Neovim 中执行 Vimscript 代码

安装

先决条件
  • Python 3.11+
  • uv 包管理器
  • 内置 LSP 客户端的 Neovim 0.9+
从源码安装
git clone https://github.com/brianhuster/nvim-mcp-server.git
cd nvim-mcp-server
uv sync
添加到 Neovim 配置

将插件目录添加到 Neovim 运行时路径中:

-- In your init.lua or plugins.lua
vim.opt.runtimepath:append("/path/to/nvim-mcp-server/plugin")

使用方法

启动带 MCP 服务的 Neovim
  1. 使用套接字启动 Neovim:

    nvim --listen /tmp/nvim.sock
    
  2. 设置 NVIM 环境变量并运行 MCP 服务:

    export NVIM=/tmp/nvim.sock
    uv run nvim-mcp
    
配置 Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "nvim": {
      "command": "uv",
      "args": ["run", "nvim-mcp"],
      "env": {
        "NVIM": "/tmp/nvim.sock"
      }
    }
  }
}
与 Goose 搭配使用
extensions:
  nvim-mcp:
    cmd: uv
    args: ["run", "nvim-mcp"]
    env:
      NVIM: "/tmp/nvim.sock"
    type: stdio

开发

命令
  • uv run nvim-mcp - 启动 MCP 服务
  • uv run nvim-mcp --version - 显示版本
  • uv run ruff check - 运行代码检查
  • uv run mypy - 运行类型检查

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。