反馈循环MCP服务器

一个用于AI辅助开发工具中实现人机交互循环的MCP服务器,支持跨平台运行、交互式UI和动态快速反馈功能。

  • by tuandinh-org
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 tuandinh0801/feedback-loop-mcp

使用说明

反馈回路MCP

简单的MCP服务器,在Cursor等人工智能辅助开发工具中实现人机交互工作流程。此服务器允许您运行命令,查看其输出,并直接向AI提供文本反馈。它还与Cline和Windsurf兼容。

灵感:该项目的灵感来自 交互式反馈mcp 由法比奥·费雷拉(@fabiomlferreira)撰写。

特性

  • 跨平台:适用于macOS、Windows和Linux
  • 交互式用户界面:用于收集反馈的现代响应式界面
  • 设置持久性:保存和恢复每个项目的UI首选项
  • MCP集成:与MCP兼容的AI助手无缝集成
  • macOS覆盖支持:macOS上的原生覆盖窗口支持
  • 动态快速反馈:直接通过MCP工具调用提供自定义、可点击的快速反馈选项,允许根据具体情况提出建议。

截图

带有macOS动态效果的反馈收集界面

安装

npx快速入门(推荐)

使用此MCP服务器的最简单方法是通过npx:

npx feedback-loop-mcp

全球安装

对于频繁使用,请全局安装:

npm install -g feedback-loop-mcp
feedback-loop-mcp

地方发展设置

对于开发或定制:

  1. 克隆存储库:

    git clone <repository-url>
    cd feedback-loop-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 在开发模式下运行:

    npm run dev
    

MCP服务器配置

光标IDE

将以下配置添加到光标设置中(mcp.json):

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"],
      "timeout": 600,
      "autoApprove": [
        "feedback_loop"
      ]
    }
  }
}

Cline/Windsurf

类似的设置原则也适用。在MCP设置中配置服务器命令:

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"]
    }
  }
}

克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "feedback-loop-mcp": {
      "command": "npx",
      "args": ["feedback-loop-mcp"]
    }
  }
}

用法

这 feedback_loop 该工具接受以下参数:

  • project_directory (string,必填):项目目录的完整路径。
  • prompt (字符串,必填):总结和问题相结合,描述所做的工作并要求具体的反馈。
  • quickFeedbackOptions (字符串数组,可选):预定义的反馈字符串列表,将在UI中显示为可点击的选项,以获得更快的反馈。

来自AI助手的示例工具调用:

feedback_loop_mcp({
  project_directory: "/path/to/your/project",
  prompt: "I implemented the new user authentication flow with JWT. Does this approach meet your requirements?",
  quickFeedbackOptions: [
    "Yes, looks good!",
    "Needs minor changes to the error handling.",
    "Please try a different approach."
  ]
});

运行服务器

通过npx(推荐)

npx feedback-loop-mcp

通过全球安装

feedback-loop-mcp

地方发展

npm start

命令行参数

应用程序接受以下命令行参数:

  • --project-directory <path>:设置项目目录
  • --prompt <text>:设置初始提示/摘要文本

例子:

npm start -- --project-directory "/path/to/project" --prompt "Please review this code"

可用工具

MCP服务器提供以下工具:

  • feedback_loop:显示用于收集用户反馈的UI并返回响应

AI助手中的示例用法:

{
  "tool_name": "feedback_loop",
  "arguments": {
    "project_directory": "/path/to/your/project",
    "summary": "I've implemented the changes you requested and refactored the main module."
  }
}

提示工程

为了获得最佳效果,请在AI助手的自定义提示中添加以下内容:

Whenever you want to ask a question, always call the MCP feedback_loop tool.
Whenever you're about to complete a user request, call the MCP feedback_loop tool instead of simply ending the process.
Keep calling the feedback_loop tool until the user's feedback is empty, then end the request.

这可确保您的AI助手在将任务标记为已完成之前使用此MCP服务器请求用户反馈。

益处

通过引导助手与用户联系,而不是分散到推测性的、高成本的工具调用中,该模块可以大大减少Cursor等平台上的高级请求(例如OpenAI工具调用)的数量。在某些情况下,它有助于将多达25个工具调用整合到一个单一的、有反馈意识的请求中,从而节省资源并提高性能。

内置应用程序将在 dist 目录。

项目结构

feedback-loop-mcp/
├── main.js              # Main Electron process
├── preload.js           # Preload script for secure IPC
├── package.json         # Project configuration
├── README.md           # This file
├── assets/             # Static assets
│   └── feedback.png    # Application icon
├── renderer/           # Renderer process files
│   ├── index.html      # Main UI
│   ├── styles.css      # Styling
│   └── renderer.js     # UI logic
└── server/             # MCP server
    └── mcp-server.js   # Node.js MCP server

配置

该应用程序使用Electron的内置存储自动保存设置:

  • 通用设置:窗口大小、位置和UI首选项
  • 项目特定设置:命令历史和项目特定配置

设置存储在每个平台的标准应用程序数据目录中。

功能概述

反馈收集

  • 富格文本反馈输入
  • 自动保存反馈
  • JSON输出格式,便于集成
  • 包括时间戳和项目信息

提示工程

制定有效的提示是获得有用反馈的关键。使用时 prompt 参数,旨在:

  1. 简洁但完整:在一份清晰的声明中描述已经完成的工作以及你需要什么反馈。

  2. 包括上下文:提及影响您所寻求反馈的关键实施细节或选择。

  3. 问一个具体的问题:以一个明确的问题结束,引导用户提供所需的反馈。

  4. 正确地构建问题:不要问“这看起来好吗?”,试着问“这个实现满足了你对X的要求吗?”

有效提示示例:

I've implemented user authentication using JWT with a 24-hour expiration and refresh tokens. Does this approach provide the security level you need for this application?

快速反馈选项

定义时 quickFeedbackOptions,考虑:

  • 最多提供3-5个选项,以获得最佳用户体验
  • 包括积极和建设性的反馈选项
  • 使选项特定于上下文,而不是通用的
  • 从最积极到最关键的顺序选项

设计良好的快速反馈选项示例:

quickFeedbackOptions: [
  "Perfect, exactly what I needed",
  "Good approach, but please add more validation",
  "I'd prefer a different authentication method",
  "Let's discuss alternatives in more detail"
]

发展

有关开发和构建信息,请参阅 Developpent.md.

故障排除

常见问题

  1. MCP服务器未连接:确保服务器正在运行并且配置正确
  2. 找不到npx命令:确保Node.js和npm安装正确
  3. 权限错误:在Unix系统上,您可能需要使二进制文件可执行

调试模式

使用调试输出运行:

DEBUG=* npx feedback-loop-mcp

许可证

MIT许可证-详见package.json。