Skip to main content
Glama
leenbj

MCP Feedback Enhanced

by leenbj

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 establishes feedback-oriented development workflows, adopting a pure Web UI architecture, perfectly adapting to local, SSH Remote environments (Cursor SSH Remote, VS Code Remote SSH), and WSL (Windows Subsystem for Linux) environments. By guiding AI to confirm with users rather than making speculative operations, it can consolidate multiple tool calls into a single feedback-oriented request, dramatically reducing platform costs and improving development efficiency.

๐ŸŒ Web-Only Architecture Advantages:

  • ๐Ÿš€ Simplified Deployment: No GUI dependencies, lighter installation

  • ๐ŸŒ Cross-Platform Compatibility: Supports all operating systems and environments

  • ๐Ÿ”ง Easy Maintenance: Unified Web interface, reduced complexity

  • ๐Ÿ“ฆ Compact Size: Removed heavy GUI libraries, significantly smaller installation package

๐Ÿ”ฎ Future Plans: We plan to reintroduce desktop applications after feature stabilization, currently focusing on Web UI feature enhancement and optimization.

Supported Platforms: Cursor | Cline | Windsurf | Augment | Trae

๐Ÿ”„ Workflow

  1. AI Call โ†’ mcp-feedback-enhanced tool

  2. Web UI Launch โ†’ Auto-open browser interface (pure Web architecture)

  3. Smart Interaction โ†’ Prompt selection, text input, image upload, auto-submit

  4. Real-time Feedback โ†’ WebSocket connection delivers information to AI instantly

  5. Session Tracking โ†’ Auto-record session history and statistics

  6. Process Continuation โ†’ AI adjusts behavior or ends task based on feedback

Related MCP server: MCP Feedback Collector

๐ŸŒŸ Key Features

๐ŸŒ Pure Web UI Architecture System

  • Web-Only Design: Completely removed desktop GUI dependencies, adopting pure Web interface

  • Universal Compatibility: Supports local, SSH Remote, and WSL environments

  • Auto Adaptation: Intelligent environment detection and optimal configuration

  • Lightweight Deployment: No complex GUI environment configuration required

๐Ÿ“ Smart Prompt Management System (v2.4.0 New Feature)

  • CRUD Operations: Create, edit, delete, and use common prompts

  • Usage Statistics: Track usage frequency with intelligent sorting

  • Quick Application: One-click selection and application of prompts

  • Auto-Submit Integration: Support auto-submit marking and priority display

โฐ Auto-Timed Submit Feature (v2.4.0 New Feature)

  • Flexible Timing: Configurable countdown timer from 1-86400 seconds

  • Visual Display: Real-time countdown display and status indicators

  • Deep Integration: Seamless integration with prompt management system

  • Complete Control: Support pause, resume, and cancel operations

๐Ÿ“Š Session Management & Tracking (v2.4.3 Refactored & Enhanced)

  • Dedicated Tab Design: Migrated from sidebar to dedicated tab, resolving browser compatibility issues

  • Local History Storage: Support for local session record storage with configurable retention periods

  • Privacy Control: User message recording with three privacy level settings

  • Data Management: Support for session history export and cleanup functionality

  • Real-time Statistics: Today's session count and average duration statistics

๐Ÿ”— Connection Monitoring System (v2.4.0 New Feature)

  • Real-time Monitoring: WebSocket connection status monitoring in real-time

  • Quality Indicators: Latency measurement and connection quality indicators

  • Auto Reconnection: Smart reconnection mechanism and error handling

  • Detailed Statistics: Complete connection statistical information

๐Ÿ”Š Audio Notification System (v2.4.3 New Feature)

  • Smart Alerts: Automatically play audio notifications when sessions update

  • Multiple Audio Options: Built-in classic beep, notification ding, soft chime

  • Custom Audio: Support uploading custom audio files (MP3, WAV, OGG formats)

  • Full Control: Volume adjustment, test playback, and audio management features

๐ŸŽจ Modern Interface Design

  • Modular Architecture: JavaScript completely modularized refactoring

  • Responsive Design: Adapts to different screen sizes and window dimensions

  • Unified Style: Consistent design language and visual experience

  • Smart Layout: AI summary auto-expansion, optimized submit button positioning

๐Ÿ–ผ๏ธ Image Support

  • Format Support: PNG, JPG, JPEG, GIF, BMP, WebP

  • Upload Methods: Drag & drop files + clipboard paste (Ctrl+V)

  • Unlimited Upload: Support image files of any size with automatic smart processing

๐Ÿ’พ Smart Memory Features (v2.4.3 New Feature)

  • Input Height Memory: Automatically save and restore textarea input height settings

  • One-Click Copy: Project path and session ID support click-to-copy to clipboard

  • Settings Persistence: All user preference settings automatically saved

๐ŸŒ Multi-language

  • Three Languages: English, Traditional Chinese, Simplified Chinese

  • Smart Detection: Auto-select based on system language

  • Live Switching: Change language directly within interface

  • Complete Internationalization: Includes multilingual support for tooltips and button hints

โœจ WSL Environment Support (v2.2.5)

  • Auto Detection: Intelligently identifies WSL (Windows Subsystem for Linux) environments

  • Browser Integration: Automatically launches Windows browser in WSL environments

  • Multiple Launch Methods: Supports cmd.exe, powershell.exe, wslview and other browser launch methods

  • Seamless Experience: WSL users can directly use Web UI without additional configuration

๐ŸŒ SSH Remote Environment Support (v2.3.0 New Feature)

  • Smart Detection: Automatically identifies SSH Remote environments (Cursor SSH Remote, VS Code Remote SSH, etc.)

  • Browser Launch Guidance: Provides clear solutions when browser cannot launch automatically

  • Port Forwarding Support: Complete port forwarding setup guidance and troubleshooting

  • MCP Integration Optimization: Improved integration with MCP system for more stable connection experience

  • Detailed Documentation: SSH Remote Environment Usage Guide

  • ๐ŸŽฏ Auto-focus Input Box: Automatically focus on feedback input box when window opens, improving user experience (Thanks @penn201500)

๐ŸŒ Interface Preview

Web UI Interface (v2.4.0 - Web-Only Architecture)

Web UI Interface - Pure Web architecture, supporting prompt management, auto-submit, session tracking and other smart features

Keyboard Shortcuts

  • Ctrl+Enter (Windows/Linux) / Cmd+Enter (macOS): Submit feedback (supports both main keyboard and numpad)

  • Ctrl+V (Windows/Linux) / Cmd+V (macOS): Directly paste clipboard images

  • Ctrl+I (Windows/Linux) / Cmd+I (macOS): Quick focus input box (Thanks @penn201500)

๐Ÿš€ 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 needed):

