Interactive Feedback MCP

Provides interactive user feedback and command execution for AI-assisted development.

Interactive Feedback MCP - 交互式反馈MCP服务器

🌐 Language / 語言切換: 简体中文 |English

一个强大的 MCP 服务器,在AI辅助开发工具如 Cursor 中实现无缝的人机协作工作流程。该服务器允许您运行命令、查看输出结果,并通过直观的图形界面直接向AI提供丰富的文本反馈。

Interactive Feedback UI - 主界面

✨ 核心特性

🚀 先进的用户界面

  • 现代化Qt图形界面 - 直观设计和响应式布局
  • 多语言支持 - 中英文界面即时切换
  • 图片拖拽支持 - 自动压缩和Base64编码
  • 智能按钮布局 - 自适应屏幕尺寸和用户偏好
  • 工具菜单集成 - 有序组织的系统维护功能

🎯 智能快捷响应系统

  • 预配置响应按钮 - 覆盖常见开发工作流程
  • RIPER-5协议集成 - (研究 → 创新 → 计划 → 执行 → 审查)
  • 可自定义快捷操作 - 支持拖拽重新排序
  • 项目特定配置 - 记住您的偏好设置
  • 智能MCP调用 - 智能判断何时需要请求反馈

🔧 强大的命令执行

  • 跨平台命令执行 - 实时输出流传输
  • 自动执行模式 - 适用于重复性工作流程
  • 进程管理 - 启动/停止控制和状态监控
  • 命令历史 - 每个项目的命令持久化
  • 控制台输出 - 语法高亮和滚动支持

🖼️ 高级图片处理

  • 剪贴板图片支持 - Ctrl+V粘贴功能
  • 多种图片格式 - PNG、JPG、JPEG、GIF、BMP、WebP
  • 智能压缩 - 可配置的目标大小(30KB-100KB)
  • Base64传输 - 直接AI图像识别
  • 临时文件管理 - 自动清理功能

⚙️ 专业配置管理

  • 项目特定设置 - 使用Qt QSettings安全存储
  • 按钮自定义 - 尺寸、可见性和内容控制
  • 性能优化 - 布局缓存和批量更新
  • 备份和恢复 - 配置管理功能
  • 主题和布局 - 持久化存储偏好设置

💡 为什么使用这个工具?

通过引导助手与用户确认而不是分支到投机性的高成本工具调用,该模块可以大幅减少像Cursor这样的平台上的高级请求数量(例如OpenAI工具调用)。在某些情况下,它帮助将原本多达25个工具调用合并为单个具有反馈感知的请求——节省资源并提高性能。

性能优势

  • 降低API成本 - 通过最小化不必要的工具调用
  • 提高准确性 - 在关键决策点进行人工验证
  • 增强生产力 - 通过简化的反馈工作流程
  • 更好的协作 - AI和人类开发者之间的配合

🎮 使用方法

基本工作流程

  1. 启动界面 - 当AI助手调用时启动
  2. 查看摘要 - 审查AI已完成的工作
  3. 使用快捷响应按钮 - 处理常见反馈场景:
    • 看起来不错 - 批准当前工作
    • 🔧 需要小调整 - 请求轻微修改
    • 📋 完成所有清单 - 执行剩余任务
    • 🎯 智能执行清单 - 智能处理剩余项目

高级功能

🔍 RIPER-5 协议工作流程

系统包含用于系统性问题解决的专用按钮:

  • 🔍 深度分析问题 - 深度分析模式和系统性分解
  • 💡 创新解决方案 - 头脑风暴多种方法并评估选项
  • 📋 制定实施计划 - 生成详细的实施计划和审查检查点
  • ⚡ 执行计划步骤 - 按计划执行,带有交互反馈
  • 🎯 验证最终结果 - 根据需求进行全面验证

🖼️ 图片集成

  1. 拖拽图片 - 直接拖入界面或使用Ctrl+V粘贴截图
  2. 配置传输选项 - 启用Base64进行AI识别
  3. 调整压缩设置 - 选择目标大小以获得最佳性能
  4. 发送前预览 - 使用缩略图预览功能

⚙️ 自定义选项

  1. 编辑快捷按钮 - 点击⚙️按钮自定义响应
  2. 工具菜单 - 访问系统功能,如临时文件清理
  3. 语言切换 - 在中英文界面之间切换
  4. 布局偏好 - 调整按钮大小和窗口布局

命令执行功能

  • 切换命令区域 - 显示/隐藏命令执行面板
  • 自动执行模式 - 启用启动时自动命令运行
  • 实时输出 - 查看命令执行结果
  • 进程控制 - 启动、停止和监控运行中的进程

