Skip to main content

Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual UI support (Qt GUI and Web UI) with intelligent environment detection.

Project description

MCP Feedback Enhanced

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

Original Author: Fábio Ferreira | Original Project
Enhanced Fork: Minidoracat
UI Design Reference: sanshao85/mcp-feedback-collector

🎯 Core Concept

This is an MCP server that implements human-in-the-loop workflows in AI-assisted development tools. By guiding AI to confirm with users rather than making speculative operations, it can consolidate up to 25 tool calls into a single feedback-oriented request, dramatically reducing platform costs.

Supported Platforms: Cursor | Cline | Windsurf

🔄 Workflow

  1. AI Callmcp-feedback-enhanced
  2. Environment Detection → Auto-select appropriate interface
  3. User Interaction → Command execution, text feedback, image upload
  4. Feedback Delivery → Information returns to AI
  5. Process Continuation → Adjust or end based on feedback

🌟 Key Features

🖥️ Dual Interface System

  • Qt GUI: Native experience for local environments, modular refactored design
  • Web UI: Modern interface for remote SSH environments, brand new architecture
  • Smart Switching: Auto-detect environment and choose optimal interface

🎨 Brand New Interface Design (v2.1.0)

  • Modular Architecture: Both GUI and Web UI adopt modular design
  • Centralized Management: Reorganized folder structure for easier maintenance
  • Modern Themes: Improved visual design and user experience
  • Responsive Layout: Adapts to different screen sizes and window dimensions

🖼️ Image Support

  • Format Support: PNG, JPG, JPEG, GIF, BMP, WebP
  • Upload Methods: Drag & drop files + clipboard paste (Ctrl+V)
  • Auto Processing: Smart compression to ensure 1MB limit compliance

🌏 Multi-language

  • Three Languages: English, Traditional Chinese, Simplified Chinese
  • Smart Detection: Auto-select based on system language
  • Live Switching: Change language directly within interface

🖥️ Interface Preview

Qt GUI Interface (Refactored Version)

Qt GUI Main Interface Qt GUI Settings Interface

Qt GUI Interface - Modular refactoring, supporting local environments

Web UI Interface (Refactored Version)

Web UI Main Interface Web UI Settings Interface

Web UI Interface - Brand new architecture, suitable for SSH Remote environments

Keyboard Shortcuts

  • Ctrl+Enter: Submit feedback (supports both main keyboard and numpad)
  • Ctrl+V: Directly paste clipboard images

🚀 Quick Start

1. Installation & Testing

# Install uv (if not already installed)
pip install uv

# Quick test
uvx mcp-feedback-enhanced@latest test

2. MCP Configuration

Basic Configuration (suitable for most users):

{
  "mcpServers": {
    "mcp-feedback-enhanced": {
      "command": "uvx",
      "args": ["mcp-feedback-enhanced@latest"],
      "timeout": 600,
      "autoApprove": ["interactive_feedback"]
    }
  }
}

Advanced Configuration (Custom Environment):

{
  "mcpServers": {
    "mcp-feedback-enhanced": {
      "command": "uvx",
      "args": ["mcp-feedback-enhanced@latest"],
      "timeout": 600,
      "env": {
        "FORCE_WEB": "true",
        "MCP_DEBUG": "false",
        "MCP_HOST": "0.0.0.0",
        "MCP_PORT": "8888"
      },
      "autoApprove": ["interactive_feedback"]
    }
  }
}

3. Prompt Engineering Setup

For best results, add these rules to your AI assistant:

# MCP Interactive Feedback Rules

1. During any process, task, or conversation, whether asking, responding, or completing stage tasks, must call MCP mcp-feedback-enhanced.
2. When receiving user feedback, if feedback content is not empty, must call MCP mcp-feedback-enhanced again and adjust behavior based on feedback.
3. Only when user explicitly indicates "end" or "no more interaction needed" can you stop calling MCP mcp-feedback-enhanced, then the process is complete.
4. Unless receiving end command, all steps must repeatedly call MCP mcp-feedback-enhanced.
5. Before completing the task, use the MCP mcp-feedback-enhanced to ask the user for feedback.

⚙️ Advanced Settings

Environment Variables

Variable Purpose Values Default
FORCE_WEB Force use Web UI true/false false
MCP_DEBUG Debug mode true/false false
MCP_HOST Web UI hostname Valid hostname/IP 127.0.0.1
MCP_PORT Web UI port Valid port number 8765

Testing Options

# Version check
uvx mcp-feedback-enhanced@latest version       # Check version

# Interface-specific testing
uvx mcp-feedback-enhanced@latest test --gui    # Quick test Qt GUI
uvx mcp-feedback-enhanced@latest test --web    # Test Web UI (auto continuous running)

