使用说明内容(Markdown格式)
- 项目简介
- vibing.nvim 的 MCP 服务端是一个 Node.js 实现,承担对外暴露工具、接收 JSON-RPC 请求并执行 Neovim 相关操作的后端组件。它通过 MCP 标准的接口与 MCP 客户端通信,提供工具查询与调用能力,并通过一个简单的 stdio 传输通道暴露服务。
- 主要功能点
- 暴露工具集:将 Neovim 的各类工具(光标、缓冲区、窗口、LSP、执行命令等)注册为 MCP 工具,供客户端查询与调用。
- 处理工具调用:根据客户端请求,查找相应的本地处理器(handlers),执行 Neovim RPC,并将结果以结构化的文本内容返回给客户端。
- Neovim RPC 桥接:通过一个基于 TCP/stdio 的 RPC 通道与 Neovim 进程通信,支持发送命令、获取状态、读取或设置缓冲区等操作。
- 标准化的返回格式:所有响应统一以 JSON-RPC 风格封装,内容以 content 字段的文本块呈现,便于在 LLM 的 UI 中显示。
- 服务端清理与优雅退出:接收到中断信号时,关闭 RPC 连接并关闭 MCP 服务。
- 安装步骤
- 先决条件:需要一个 Neovim 实例可通过 RPC 访问,以及 Node.js 环境。
- 获取代码并安装依赖:将仓库中的 mcp-server 目录作为 MCP 服务端运行入口。
- 构建与运行(示例步骤,不给出具体命令代码块;请按项目实际结构执行):
- 在包管理工具支持下安装依赖。
- 运行入口脚本(mcp-server 的启动文件)以启动 MCP 服务器。
- 确保 Neovim 的 RPC 端口与环境变量(VIBING_RPC_PORT)配置一致,且服务器可通过该端口连接 Neovim。
- 服务器配置(MCP 客户端需要的最小信息)
- 该配置用于 MCP 客户端在启动时连接到服务器,格式为 JSON: { "server": "vibing-nvim", "command": "node", "args": ["/path/to/vibing.nvim/mcp-server/dist/index.js"], "env": { "VIBING_RPC_PORT": "9876" } } 说明:
- server:服务器名称,应与实现中注册的 MCP 服务器名称保持一致(vibing-nvim)。
- command/args:启动服务器的命令与参数。此处示例使用 Node.js 直接执行打包产物的入口脚本,请根据实际部署路径调整。
- env.VIBING_RPC_PORT:Neovim RPC 服务端口,默认 9876,可配置为其他端口,前提是 Neovim 进程端口与服务器连接设置一致。
- 备注:MCP 客户端不需要此信息,但需由运行环境提供给客户端以建立连接。
- 基本使用方法
- 启动后,客户端可以通过 MCP 的标准接口查询可用工具、调用工具以对 Neovim 进行操作。
- 常见工作流:
- 查询工具列表,了解哪些 Neovim 功能可以通过 MCP 调用。
- 使用工具调用接口执行指定操作(如获取光标、读取缓冲区、执行命令等),并接收返回的文本内容用于后续处理或显示。
- 按需实现额外的上下文管理、权限控制等策略,确保对 Neovim 的访问符合安全要求。
- 备注
- 该实现主要强调工具暴露与 Neovim RPC 桥接的 MCP 服务端能力,若需扩展资源、Prompts、或更丰富的上下文管理,后续可在现有服务端基础上增加相应的 MCP 接口实现。
信息
分类
AI与计算