📋 提示词工程

为了获得最佳效果,请将以下内容添加到您的AI助手自定义提示中任意一种:

示例1:

每当您想要提问时,始终调用MCP `interactive_feedback`。
每当您即将完成用户请求时,调用MCP `interactive_feedback`而不是简单地结束过程。
继续调用MCP直到用户反馈为空,然后结束请求。

使用RIPER-5协议按钮时,遵循系统化方法:
1. 🔍 研究:在提出解决方案之前彻底分析问题
2. 💡 创新:探索多种创造性方法
3. 📋 计划:创建详细的、可审查的实施计划
4. ⚡ 执行:按步骤执行计划,设置检查点
5. 🎯 审查:根据原始需求验证结果

示例2:

配套当前mcp的cursor提示词:RIPER-5-cursor-rule add_cursor_rule_step1.png add_cursor_rule_step2.png

这确保您的AI助手有效使用MCP服务器并遵循结构化的问题解决方法。

🔧 配置

此MCP服务器使用Qt的QSettings在每个项目基础上存储配置,包括:

存储的设置

  • 命令偏好 - 每个项目的默认命令
  • 执行设置 - 自动执行偏好和命令历史
  • UI偏好 - 窗口几何、按钮可见性、语言选择
  • 快捷响应自定义 - 自定义按钮、大小和排列
  • 图片处理设置 - 压缩偏好和传输选项
  • 性能设置 - 布局缓存和更新偏好

存储位置

设置存储在特定于平台的位置:

  • Windows: 注册表 HKEY_CURRENT_USER\Software\InteractiveFeedbackMCP\InteractiveFeedbackMCP
  • macOS: ~/Library/Preferences/com.InteractiveFeedbackMCP.InteractiveFeedbackMCP.plist
  • Linux: ~/.config/InteractiveFeedbackMCP/InteractiveFeedbackMCP.conf

配置组织结构

  • 全局设置: 窗口几何、语言偏好等通用UI设置存储在MainWindow_General组中
  • 项目特定设置: 每个项目根据其目录路径哈希获得唯一的配置组,格式为Project_{项目名}_{目录哈希}
  • 基础传输设置: Base64传输配置等全局功能设置直接存储在根级别

配置隔离机制

系统通过以下方式确保不同项目的配置互不干扰:

  1. 目录哈希: 使用项目目录的MD5哈希值生成唯一标识符
  2. 组分离: 不同项目的设置存储在独立的配置组中
  3. 回退机制: 项目特定设置优先,未设置时使用全局默认值

存储的具体配置项

每个项目配置组包含以下设置:

  • run_command: 项目的默认执行命令
  • execute_automatically: 是否自动执行命令
  • suffix_mode: 反馈后缀模式(force/smart/none)
  • button_size: 按钮大小设置(small/medium/large/custom)
  • custom_button_width/height: 自定义按钮尺寸
  • visible_buttons: 可见快捷按钮列表
  • language: 界面语言设置
  • use_base64_transmission: 是否启用Base64图片传输
  • base64_target_size_kb: Base64传输的目标文件大小
  • commandSectionVisible: 命令区域是否可见
  • quick_responses: 自定义快捷响应按钮配置

配置文件示例

在Linux系统上,配置文件内容类似:

[MainWindow_General]
geometry=@ByteArray(...)
windowState=@ByteArray(...)

[Project_MyProject_a1b2c3d4]
run_command=python main.py
execute_automatically=false
suffix_mode=force
button_size=medium
language=zh_CN
use_base64_transmission=true
base64_target_size_kb=30

🚀 安装

前置要求

  • Python 3.11 或更新版本
  • uv (Python包管理器)
    • Windows: pip install uv
    • Linux/Mac: curl -LsSf https://astral.sh/uv/install.sh | sh

安装步骤

  1. 克隆仓库:

    git clone https://github.com/liaosiqian/interactive-feedback-mcp.git
    cd interactive-feedback-mcp
    
  2. 安装依赖:

    uv venv
    uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

与AI工具集成

Cursor 配置

Cursor 安装示例 add_mcp.png 添加到您的 mcp.json 配置文件:

{
  "mcpServers": {
    "interactive-feedback-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/interactive-feedback-mcp",
        "run",
        "server.py"
      ],
      "timeout": 600,
      "autoApprove": [
        "interactive_feedback"
      ]
    }
  }
}

重要提醒:/path/to/interactive-feedback-mcp 替换为您克隆仓库的实际路径。

Cline / Windsurf 配置

在相应工具的MCP设置中使用类似的配置原理,指定 interactive-feedback-mcp 作为服务器标识符。

🛠️ 开发

开发模式

使用Web界面运行服务器进行测试:

uv run fastmcp dev server.py

这会打开一个用于测试MCP工具交互的Web界面。

项目结构

interactive-feedback-mcp/
├── feedback_ui.py          # 主UI控制器 (773行)
├── ui_layout.py           # 布局管理 (372行)  
├── ui_performance.py      # 性能优化 (120行)
├── button_core.py         # 按钮核心逻辑 (195行)
├── ui_events.py          # 事件处理 (178行)
├── ui_settings.py        # 配置管理 (142行)
├── feedback_logic.py     # 业务逻辑 (215行)
├── quick_response_manager.py # 快捷响应系统 (180行)
├── ui_dialogs.py         # 对话框组件 (580行)
├── cleanup_temp_images.py # 图片清理工具 (222行)
├── clipboard_image_widget.py # 图片处理 (540行)
├── i18n.py              # 国际化 (352行)
├── server.py            # MCP服务器入口点 (74行)
└── config.py            # 配置工具 (44行)

架构亮点

  • 模块化设计 - 清晰的关注点分离
  • 基于Qt的UI - 现代设计模式
  • 性能优化 - 包括布局缓存和批量更新
  • 全面的国际化 - 支持多语言
  • 健壮的错误处理 - 优雅降级

🔨 可用工具

interactive_feedback

用于请求用户反馈的主要工具,包含丰富的上下文。

使用示例:

<use_mcp_tool>
  <server_name>interactive-feedback-mcp</server_name>
  <tool_name>interactive_feedback</tool_name>
  <arguments>
    {
      "project_directory": "/path/to/your/project",
      "summary": "我已经实现了请求的功能,需要您对实现方法的反馈。"
    }
  </arguments>
</use_mcp_tool>

参数:

  • project_directory (字符串): 当前项目目录的路径
  • summary (字符串): 已完成工作或问题的简要描述

返回值:

  • logs (字符串): 任何执行命令的控制台输出
  • interactive_feedback (字符串): 用户的文本反馈和指示

🎯 最佳实践

对于AI助手

  1. 始终提供上下文 - 在摘要参数中提供详细信息
  2. 使用特定的项目目录 - 确保配置隔离正确
  3. 等待用户反馈 - 在进行重大更改之前
  4. 利用快捷响应按钮 - 通过提及其可用性
  5. 遵循RIPER-5协议 - 进行系统性问题解决

对于用户

  1. 自定义快捷按钮 - 针对您最常见的响应
  2. 使用图片功能 - 提供视觉反馈和示例
  3. 配置项目特定设置 - 适应不同的工作流程
  4. 保持临时文件清洁 - 使用工具菜单清理选项
  5. 根据需要切换语言 - 适用于国际协作

性能技巧

  1. 启用自动执行 - 适用于重复性命令工作流程
  2. 谨慎使用Base64传输 - 对于大图片
  3. 自定义按钮布局 - 匹配您的屏幕尺寸
  4. 利用工具菜单 - 保持界面有序

🌟 致谢与联系

本项目最初由 Fábio Ferreira (@fabiomlferreira) 开发。

RIPER-5-cursor-rule.txt 原始版本来源于 煎饼果子(86)大佬整理

📄 许可证

这个项目是开源的。请参考许可证文件了解详情。

🚀 贡献

欢迎贡献!请随时提交问题、功能请求或拉取请求来改进这个工具。

📚 功能详细说明

🎨 界面自定义

  • 按钮大小调整 - 小号(100x30)、中号(120x40)、大号(150x45)或自定义尺寸
  • 语言切换 - 运行时即时在中英文之间切换
  • 布局适配 - 自动适应不同屏幕尺寸和分辨率
  • 主题保存 - 记住窗口大小、位置和用户偏好

🔄 工作流程集成

  • RIPER-5协议 - 结构化的五阶段问题解决方法
  • 检查清单管理 - 智能执行和进度跟踪
  • 项目配置隔离 - 每个项目独立的设置和历史
  • 自动化脚本 - 支持重复性任务的自动执行

🖥️ 命令行集成

  • 实时进程监控 - 查看命令执行状态和输出
  • 跨平台兼容 - Windows、macOS、Linux全平台支持
  • 错误处理 - 优雅处理命令失败和异常情况
  • 输出格式化 - 语法高亮和可读性优化

📊 性能监控

  • UI响应优化 - 批量更新减少界面卡顿
  • 内存使用监控 - 智能缓存管理
  • 网络传输优化 - 图片压缩和传输效率
  • 调试统计 - 性能指标收集和分析

这个工具设计用于提升AI辅助开发的效率和准确性,通过人机协作实现更好的开发体验。

Related Servers