mcp-feedback-enhanced
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-feedback-enhancedBefore making any changes, ask me for confirmation."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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, providing Web UI and Desktop Application dual interface options, perfectly adapting to local, SSH Remote environments, 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.
🌐 Dual Interface Architecture Advantages:
🖥️ Desktop Application: Native cross-platform desktop experience, supporting Windows, macOS, Linux
🌐 Web UI: No GUI dependencies required, suitable for remote and WSL environments
🔧 Flexible Deployment: Choose the most suitable interface mode based on environment requirements
📦 Unified Functionality: Both interfaces provide exactly the same functional experience
🖥️ Desktop Application: v2.5.0 introduces cross-platform desktop application support based on Tauri framework, supporting Windows, macOS, and Linux platforms with native desktop experience.
Supported Platforms: Cursor | Cline | Windsurf | Augment | Trae
🔄 Workflow
AI Call →
mcp-feedback-enhancedtoolInterface Launch → Auto-open desktop application or browser interface (based on configuration)
Smart Interaction → Prompt selection, text input, image upload, auto-submit
Real-time Feedback → WebSocket connection delivers information to AI instantly
Session Binding → In Web mode, each browser page is bound to a specific
session_idWorkspace Routing → Different workspaces keep separate pages; the same workspace reuses its existing page and switches to the latest session
Session Tracking → Auto-record session history and statistics
Process Continuation → AI adjusts behavior or ends task based on feedback
Related MCP server: MCP Feedback Enhanced
🌟 Key Features
🖥️ Dual Interface Support
Desktop Application: Cross-platform native application based on Tauri, supporting Windows, macOS, Linux
Web UI Interface: Lightweight browser interface suitable for remote and WSL environments
Automatic Environment Detection: Intelligently recognizes SSH Remote, WSL and other special environments
Unified Feature Experience: Both interfaces provide exactly the same functionality
📝 Smart Workflow
Prompt Management: CRUD operations for common prompts, usage statistics, intelligent sorting
Auto-Timed Submit: 1-86400 second flexible timer, supports pause, resume, cancel with new pause/resume button controls
Auto Command Execution (v2.6.0): Automatically execute preset commands after creating new sessions or commits for improved development efficiency
Multi-Workspace Web Sessions: Different workspaces can stay active in parallel in separate browser pages; the same workspace page is reused and switched to the newest session
Session Management & Tracking: Local file storage, privacy controls, history export (supports JSON, CSV, Markdown formats), real-time statistics, flexible timeout settings
Connection Monitoring: WebSocket status monitoring, auto-reconnection, quality indicators
AI Work Summary Markdown Display: Support for rich Markdown syntax rendering including headers, bold text, code blocks, lists, links and other formats for enhanced content readability
🎨 Modern Experience
Responsive Design: Adapts to different screen sizes, modular JavaScript architecture
Audio Notifications: Built-in multiple sound effects, custom audio upload support, volume control
System Notifications (v2.6.0): System-level real-time alerts for important events (like auto-commit, session timeout)
Smart Memory: Input box height memory, one-click copy, persistent settings
Multi-language Support: Traditional Chinese, English, Simplified Chinese, instant switching
🖼️ Images & Media
Full Format Support: PNG, JPG, JPEG, GIF, BMP, WebP
Convenient Upload: Drag & drop files, clipboard paste (Ctrl+V)
Unlimited Processing: Support for any size images, automatic intelligent processing
🌐 Interface Preview
Web UI Interface (v2.5.0 - Desktop Application Support)
Web UI Interface - Supports desktop application and Web interface, providing prompt management, auto-submit, session tracking and other smart features
Desktop Application Interface (v2.5.0 New Feature)
Desktop Application - Native cross-platform desktop application based on Tauri framework, supporting Windows, macOS, Linux with exactly the same functionality as Web UI
Shortcut Support
Ctrl+Enter(Windows/Linux)/Cmd+Enter(macOS):Submit feedback (both main keyboard and numeric keypad supported)Ctrl+V(Windows/Linux)/Cmd+V(macOS):Direct paste clipboard imagesCtrl+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 uv2. Configure MCP
Basic Configuration (suitable for most users):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"autoApprove": ["feedback"]
}
}
}Advanced Configuration (requires custom environment):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DEBUG": "false",
"MCP_WEB_HOST": "127.0.0.1",
"MCP_WEB_PORT": "8765",
"MCP_LANGUAGE": "en"
},
"autoApprove": ["feedback"]
}
}
}Desktop Application Configuration (v2.5.0 new feature - using native desktop application):
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DESKTOP_MODE": "true",
"MCP_WEB_HOST": "127.0.0.1",
"MCP_WEB_PORT": "8765",
"MCP_DEBUG": "false"
},
"autoApprove": ["feedback"]
}
}
}Configuration File Examples:
Desktop Mode: examples/mcp-config-desktop.json
Web Mode: examples/mcp-config-web.json
3. Prompt Engineering Setup
For optimal results, add the following rules to your AI assistant:
# MCP Interactive Feedback Rules
follow mcp-feedback-enhanced instructions4. Web Session Behavior
In Web mode, each feedback page is bound to a concrete URL such as
/session/<session_id>.Different workspaces can keep separate active pages at the same time.
When the same workspace creates a new session, the existing page for that workspace is reused and redirected to the newest session instead of opening another duplicate page.
Compatibility endpoints such as
/api/current-sessionand/wsonly work unambiguously when there is exactly one active session. If multiple active sessions exist, they return an explicit ambiguity response instead of silently binding to the wrong workspace.
⚙️ Advanced Settings
Environment Variables
Variable | Purpose | Values | Default |
| Debug mode |
|
|
| Web UI host binding | IP address or hostname |
|
| Web UI port |
|
|
| Desktop application mode |
|
|
| Force UI language |
| Auto-detect |
MCP_WEB_HOST Explanation:
127.0.0.1(default): Local access only, higher security0.0.0.0: Allow remote access, suitable for SSH remote development environments
MCP_LANGUAGE Explanation:
Used to force the interface language, overriding automatic system detection
Supported language codes:
zh-TW: Traditional Chinesezh-CN: Simplified Chineseen: English
Language detection priority:
User-saved language settings in the interface (highest priority)
MCP_LANGUAGEenvironment variableSystem environment variables (LANG, LC_ALL, etc.)
System default language
Fallback to default language (Traditional Chinese)
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 --desktop # Test desktop application (v2.5.0 new feature)
# Debug mode
MCP_DEBUG=true uvx mcp-feedback-enhanced@latest test
# Specify language for testing
MCP_LANGUAGE=en uvx mcp-feedback-enhanced@latest test --web # Force English interface
MCP_LANGUAGE=zh-TW uvx mcp-feedback-enhanced@latest test --web # Force Traditional Chinese
MCP_LANGUAGE=zh-CN uvx mcp-feedback-enhanced@latest test --web # Force Simplified ChineseDeveloper Installation
git clone https://github.com/Minidoracat/mcp-feedback-enhanced.git
cd mcp-feedback-enhanced
uv syncLocal Testing Methods
# Functional testing
make test-func # Standard functional testing
make test-web # Web UI testing (continuous running)
make test-desktop-func # Desktop application functional testing
# Or use direct commands
uv run python -m mcp_feedback_enhanced test # Standard functional testing
uvx --no-cache --with-editable . mcp-feedback-enhanced test --web # Web UI testing (continuous running)
uvx --no-cache --with-editable . mcp-feedback-enhanced test --desktop # Desktop application testing
# Desktop application build (v2.5.0 new feature)
make build-desktop # Build desktop application (debug mode)
make build-desktop-release # Build desktop application (release mode)
make test-desktop # Test desktop application
make clean-desktop # Clean desktop build artifacts
# Unit testing
make test # Run all unit tests
make test-fast # Fast testing (skip slow tests)
make test-cov # Test and generate coverage report
# Code quality checks
make check # Complete code quality check
make quick-check # Quick check and auto-fixTesting Descriptions
Functional Testing: Test complete MCP tool functionality workflow
Unit Testing: Test individual module functionality
Coverage Testing: Generate HTML coverage report to
htmlcov/directoryQuality Checks: Include linting, formatting, type checking
🆕 Version History
📋 Complete Version History: RELEASE_NOTES/CHANGELOG.en.md
Latest Version Highlights (v2.6.0)
🚀 Auto Command Execution: Automatically execute preset commands after creating new sessions or commits, improving workflow efficiency
📊 Session Export Feature: Support exporting session records to multiple formats for easy sharing and archiving
⏸️ Auto-commit Control: Added pause and resume buttons for better control over auto-commit timing
🔔 System Notifications: System-level notifications for important events with real-time alerts
⏱️ Session Timeout Optimization: Redesigned session management with more flexible configuration options
🌏 I18n Enhancement: Refactored internationalization architecture with full multilingual support for notifications
🎨 UI Simplification: Significantly simplified user interface for improved user experience
🐛 Common Issues
🌐 SSH Remote Environment Issues
Q: Browser cannot launch or access in SSH Remote environment A: Two solutions available:
Solution 1: Environment Variable Setting (v2.5.5 Recommended)
Set "MCP_WEB_HOST": "0.0.0.0" in MCP configuration to allow remote access:
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_WEB_HOST": "0.0.0.0",
"MCP_WEB_PORT": "8765"
},
"autoApprove": ["feedback"]
}
}
}Then open in local browser: http://[remote-host-IP]:8765
Solution 2: SSH Port Forwarding (Traditional Method)
Use default configuration (
MCP_WEB_HOST:127.0.0.1)Set up SSH port forwarding:
VS Code Remote SSH: Press
Ctrl+Shift+P→ "Forward a Port" → Enter8765Cursor SSH Remote: Manually add port forwarding rule (port 8765)
Open in local browser:
http://localhost:8765
For detailed solutions, refer to: SSH Remote Environment Usage Guide
Q: Why am I not receiving new MCP feedback? A: Likely a WebSocket connection issue. Solution: Directly refresh the browser page.
Q: Why isn't MCP being called? A: Please confirm MCP tool status shows green light. Solution: Repeatedly toggle MCP tool on/off, wait a few seconds for system reconnection.
Q: Augment cannot start MCP A: Solution: Completely close and restart VS Code or Cursor, reopen the project.
🔧 General Issues
Q: How to use desktop application?
A: v2.5.0 introduces cross-platform desktop application support. Set "MCP_DESKTOP_MODE": "true" in MCP configuration to enable:
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DESKTOP_MODE": "true",
"MCP_WEB_PORT": "8765"
},
"autoApprove": ["feedback"]
}
}
}Configuration File Example: examples/mcp-config-desktop.json
Q: How to use legacy PyQt6 GUI interface?
A: v2.4.0 completely removed PyQt6 GUI dependencies. To use legacy GUI, specify v2.3.0 or earlier: uvx mcp-feedback-enhanced@2.3.0
Note: Legacy versions don't include new features (prompt management, auto-submit, session management, desktop application, etc.).
Q: "Unexpected token 'D'" error appears
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: Window disappears or positioning errors in multi-screen environment A: Fixed in v2.1.1. Go to "⚙️ Settings" tab, check "Always show window at primary screen center" to resolve. Especially suitable for T-shaped screen arrangements and other complex multi-screen configurations.
Q: Image upload failure A: Check file format (PNG/JPG/JPEG/GIF/BMP/WebP). System supports any size image files.
Q: Web UI cannot start A: Check firewall settings or try using different ports.
Q: UV Cache occupies too much disk space
A: Due to frequent use of uvx commands, cache may accumulate to tens of GB. Regular cleanup recommended:
# View cache size and detailed information
python scripts/cleanup_cache.py --size
# Preview cleanup content (no actual cleanup)
python scripts/cleanup_cache.py --dry-run
# Execute standard cleanup
python scripts/cleanup_cache.py --clean
# Force cleanup (attempts to close related programs, solving Windows file occupation issues)
python scripts/cleanup_cache.py --force
# Or directly use uv command
uv cache cleanFor detailed instructions, refer to: 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 recognizing and sometimes unable to parse uploaded image content. This is a known limitation of AI visual understanding technology. Recommendations:
Ensure good image quality (high contrast, clear text)
Try uploading multiple times, retries usually succeed
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 it useful, please:
Design Inspiration
sanshao85 - mcp-feedback-collector
Contributors
penn201500 - GitHub @penn201500
🎯 Auto-focus input box feature (PR #39)
leo108 - GitHub @leo108
🌐 SSH Remote Development Support (
MCP_WEB_HOSTenvironment variable) (PR #113)
Alsan - GitHub @Alsan
🍎 macOS PyO3 Compilation Configuration Support (PR #93)
fireinice - GitHub @fireinice
📝 Tool Documentation Optimization (LLM instructions moved to docstring) (PR #105)
Community Support
Discord: https://discord.gg/Gur2V67
Issues: GitHub Issues
📄 License
MIT License - See LICENSE file for details
📈 Star History
🌟 Welcome to Star and share with more developers!
Available Tools
2 toolsfeedbackA
Interactive feedback collection tool for LLM agents.
USAGE RULES:
During any process, task, or conversation, whether asking, replying, or completing phased tasks, you must call this tool to ask for feedback.
Unless receiving termination instructions, all steps must repeatedly call this tool.
Whenever user feedback is received, if the feedback content is not empty, you must call this tool again and adjust behavior based on the feedback content.
Only when the user explicitly indicates "end" or "no more interaction needed" can you stop calling this tool, and the process is considered complete.
You should summarize what have done, and provide project directory through args to let user know what you have done to provide feedback for next step.
| Name | Required | Description | Default |
|---|---|---|---|
| project_directory | No | 專案目錄路徑 | . |
| message | No | AI 發給用戶的說明或提問內容 | 我已完成了您請求的任務。 |
| timeout | No | 等待用戶回饋的超時時間(秒) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It mentions the interactive nature and timeout, but does not specify side effects (e.g., if feedback is stored), error handling, or what happens on timeout. Some behavioral transparency is provided but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with headers and numbered rules, but it is verbose, repeating 'call this tool' multiple times. It could be more concise while retaining clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description covers the feedback loop comprehensively: when and how to use, parameter roles, and termination conditions. Minor gaps like timeout behavior are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions in Chinese. The description adds usage context for 'message' (e.g., providing explanations) but does not significantly enhance semantics beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is an 'Interactive feedback collection tool for LLM agents', specifying the verb (collect) and resource (feedback). It distinguishes from the sibling tool 'get_system_info' by focusing on feedback interaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage rules: when to call (during any process/task), how often (repeatedly), when to stop (explicit 'end' or 'no more interaction'), and alternatives for termination. This is a model of clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_system_infoA
獲取系統環境資訊
Returns: str: JSON 格式的系統資訊
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, requires permissions, or has side effects. It only states the return type, leaving important behavioral context unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short lines. It front-loads the main purpose and avoids any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the output schema exists, the description does not elaborate on what 'system environment information' includes. It is adequate for a zero-parameter tool but lacks detail that would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is effectively 100%. The baseline for zero parameters is 4, and the description does not detract from this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '獲取系統環境資訊' (Get system environment information), which is a specific verb-resource pairing. It distinguishes itself from the sibling tool 'feedback' by having a distinct purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. While the sibling tool 'feedback' implies a different use case, the description does not elaborate on context or exclusions.
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. Dates show when Glama detected each change.
2 tool updates
v2.6.0- First observed
feedback - First observed
get_system_info
TDQS
The two tools have completely distinct purposes: one is for interactive feedback collection, the other for retrieving system information. There is no overlap or ambiguity.
The tool names follow different conventions: 'feedback' is a simple noun, while 'get_system_info' uses a verb_noun pattern. This inconsistency could confuse an agent expecting a uniform naming scheme.
With only 2 tools, the server feels under-scoped for its apparent purpose of feedback enhancement. The system info tool seems tangential, and the feedback tool alone does not justify a full server.
The server lacks essential tools for a feedback system, such as storing, retrieving, or analyzing past feedback. The presence of an unrelated system info tool further reduces coherence.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- ParleyOAuthdev.weldra
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
- OolkinOAuthcom.oolkin
AI colleagues that keep your standards, your project and their reasoning between sessions
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to request user feedback and confirmation to prevent speculative tool calls and reduce resource usage. It streamlines task completion by consolidating multiple potential steps into a single, feedback-aware process.15MIT
- FlicenseAqualityDmaintenanceEstablishes feedback-oriented development workflows with Web UI and desktop app, enabling AI to confirm with users before actions and consolidate tool calls into feedback requests.2-
- FlicenseAqualityCmaintenanceEstablishes feedback-oriented development workflows with Web UI and desktop application interfaces, enabling AI to confirm with users and consolidate tool calls into single feedback requests.2-
- FlicenseAqualityBmaintenanceInteractive feedback server for AI-assisted development with Web UI and desktop app support, enabling user feedback collection after AI tasks.2-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ming-321/mcp-feedback-enhanced'
If you have feedback or need assistance with the MCP directory API, please join our Discord server