{
  "mcpServers": {
    "mcp-feedback-enhanced": {
      "command": "uvx",
      "args": ["mcp-feedback-enhanced@latest"],
      "timeout": 600,
      "env": {
        "MCP_DEBUG": "false",
        "MCP_WEB_PORT": "8765"
      },
      "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

MCP_DEBUG

Debug mode

true/false

false

MCP_WEB_PORT

Web UI port

1024-65535

8765

Testing Options

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

# Interface testing
uvx mcp-feedback-enhanced@latest test --web    # Test Web UI (auto continuous running)
uvx mcp-feedback-enhanced@latest test --enhanced # Enhanced test suite

# 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

# Functional Testing
uv run python -m mcp_feedback_enhanced test              # Standard functional testing
uvx --with-editable . mcp-feedback-enhanced test --web   # Web UI testing (continuous running)

# Unit Testing
make test                                                # Run all unit tests
make test-fast                                          # Fast testing (skip slow tests)
make test-cov                                           # Testing with coverage report

# Code Quality Checks
make check                                              # Complete code quality checks
make quick-check                                        # Quick check with auto-fix

Testing Descriptions

  • Functional Testing: Test complete MCP tool functionality workflow

  • Unit Testing: Test individual module functionality

  • Coverage Testing: Generate HTML coverage report to htmlcov/ directory

  • Quality Checks: Include linting, formatting, type checking

๐Ÿ†• Version History

๐Ÿ“‹ Complete Version History: RELEASE_NOTES/CHANGELOG.en.md

Latest Version Highlights (v2.4.3)

  • ๐Ÿ“‹ Session Management Refactoring: Migrated from sidebar to dedicated tab, resolving browser compatibility issues

  • ๐Ÿ”Š Audio Notification System: Session update audio alerts with built-in and custom audio support

  • ๐Ÿ“š Enhanced Session History: Local storage, privacy control, export and cleanup functionality

  • ๐Ÿ’พ Smart Memory Features: Input height memory, one-click copy, and other convenience features

  • ๐ŸŽจ Interface Layout Optimization: AI summary auto-expansion, button repositioning, simplified design

  • ๐ŸŒ Multilingual Enhancement: Complete internationalization support for tooltips and button hints

  • ๐Ÿ› Bug Fixes: Fixed session details button, modal close delay, and other user experience issues

  • ๐Ÿ› ๏ธ Technical Architecture Upgrade: JavaScript modular refactoring, adopting modern development patterns

๐Ÿ› Common Issues

๐ŸŒ SSH Remote Environment Issues

Q: Browser cannot launch in SSH Remote environment A: This is normal behavior. SSH Remote environments have no graphical interface, requiring manual opening in local browser. For detailed solutions, see: SSH Remote Environment Usage Guide

Q: Why am I not receiving new MCP feedback? A: There might be a WebSocket connection issue. Solution: Simply refresh the browser page.

Q: Why isn't MCP being called? A: Please confirm the MCP tool status shows green light. Solution: Toggle the MCP tool on/off repeatedly, wait a few seconds for system reconnection.

Q: Augment cannot start MCP A: Solution: Completely close and restart VS Code or Cursor, then reopen the project.

๐Ÿ”ง General Issues

Q: How to use the legacy GUI interface? A: v2.4.0 has completely removed PyQt6 GUI dependencies and transitioned to a pure Web UI architecture. To use the legacy GUI, please specify v2.3.0 or earlier versions:

# Use v2.3.0 (last version supporting GUI)
uvx mcp-feedback-enhanced@2.3.0

# Or specify version in MCP configuration
{
  "mcpServers": {
    "mcp-feedback-enhanced": {
      "command": "uvx",
      "args": ["mcp-feedback-enhanced@2.3.0"],
      "timeout": 600,
      "autoApprove": ["interactive_feedback"]
    }
  }
}

Note: Legacy versions do not include v2.4.0 new features (prompt management, auto-submit, session management, etc.).

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: Multi-screen window disappearing or positioning errors A: Fixed in v2.1.1. Go to "โš™๏ธ Settings" tab, check "Always show window at primary screen center" to resolve. Especially useful for T-shaped screen arrangements and other complex multi-monitor configurations.

Q: Image upload fails A: Check file format (PNG/JPG/JPEG/GIF/BMP/WebP). System supports image files of any size.

Q: Web UI won't start A: Check firewall settings or try using a different port.

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: AI models cannot parse images A: Various AI models (including Gemini Pro 2.5, Claude, etc.) may have instability in image parsing, sometimes correctly identifying and sometimes unable to parse uploaded image content. This is a known limitation of AI visual understanding technology. Recommendations:

  1. Ensure good image quality (high contrast, clear text)

  2. Try uploading multiple times, retries usually succeed

  3. If parsing continues to fail, try adjusting image size or format

๐Ÿ™ 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

Contributors

penn201500 - GitHub @penn201500

  • ๐ŸŽฏ Auto-focus input box feature (PR #39)

Community Support

๐Ÿ“„ License

MIT License - see LICENSE file for details


๐ŸŒŸ Welcome to Star and share with more developers!

Available Tools

2 tools
get_system_infoGet System InfoC

็ฒๅ–็ณป็ตฑ็’ฐๅขƒ่ณ‡่จŠ

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond an implicit read ('็ฒๅ–'). It says nothing about auth requirements, cost, caching, or latency. The output schema covers what is returned, so that omission is excusable, but the rest is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the purpose is front-loaded. It is under-specified rather than padded, so it earns credit for economy while leaving room to say more.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the minimal description is arguably adequate to invoke it correctly โ€” the agent knows it returns system environment info. However, with no annotations and no indication of scope or read semantics, it is only just viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 per the rubric. There is nothing for the description to clarify beyond what the empty schema already establishes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '็ฒๅ–็ณป็ตฑ็’ฐๅขƒ่ณ‡่จŠ' (get system environment information) is essentially a translation of the tool name and title, adding no specificity about what environment aspects are returned (OS, version, memory, runtime). It uses a verb+resource but conveys no more than the name already does, placing it in tautology territory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of the sibling tool interactive_feedback as an alternative. The agent gets no context for deciding whether this tool is relevant to its task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

interactive_feedbackInteractive FeedbackB

ๆ”ถ้›†็”จๆˆถ็š„ไบ’ๅ‹•ๅ›ž้ฅ‹๏ผŒๆ”ฏๆดๆ–‡ๅญ—ๅ’Œๅœ–็‰‡

ๆญคๅทฅๅ…ทไฝฟ็”จ Web UI ไป‹้ขๆ”ถ้›†็”จๆˆถๅ›ž้ฅ‹๏ผŒๆ”ฏๆดๆ™บ่ƒฝ็’ฐๅขƒๆชขๆธฌใ€‚

็”จๆˆถๅฏไปฅ๏ผš

  1. ๅŸท่กŒๅ‘ฝไปคไพ†้ฉ—่ญ‰็ตๆžœ

  2. ๆไพ›ๆ–‡ๅญ—ๅ›ž้ฅ‹

  3. ไธŠๅ‚ณๅœ–็‰‡ไฝœ็‚บๅ›ž้ฅ‹

  4. ๆŸฅ็œ‹ AI ็š„ๅทฅไฝœๆ‘˜่ฆ

่ชฟ่ฉฆๆจกๅผ๏ผš

  • ่จญ็ฝฎ็’ฐๅขƒ่ฎŠๆ•ธ MCP_DEBUG=true ๅฏๅ•Ÿ็”จ่ฉณ็ดฐ่ชฟ่ฉฆ่ผธๅ‡บ

  • ็”Ÿ็”ข็’ฐๅขƒๅปบ่ญฐ้—œ้–‰่ชฟ่ฉฆๆจกๅผไปฅ้ฟๅ…่ผธๅ‡บๅนฒๆ“พ

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryNoAI ๅทฅไฝœๅฎŒๆˆ็š„ๆ‘˜่ฆ่ชชๆ˜Žๆˆ‘ๅทฒๅฎŒๆˆไบ†ๆ‚จ่ซ‹ๆฑ‚็š„ไปปๅ‹™ใ€‚
timeoutNo็ญ‰ๅพ…็”จๆˆถๅ›ž้ฅ‹็š„่ถ…ๆ™‚ๆ™‚้–“๏ผˆ็ง’๏ผ‰
project_directoryNoๅฐˆๆกˆ็›ฎ้Œ„่ทฏๅพ‘.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the Web UI mechanism, the four user interaction paths, and the MCP_DEBUG environment toggle, but omits key traits such as whether the call blocks until user input, what happens on timeout, and any permission or environment requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the numbered list is scannable, but there is redundancy (the opening line already says text and images, then repeats it in the list) and the debug-mode section is tangential operational advice rather than tool-selection content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations and no output schema, so the description must fully orient the agent. It explains the interaction flow adequately but does not describe the return shape (feedback text, image data, command results) or the consequence of the timeout, leaving gaps for a zero-required-parameter interactive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (summary, timeout, project_directory) are already documented in the schema, establishing the baseline of 3. The description mentions the summary concept but adds no format, unit, or edge-case detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: collecting user interactive feedback via a Web UI, supporting text and images. This clearly distinguishes it from the only sibling get_system_info. It stops short of explicitly naming that sibling, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (collecting feedback after an AI task, letting users verify results) but never states when to use this tool versus alternatives or any preconditions. Usage must be inferred from the enumerated user actions rather than an explicit trigger condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv2.4.2
    • First observedget_system_info
    • First observedinteractive_feedback

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools serve clearly different purposes: interactive_feedback collects user feedback, while get_system_info retrieves environment details. There is no overlap or ambiguous boundary between them.

Naming Consistency4/5

Both tools use snake_case, which is consistent. However, get_system_info follows a verb_noun pattern while interactive_feedback is adjective_noun, a minor deviation from a strict convention.

Tool Count3/5

With only two tools, the server is very thin even for a focused feedback utility. It provides one primary action and one auxiliary utility, landing at the borderline of 'too few'.

Completeness3/5

The surface covers feedback collection (text, images, command validation) and system information. It lacks obvious lifecycle operations such as listing, retrieving, or clearing past feedback, which may limit real-world use.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to request human input through a web interface, allowing them to pause execution and wait for responses via interactive tools like single questions, multiple choice selections, hypothesis challenges, and decision workflows.
    7 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to collect interactive user feedback through a modern GUI that supports text input, multiple image uploads (via file selection or clipboard paste), allowing users to provide comprehensive feedback with screenshots and comments.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to request human input through a web interface during execution. Supports single questions, multiple choice selections, hypothesis challenges, and decision workflows for human-in-the-loop interactions.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables human-in-the-loop checkpoints for AI agents, allowing them to pause and wait for human input via a web UI, then seamlessly resume execution.
    38
    MIT