qf MCP

MCP开发工具

提供方 kis9a

开发工具 未标注 无需鉴权 社区 / 第三方 Claude DesktopClaude

qf-mcp是一个通过MCP协议连接AI助手与Neovim quickfix系统的工具,允许AI直接操作编辑器内的代码错误、搜索结果和自定义quickfix条目。

一句话选型结论

按资料字段整理

qf MCP 属于开发工具类 MCP 服务器,传输方式未标注,无需鉴权,可直接接入 Claude Desktop、Claude,没有现成安装命令,需按官方文档接入。接入前先确认权限范围;涉及写入、删除或付款的操作,建议先在测试环境验证。

分类开发工具 传输方式未标注 鉴权无需鉴权 部署方式未标注
GitHub 星标 1 仓库热度,无公开仓库时显示未标注
工具数 6 暴露给模型的工具数量
资源 / 提示词 0 / 0 资源与提示词模板数量
维护方 社区 / 第三方 核验等级 仅资料核对

工具与能力

开发工具
数量来自来源目录的标注,具体工具清单以官方文档为准
工具数量6暴露给模型可调用的工具个数
资源数量0可读取的资源条目
提示词数量0内置提示词模板数量

能力标签

支持客户端

适用场景

Neovim插件Go本地部署quickfix管理AI集成代码分析开发工具

安装与配置

未标注 无需鉴权
上游未给出传输方式
  1. 1
    准备运行环境

    按官方文档确认运行环境(常见为 Node.js 或 Python),装好后再执行安装命令。

  2. 2
    安装服务

    复制上面的安装命令执行;命令里带占位符的位置,换成自己的密钥或路径。

  3. 3
    写入客户端配置

    在客户端的 MCP 配置里填好启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4
    验证是否可用

    连接成功后客户端会列出约 6 个工具,随便调一个只读工具确认能返回结果。

典型使用场景

3 类
按分类与标签整理的常见用法,具体以官方文档为准
代码与仓库操作

在对话里直接查代码、提 issue、走 PR,省掉来回切工具。

本地命令与脚本

把构建、测试、格式化这类重复命令交给模型执行。

接口联调与测试

让模型调你的接口、跑一遍用例,快速定位问题。

选择建议

选之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 资料标注 6 个工具,职责相对集中,接入后不容易误操作。
  • 已适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 资料标注无需鉴权,装好就能连。

先想清楚的地方

  • 没有现成安装命令,需要按官方文档自己填启动命令和参数。
  • 版本更新与行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop、Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地或自有环境跑服务的人。

不太适合

  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
MCP 服务器工具数传输方式部署方式安装命令最后核验
qf MCP当前 6 未标注 未标注 无 2026-05-17
Git 838e2ec1 12 stdio · 本地进程 本地部署 有 2026-05-17
Markitdown MCP 2c653a5f 1 stdio · 本地进程 本地部署 有 2026-05-17
JavaGuide 未标注 stdio · 本地进程 本地部署 有 2026-04-11
awesome-claude-skills 未标注 stdio · 本地进程 本地部署 有 2026-04-26
Context7 831acf40 未标注 stdio · 本地进程 本地部署 有 2026-05-17

服务器档案

开发工具
字段来自项目仓库与公开索引,中文说明由本站标注
提供方kis9a上游标注的维护方 kis9a
分类开发工具本站按上游分类展示
连接方式未标注上游未给出传输方式
鉴权方式无需鉴权远程服务建议用最小权限凭据
维护方社区 / 第三方核验等级 仅资料核对
包名 / 运行时未标注 · 未标注本地安装时用到的包标识与运行时
部署类型未标注上游给出的部署形态
最近核验2026-05-17上游最后核验时间

详细介绍

9.4 KB
来自项目仓库与上游目录的原文,未做删改

qf-mcp

Model Context Protocol (MCP) 服务器。AI我的助手Neovim的,之RPC通过接口Vim的,之quickfix以及location list中所述修改相应参数的值。Claude或者其他MCP客户机在编辑器中的代码错误、搜索结果和自定义quickfix可以直接操作条目。

概要

qf-mcp单击功能区上AI助手和Vim强大的quickfix做系统的桥梁。quickfix单击功能区上MCP作为工具公开AI可以:

  • 各种源(lint错误、搜索结果、git diff)从quickfix创建/添加列表
  • quickfix按程序导航项目
  • 以受控的安全方式Vim执行命令
  • 高级工作流自动化quickfix向操作添加动态挂接

服务器是Neovim和RPC (msgpack-rpc) 进行通信X11自动化工具无法正常工作Wayland所有的Neovim与安装兼容。

机能

  • 6个MCP工具 综合的quickfix控制:

  • qf.set_list - quickfix或location list创建/添加

  • qf.get_cursor_item -当前quickfix获取项目详细信息
  • qf.jump - quickfix在项目之间导航
  • qf.add_hooks - quickfix向操作添加动态挂接
  • vim.cmd -已注册白名单Vim执行命令
  • health_check -检查服务器状态

  • Neovim RPC统合 - Unix套接字或TCP直接通信

  • Wayland互换 - X11无依赖关系Neovim在所有运行的环境中运行

  • 安全优先设计 -命令白名单可防止执行任何代码

  • 可扩展的挂钩系统 - quickfix向操作添加自定义行为

  • 结构化错误处理 -用于调试的详细错误代码和消息

前提条件

必须

  • 新 0.9+ (--listen支持)
  • 转到1.21+ (从源构建时)

选项(高级功能)

  • vim-qfhooks 插件 - qf.add_hooks工具和高级quickfix操作所需
  • 存储库:https://github.com/kis9a/vim-qfhooks
  • 注意:核心quickfix功能(set_list,get_cursor_item,jump等)即使没有这个插件也能工作
  • 如果没有此插件qf.add_hooks工具不可用,某些高级功能是标准的Vim API后退

安装

详细的安装步骤是 安装.md 来修改标记元素的显示属性。

快速启动```bash

1. NeovimをRPCリスナー付きで起動

nvim --listen /tmp/nvim.sock

2. MCPサーバーを実行

qf-mcp --nvim-address /tmp/nvim.sock


服务器是stdio在传输上启动MCP准备好接收协议消息。

## MCP工具

### 1.qf.set_list

提供的项目quickfix或location list中所述修改相应参数的值。

**输入架构:**```json
{
"items": [
{
"file": "/path/to/file.go",
"lnum": 42,
"col": 10,
"text": "undefined variable: foo"
}
],
"title": "Lint Errors",
"contextKey": "lint-context",
"useLocationList": false
}

使用例:

  • linter/从编译器输出quickfix添加到
  • 创建可从搜索结果导航的列表
  • 用于代码审核git diff导入汉克

2.qf.get_cursor_item

当前光标位置的quickfix获取项目。

输入架构:```json
{}


**出力:**```json
{
"file": "/path/to/file.go",
"lnum": 42,
"col": 10,
"text": "undefined variable: foo",
"title": "Lint Errors",
"context": {
"type": "lint",
"severity": "error"
}
}

3.qf.jump

quickfix在列表中导航。

输入架构:```json
{
"operation": "next"
}


**支持的操作:**

- `next` / `prev` -跳至下一个/上一个项目
- `first` / `last` -跳至第一个/最后一个项目
- `open` / `close` - quickfix打开/关闭窗口
- `cc` -跳转到当前项目

### 4.qf.add_hooks

quickfix将动态挂接添加到操作中。

**注意**:此工具包括: **vim-qfhooks 插件** 中所述修改相应参数的值。

**输入架构:**```json
{
"contextKey": "my-context",
"hooks": {
"on_qf_open": "echo 'Quickfix opened'",
"on_qf_close": "echo 'Quickfix closed'"
}
}

使用例:

  • quickfix打开时自动执行操作
  • 根据特定上下文定制工作流
  • 编辑程序和AI自动化助手之间的交互

5.vim.cmd

已注册白名单Vim命令。

输入架构:```json
{
"command": "copen"
}


**白名单注册命令:**

- `copen`, `cclose`, `lopen`, `lclose` - Quickfix/location list窗口
- `cnext`, `cprev`, `lnext`, `lprev` -导航
- `cnfile`, `cpfile`, `lnfile`, `lpfile` -文件间导航
- `cfirst`, `clast`, `cc` -跳转命令

**安全注意事项**:其他命令将被阻止以防止任何代码执行。

### 6.健康检查

Neovim检查连接和挂接系统的可用性。

**输入架构:**```json
{}

出力:```json
{
"neovimConnected": true,
"hookSystemAvailable": true,
"version": {
"nvim": "0.10.0",
"api": "12"
}
}


## 设定

### 环境变数

- `NVIM_LISTEN_ADDRESS` - Neovim套接字地址(`--nvim-address`标记可覆盖)
- `LOG_LEVEL` -日志级别: `debug`, `info`, `warn`, `error` (默认值: `info`)

### Claude Desktop设定

`~/Library/Application Support/Claude/claude_desktop_config.json`添加到:```json
{
"mcpServers": {
"qf-mcp": {
"command": "/usr/local/bin/qf-mcp",
"args": ["--nvim-address", "/tmp/nvim.sock"],
"env": {
"LOG_LEVEL": "info"
}
}
}
}

Neovim的RPC带启动

Unix套接字(建议):```bash
nvim --listen /tmp/nvim.sock


**TCP套接字:**```bash
nvim --listen localhost:6666

init.vim自动启动:```vim
" ~/.config/nvim/init.vim
call serverstart('/tmp/nvim.sock')


**Lua设定:**```lua
-- ~/.config/nvim/init.lua
vim.fn.serverstart('/tmp/nvim.sock')

体系结构```

┌─────────────────┐
│ Claude / AI │
│ Assistant │
└────────┬────────┘
│ MCP Protocol (stdio)
┌────────▼────────┐
│ qf-mcp │
│ MCP Server │
└────────┬────────┘
│ msgpack-rpc
│
┌────────▼────────┐
│ Neovim │
│ ┌───────────┐ │
│ │ Quickfix │ │ - Quickfix/location list
│ │ System │ │ - ナビゲーション
│ └───────────┘ │ - フックシステム (vim-qfhooks使用)
│ │ - コンテキスト管理
│ │ - 動的フック
└─────────────────┘


## 示例工作流

### Git Diff代码审核```
1. Claudeに依頼: "現在のgit diffの全変更をquickfixリストに作成して"
2. Claudeがqf.set_listを使用してdiffハンクをquickfixに追加
3. Claudeがqf.jumpを使用して変更を順にナビゲート
4. 各アイテムについて、Claudeがqf.get_cursor_itemでコンテキストを読み取り
5. Claudeが各変更に基づいてレビューコメントを提供

Lint修复错误```

  1. Claudeに依頼: "全てのlintエラーを修正して"
  2. Claudeがlintコマンドを実行して出力をパース
  3. qf.set_listでエラーをquickfixリストに追加
  4. qf.jumpで各エラーに移動
  5. qf.get_cursor_itemで詳細を取得し、修正を提案

## 故障排除

### Neovim挂牵

**症状:** `Error code 1004: Connection failed`

**解决方法:**

- Neovim确认是否正在运行: `ls -l /tmp/nvim.sock`
- Neovim 的`--listen`确认是否带标记启动
- qf-mcp和Neovim检查两个套接字路径是否匹配

### 挂接系统不可用

**症状:** health_check的 `hookSystemAvailable: false`

**解决方法:**

- 挂钩系统是可选的,基本功能没有这个也可以运行
- 单击功能区上的vim-qfhooks安装插件:```vim
" vim-plug の場合
Plug 'kis9a/vim-qfhooks'
  • Neovim确认是否在中装入插件

命令不允许

症状: Error code 4001: Command not allowed

说明: 由于安全原因,命令未注册到白名单中。

解决方法:

  • 仅使用白名单登录命令(参照vim.cmd文档)
  • 将新命令添加到白名单PR提交
  • 定制VimScript要执行qf.add_hooks使用

权限错误

症状: Permission denied 在插座上

解决方法:

  • qf-mcp的Neovim中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积
  • 检查套接字文件权限: ls -l /tmp/nvim.sock

开発

从源构建```bash

リポジトリをクローン

git clone https://github.com/kis9a/qf-mcp.git
cd qf-mcp

バイナリをビルド

go build -o qf-mcp ./cmd/qf-mcp

テストを実行

go test ./... -v

統合テストを実行(Neovim必須)

./test/setup_test.sh go test ./test/... -v


### 项目结构```
qf-mcp/
├── cmd/qf-mcp/          # メインエントリポイント
├── internal/
│   ├── mcp/             # MCPサーバー実装
│   ├── nvim/            # Neovim RPCクライアント
│   ├── tools/           # MCPツール実装
│   ├── errors/          # エラーコード定義
│   └── logz/            # 構造化ログ
└── test/                # 統合テスト

貢献

欢迎贡献!您可以通过以下方式参加:

  1. Issue创建错误报告和功能建议
  2. PR提交代码改善
  3. 文档改进
  4. 共享用例和工作流

许可证

MIT License - 了解更多信息LICENSE 浏览文件

相关项目

  • vim问答 - Vim的,之quickfix挂钩插件(qf.add_hooks功能需要)
  • https://github.com/kis9a/vim-qfhooks
  • 模型上下文协议 - MCP仕様
  • go客户端 - Neovim Go RPC客户机

支持

  • 问题: GitHub 问题
  • 讨论: GitHub讨论

谢辞

使用以下项目构建:

  • MCP Go SDK - MCP协议实现
  • neovim/go-client - Neovim RPC客户机
  • zerolog -结构化日志
  • vim问答 - Quickfix挂钩插件

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
qf MCP 怎么安装?

资料没有给出安装命令,请到官方仓库或文档按说明接入;这类条目多数是生态应用,或尚未发布可安装包。

qf MCP 怎么在 Claude Desktop、Claude 里配置?

它的传输方式未标注,在客户端的 MCP 配置里填好启动命令和参数,保存后完全退出客户端再打开,配置才会生效。

qf MCP 收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

qf MCP 需要 API Key 吗?

资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

qf MCP 支持哪些客户端?

资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

qf MCP 能提供哪些能力?

资料显示约 6 个工具;能力标签包括 代码分析、Go、Claude、开发工具。具体工具清单以官方文档为准。

热门专题

按标签挑服务器
全部专题 →

服务器信息以作者仓库与官方文档为准;分类、传输方式与鉴权方式的中文说明为中文整理,最近核验 2026-05-17。