# Specify Web UI host and port
uvx mcp-feedback-enhanced@latest test --web --host=0.0.0.0 --port=8888    # Specify host and port
MCP_HOST=0.0.0.0 MCP_PORT=8888 uvx mcp-feedback-enhanced@latest test      # Using environment variables

# Debug mode
MCP_DEBUG=true uvx mcp-feedback-enhanced@latest test

Developer Installation

git clone https://github.com/Minidoracat/mcp-feedback-enhanced.git
cd mcp-feedback-enhanced
uv sync

Local Testing Methods

# Method 1: Standard test (recommended)
uv run python -m mcp_feedback_enhanced test

# Method 2: Complete test suite (macOS and Windows dev environment)
uvx --with-editable . mcp-feedback-enhanced test

# Method 3: Interface-specific testing
uvx --with-editable . mcp-feedback-enhanced test --gui    # Quick test Qt GUI
uvx --with-editable . mcp-feedback-enhanced test --web    # Test Web UI (auto continuous running)

Testing Descriptions

  • Standard Test: Complete functionality check, suitable for daily development verification
  • Complete Test: Deep testing of all components, suitable for pre-release verification
  • Qt GUI Test: Quick launch and test of local graphical interface
  • Web UI Test: Start Web server and keep running for complete Web functionality testing

🆕 Version History

📋 Complete Version History: RELEASE_NOTES/CHANGELOG.en.md

Latest Version Highlights (v2.2.2)

  • 🔄 Timeout Auto-cleanup: Fixed GUI/Web UI not automatically closing after MCP session timeout
  • 🛡️ Resource Management Optimization: Improved timeout handling mechanism to ensure proper cleanup of all UI resources
  • 🎯 QTimer Integration: Introduced precise QTimer timeout control mechanism in GUI

🐛 Common Issues

Q: Getting "Unexpected token 'D'" error
A: Debug output interference. Set MCP_DEBUG=false or remove the environment variable.

Q: Chinese character garbled text
A: Fixed in v2.0.3. Update to latest version: uvx mcp-feedback-enhanced@latest

Q: Image upload fails
A: Check file size (≤1MB) and format (PNG/JPG/GIF/BMP/WebP).

Q: Web UI won't start A: Set FORCE_WEB=true or check firewall settings.

Q: UV Cache taking up too much disk space A: Due to frequent use of uvx commands, cache may accumulate to tens of GB. Regular cleanup is recommended:

# Check cache size and detailed information
python scripts/cleanup_cache.py --size

# Preview cleanup content (without actually cleaning)
python scripts/cleanup_cache.py --dry-run

# Execute standard cleanup
python scripts/cleanup_cache.py --clean

# Force cleanup (attempts to close related processes, solves Windows file lock issues)
python scripts/cleanup_cache.py --force

# Or use uv command directly
uv cache clean

For detailed instructions, see: Cache Management Guide

Q: Gemini Pro 2.5 cannot parse images
A: Known issue. Gemini Pro 2.5 may not correctly parse uploaded image content. Testing shows Claude-4-Sonnet can properly analyze images. Recommend using Claude models for better image understanding capabilities.

Q: Multi-screen window positioning issues
A: Fixed in v2.1.1. Go to "⚙️ Settings" tab, check "Always show window at primary screen center" to resolve window positioning issues. Especially useful for T-shaped screen arrangements and other complex multi-monitor configurations.

🙏 Acknowledgments

🌟 Support Original Author

Fábio Ferreira - X @fabiomlferreira
Original Project: noopstudios/interactive-feedback-mcp

If you find this useful, please:

Design Inspiration

sanshao85 - mcp-feedback-collector

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_feedback_enhanced_lixd-2.2.3.tar.gz (882.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_feedback_enhanced_lixd-2.2.3-py3-none-any.whl (138.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_feedback_enhanced_lixd-2.2.3.tar.gz.

File metadata

File hashes

Hashes for mcp_feedback_enhanced_lixd-2.2.3.tar.gz
Algorithm Hash digest
SHA256 fa6ae0cbc4420086e8912b29cf521767605bd18c929ce7daf12736f154778b5a
MD5 cea059be98fa8c254143471fdbb8127d
BLAKE2b-256 82d6260d082a7736399e1a7b2e5de8f55ae17dbd86dd68c967f4d01ef417e450

See more details on using hashes here.

File details

Details for the file mcp_feedback_enhanced_lixd-2.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_feedback_enhanced_lixd-2.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 61f2e524a7706755fc2a5d4e84f7d3008603a62c0b04d15f1fede3259f5111b6
MD5 e8553b22044bc1df43fd2fe2f8e83429
BLAKE2b-256 297f6a6ca62bfca73930164232b111abcf63e1c831d41d39bd80a35ad2b77cdb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page