关于 mcpserver.nvim
mcpserver.nvim 是 Neovim 插件,允许外部 MCP 客户端通过 Unix 套接字访问当前缓冲区。它还提供独立的 stdio 服务,将请求转发到运行中的 Neovim 实例。
主要功能
- 01读取当前缓冲区内容
- 02通过 Unix 套接字通信
- 03运行独立的 stdio 服务
- 04自动检测 Neovim 服务套接字
- 05使用命令启停服务
适用场景
- 01向 MCP 客户端提供缓冲区文本
- 02将 stdio 客户端连接到运行中的 Neovim 实例
- 03为多个 Neovim 实例运行 MCP 服务
MCP 相关
它向 MCP 客户端提供 `get_buffer_content` 工具,返回当前缓冲区的文件名、文本和行数。客户端可通过 Unix 套接字或独立的 stdio 服务连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcpserver.nvim
一个实现 MCP(Model Context Protocol)服务的 Neovim 插件,允许外部 MCP 客户端通过 Unix 套接字与 Neovim 交互。
功能
- get_buffer_content:获取当前缓冲区的内容
安装
使用 lazy.nvim:
{
dir = "/path/to/mcpserver.nvim", -- Use your local path
-- Server starts automatically on VimEnter
}
使用方法
Neovim 插件
手动控制
启动 MCP 服务:
:MCPServerStart
停止 MCP 服务:
:MCPServerStop
获取套接字路径
local mcpserver = require('mcpserver')
local socket_path = mcpserver.get_socket_path()
print(socket_path) -- e.g., "/tmp/nvim-mcp-server-12345.sock"
套接字位置
服务会在 /tmp/nvim-mcp-server-<PID>.sock 创建一个唯一的 Unix 套接字,其中 <PID> 是 Neovim 进程 ID。这样可以同时运行多个 Neovim 实例的 MCP 服务。
独立 MCP 服务
供通过 stdio 通信的外部 MCP 客户端使用:
# Auto-detect running Neovim instance
lua standalone.lua
# Specify Neovim socket path
lua standalone.lua /tmp/nvim-mcp-server-12345.sock
独立服务:
- 通过 stdio 通信(基于 stdin/stdout 的 JSON-RPC)
- 自动检测正在运行的 Neovim MCP 服务套接字
- 将请求转发到 Neovim 实例
- 可与任何支持 stdio 传输的 MCP 客户端配合使用
可用工具
get_buffer_content
返回包含以下内容的 JSON:
filename:当前缓冲区文件的路径content:缓冲区的完整文本内容line_count:缓冲区的行数
MCP 客户端用法
直接套接字连接
连接到 /tmp/nvim-mcp-server-<PID>.sock 处的 Unix 套接字,并使用标准 MCP 协议:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_buffer_content",
"arguments": {}
}
}
Stdio 连接
使用独立服务连接基于 stdio 的 MCP 客户端:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_buffer_content","arguments":{}}}' | lua standalone.lua
开发
插件结构:
lua/mcpserver/init.lua:MCP 服务核心实现lua/mcpserver/tools.lua:工具实现plugin/mcpserver.lua:插件设置和命令standalone.lua:用于 stdio 通信的独立 MCP 服务
要求
- 支持 Lua 的 Neovim
- 独立模式需要:用于 Unix 套接字通信的
netcat(nc)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。