Token导航 LogoToken导航TokenDH.com
Vim MCP Server logo
开发工具未说明官方级别未说明来源级核验

Vim MCP Server

MCP Server

一个嵌入在Vim中的MCP(Model Context Protocol)服务器,允许MCP兼容客户端(如AI编码代理)通过HTTP与Vim交互,执行缓冲区操作、光标移动、快速修复列表管理等任务。

工具数

17

提示词数

0

GitHub Stars

0

资源数

0
Python开发工具HTTP服务器

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

breggles

提供方

breggles

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

vim-mcp服务器

嵌入Vim中的MCP(模型上下文协议)服务器。它暴露了工具 HTTP允许MCP兼容客户端(如AI编码代理)读取和 修改缓冲区、移动光标、检索视觉选择、管理快速修复 和位置列表,并排打开差异(包括计算的git差异 在Vim内部),读取消息历史记录,并运行Ex命令。

需求

  • Vim编译使用 +python3

安装

使用您喜欢的插件管理器。

vim插头

Plug 'breggles/vim-mcp-server'

Vundle

Plugin 'breggles/vim-mcp-server'

手册

将存储库克隆到Vim包目录中:

git clone https://github.com/breggles/vim-mcp-server.git \
    ~/.vim/pack/plugins/start/vim-mcp-server

用法

启动服务器

在Vim中,运行:

:McpServerStart

在Vim启动时自动启动服务器,方法是将此添加到您的 vimrc:

let g:mcp_server_autostart = 1

MCP客户端配置

将您的MCP客户端指向 http://127.0.0.1:8765/mcp (或您选择的任何港口) 选择)。

例如,对于opencode,将服务器添加到您的 opencode.jsonc:

"mcp": {
  "vim": {
    "type": "remote",
    "url": "http://localhost:8765/mcp",
    "enabled": true
  }
}

命令

命令描述
:McpServerStart [port]启动服务器(默认端口8765)
:McpServerStop停止服务器
:McpServerStatus打印服务器状态和URL

选项

变量默认值描述
g:mcp_server_port8765服务器监听的端口
g:mcp_server_autostart0自动启动服务器 VimEnter
g:mcp_server_allow_execute0启用 execute_command 工具
g:mcp_server_allow_save0启用 save_buffer 工具
g:mcp_server_allow_edit0启用 edit_buffer 工具

工具

服务器向MCP客户端公开以下工具:

工具说明
list_buffers列出所有打开的缓冲区
get_buffer读取缓冲区内容(可选行范围)
edit_buffer替换、插入或删除缓冲区中的行
open_file通过打开文件 :edit
save_buffer通过以下方式保存缓冲区 :write (选择加入,见上文)
close_buffer通过以下方式关闭缓冲区 :bdelete
get_cursor获取当前光标位置
set_cursor将光标移动到行和列
get_visual_selection获取当前视觉选择(如果有的话)
execute_command运行任意Ex命令(选择加入,见上文)
get_quickfix_list获取当前快速修复列表条目
set_quickfix_list设置快速修复列表
get_location_list获取当前窗口的位置列表
set_location_list设置当前窗口的位置列表
get_messages获取Vim的消息历史记录(:messages 输出)
show_diff在新选项卡(文件或内容)中打开并排差异视图
show_git_diff在新选项卡中打开并排的git diff;git在Vim中计算两边

当工具接受缓冲区参数时,可以用数字指定 (buffer_id)或按文件路径(buffer_path).当两者都被省略时 使用电流缓冲器。

show_git_diff

在git跟踪文件的新选项卡中打开并排的diff视图。MCP 客户端只发送文件路径和(可选)两个引用;git获取 Vim中双方的内容。更喜欢这个 show_diff 每当 比较git修订版、索引或工作树——它避免了 客户端必须预取并发送完整的文件内容。

参数:

参数类型必填默认备注
pathstringyes-文件的绝对路径。可以指重命名前或重命名后的名称。
ref_astring"HEAD"左侧修订。空字符串表示磁盘上的工作树。
ref_bstring""右侧修正。空字符串表示磁盘上的工作树。
stagedbooleanfalse便利性 HEAD vs指数。相互排斥,明确 ref_a / ref_b.

行为说明:

  • 回购根是从以下位置自动发现的 path;文件必须位于

git仓库。

  • 每个缓冲区的文件类型由Vim自己检测 :filetype detect,使用

文件的名称在相应的一侧,因此重命名的文件是正确的 每侧独立突出显示。需要Vim的文件类型插件 待启用(:filetype on,这是默认设置)。

  • 重命名检测(git diff -M)已启用,因此在

双方都进行了两次修订。

  • 如果一侧不包含文件(例如添加或删除的文件),则

缓冲区显示为空,其标签已标记 (missing).

  • 每次调用都会打开自己的新选项卡。多次调用以获得多个差异。

对于非git diffs(比较任意缓冲区、文件或生成的内容) 使用 show_diff 相反。

OpenCode计划模式

默认情况下,OpenCode的计划模式禁用所有MCP工具。允许只读 vim工具在计划模式下,将以下内容添加到您的 opencode.jsonc:

{
  "agent": {
    "plan": {
      "tools": {
        "vim_*": false,
        "vim_list_buffers": true,
        "vim_get_buffer": true,
        "vim_get_cursor": true,
        "vim_get_visual_selection": true,
        "vim_open_file": true,
        "vim_set_cursor": true,
        "vim_get_quickfix_list": true,
        "vim_set_quickfix_list": true,
        "vim_get_location_list": true,
        "vim_set_location_list": true,
        "vim_get_messages": true,
        "vim_show_diff": true,
        "vim_show_git_diff": true
      }
    }
  }
}

这将禁用所有 vim_* 首先使用工具,然后重新启用特定的工具。调整 该列表适合您的工作流程。

发展

要在不安装插件的情况下使用它,请克隆存储库并添加它 到Vim的运行时路径:

set rtp+=~/path/to/vim-mcp-server

将此添加到您的 vimrc 或者手动运行它。更改将在下次生效 Vim启动了。

使用以下内容生成帮助标签:

:helptags ~/path/to/vim-mcp-server/doc

许可证

麻省理工学院

目录标签

目录标签

Python开发工具HTTP服务器Vim插件本地部署代码辅助工具AI集成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

17

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP