交互式反馈MCP工具

一个用于Cursor IDE的模型上下文协议工具,允许AI在单个请求内暂停并等待用户反馈,通过保持多轮交互在一个会话中减少计费成本。

  • by RiberLi
  • C++
  • 本地部署
  • 更新于
在 GitHub 查看 RiberLi/interactive-feedback-mcp

使用说明

交互式反馈MCP

中文版

MCP(模型上下文协议)工具 光标IDE 这使得AI可以在单个请求中暂停并等待用户反馈,通过在一个会话中保持多轮交互来降低计费成本。

为什么?

根据要求调整账单(每月有限)。如果没有这个工具,每一轮反馈都会产生一个新的请求。使用交互式反馈MCP,AI会暂停并等待您的输入,然后继续——所有这些都在一个请求中完成。请求中的工具调用是免费的。

特性

  • 单请求反馈循环 --AI暂停并等待用户输入,而不消耗额外的请求
  • 任务队列GUI --ChatGPT风格的聊天窗口,用于提交和管理任务
    • 提交AI按顺序执行的任务
    • 实时状态跟踪:待定→ 执行→ 完成
    • 右键单击以编辑或删除待处理的任务
    • 粘贴图像(自动保存为临时PNG文件)和拖放文件
  • 反馈GUI --用于快速一次性反馈的原生Win32弹出窗口(按Enter键发送,按Shift+Enter键换行)
  • 自动回复规则 用于无人值守操作(单次和循环模式)
  • 文件监控 --服务器监视配置文件的更改,自动重新加载规则
  • 日志记录 --所有交互都打上了时间戳 feedback_log.txt

组件

文件 描述
feedback-server.exe MCP服务器——通过stdio上的JSON-RPC与Cursor通信
feedback-gui.exe 反馈弹出窗口——当AI请求反馈且未配置自动回复时显示
taskqueue-gui.exe 任务队列——用于向提交任务的ChatGPT风格聊天窗口 auto_reply_oneshot.txt
feedback.exe CLI版本--可选,用于命令行使用

快速开始

1.下载

从下载最新版本 发布.将所有可执行文件放在同一文件夹中(例如。 C:\interactive-feedback-mcp\).

2.配置MCP

编辑 %USERPROFILE%\.cursor\mcp.json (全球)或 .cursor/mcp.json (项目层面):

{
  "mcpServers": {
    "interactive-feedback-mcp": {
      "command": "C:\\path\\to\\feedback-server.exe",
      "timeout": 600,
      "autoApprove": ["interactive_feedback"]
    }
  }
}
  • timeout:等待反馈的秒数(600=10分钟)
  • autoApprove:跳过此工具的手动审批弹出窗口

3.配置游标规则

添加到光标设置→ 规则(或 .cursor/rules/):

After completing your full response, you MUST call mcp_interactive-feedback-mcp_interactive_feedback as your very last action. Do NOT call it in the middle of your answer.
After receiving the MCP result, if there is feedback, process it first. Then regardless of whether the feedback was empty, had content, or the call failed, you MUST call mcp_interactive-feedback-mcp_interactive_feedback again. NEVER stop. Loop forever.
You are ABSOLUTELY FORBIDDEN from ending a request on your own. The user will manually stop you. Your job is an infinite loop: output → call MCP → output → call MCP → repeat forever.
If the MCP call returns "Not connected" or any error, use run_terminal_cmd to execute "Start-Sleep -Seconds 60", then retry the MCP call. Repeat this wait-and-retry loop forever.

4.使用

交互式反馈模式

开始聊天。AI响应后,会弹出一个反馈窗口:

  • 键入反馈并按下 进入 → AI继续提出同样的请求
  • Shift+Enter → 插入换行符
  • 关闭窗口或提交空→ AI结束请求
  • 粘贴图像→ 自动保存为临时PNG,路径插入到输入中

任务队列模式

发射 taskqueue-gui.exe (来自与相同的文件夹 feedback-server.exe)要使用ChatGPT样式的任务队列,请执行以下操作:

  1. 在底部的输入区域键入任务
  2. 按 进入 或单击发送按钮(⬆)
  3. 任务已写入 auto_reply_oneshot.txt
  4. 当AI呼叫时 interactive_feedback,服务器读取任务并将其发送给AI
  5. AI执行任务,然后调用 interactive_feedback 再次
  6. 提交下一个任务——人工智能按顺序处理它们

任务状态:

  • ⏳ 待定 --排队等候
  • ▶ 执行 --目前由AI处理
  • ✓ 完成 --AI完成了这项任务

右键单击待处理的任务以 编辑 或 删除 它。双击进行编辑。

自动回复

设置

将配置文件放置在与相同的文件夹中 feedback-server.exe.格式: timeout_seconds|reply_text 每行。 # 征求意见。文件在更改时会自动重新加载。

auto_reply_oneshot.txt

规则按顺序使用一次。规则触发后,它将从文件中永久删除。Oneshot规则总是优先于循环规则。 此文件由管理 taskqueue-gui.exe.

0|Continue with the implementation.
0|Now write tests for the new feature.

auto_reply_loop.txt

规则按顺序循环,在最后一个规则之后。当用户提交非空反馈时,循环重置。用于在等待任务时保持AI会话活动。

540|Waiting for user. Call MCP again.
540|Waiting for user. Call MCP again.
...
540|User away too long. Do NOT call MCP again.

当 timeout_seconds 是 0,自动回复会立即触发(无GUI)。当 timeout_seconds > 0,服务器会静默等待——如果存在超时的循环规则,则不会显示反馈弹出窗口。

建筑

Cursor ←— stdio JSON-RPC —→ feedback-server.exe ←— args/temp file —→ feedback-gui.exe
                                    ↑
                                    ← file monitoring ← taskqueue-gui.exe
                                                        (writes auto_reply_oneshot.txt)
  • feedback-server.exe:MCP服务器通过stdio使用JSON-RPC 2.0。用途 WaitForMultipleObjects 同时监视stdin、配置文件更改、GUI进程退出和自动回复超时。
  • feedback-gui.exe:用于一次性反馈的独立Win32 GUI。通过命令行参数(输入)和临时文件(输出)进行通信。
  • taskqueue-gui.exe:将任务写入的独立Win32 GUI(ChatGPT风格的聊天窗口) auto_reply_oneshot.txt。服务器检测文件更改并自动读取任务。

从源代码构建

C++17,CMake 3.10+。唯一的依赖关系是nlohmann/json(捆绑为 json.hpp).

mkdir build && cd build
cmake ..
cmake --build . --config Release

输出: build/bin/Release/ 包含所有四个可执行文件。

许可证

麻省理工学院