Skip to main content
Glama
Minidoracat

mcp-feedback-enhanced

by Minidoracat

MCP Feedback Enhanced

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

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

📢 Maintenance Status (2026-08)

The project is maintained again. Please upgrade to v2.6.1 — it fixes a command execution vulnerability:

uvx mcp-feedback-enhanced@latest

What changed in v2.6.1:

  • 🔒 Command execution removed — fixes #219 (unauthenticated WebSocket could execute arbitrary programs). The old blocklist only caught shell metacharacters, but since execution used shell=False metacharacters were never the risk — cat, curl, wget, python passed straight through, and auto-command was enabled by default. The feature is gone for good. See SECURITY.md.

  • 🔒 Cross-Site WebSocket Hijacking fixed (reported privately as GHSA-cmr5-gpm3-79vf, GHSA-2wx7-r4rh-f663): browsers are not restricted by the same-origin policy when opening a WebSocket, so a malicious page could make your browser connect to the local /ws. Origin is now validated before accept(), and cross-origin attempts are rejected with 403.

  • 🐛 Fixed the Starlette breaking change that made the Web UI return 500 (#213, #217, #221, #228).

  • 🐛 Fixed image serialization (#154 and related) by switching to standard mcp.types.ImageContent.

Current maintenance scope: security issues, and compatibility breaks that make installs unusable (dependency updates, upstream breaking changes). Anything beyond that will be decided from community feedback — see the pinned discussion.

One thing worth stating plainly: the original selling point was "consolidate multiple round-trips into a single Cursor request to save quota". Cursor moved to token-based usage pricing in June 2025, so that premise no longer holds (see #115, #200). The positioning is now "insert human checkpoints into long-running tasks" — not a quota-saving tool.

Also note MCP and its clients now natively support Elicitation (server-initiated requests for user input) and MCP Apps (tools returning interactive UI). If native capabilities cover your needs, just use those — if there's something native can't do, please say so in the discussion. That's what will decide what gets fixed next.

Related MCP server: MCP Feedback Enhanced

🎯 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 inserts human checkpoints into long-running tasks, reducing drift and rework.

🌐 Dual Interface Architecture Advantages:

  • 🌐 Web UI: No GUI dependencies required, suitable for local, remote and WSL environments (the primary maintained interface)

  • 🖥️ Desktop Application: A Tauri shell that loads the same Web UI, supporting Windows, macOS, Linux (maintenance-only since v2.8.0, no new features, scheduled for removal in v3 — see "Desktop application maintenance status" below)

  • 📦 Unified Functionality: Both interfaces provide exactly the same functional experience

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

🔄 Workflow

  1. AI Call → mcp-feedback-enhanced tool

  2. Interface Launch → Auto-open desktop application or browser interface (based on configuration)

  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

🌟 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

  • Environment Adaptation: In WSL the interface opens in the Windows browser automatically; SSH Remote needs port forwarding (see FAQ)

  • 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

  • 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 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

2. Configure MCP

Basic Configuration (suitable for most users):

{
  "mcpServers": {
    "mcp-feedback-enhanced": {
      "command": "uvx",
      "args": ["mcp-feedback-enhanced@latest"],
      "timeout": 600,
      "autoApprove": ["interactive_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": ["interactive_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": ["interactive_feedback"]
    }
  }
}

⚠️ Desktop application maintenance status (since v2.8.0)

The desktop application is maintenance-only: no new features (always-on-top, staying resident, keeping the window after submit), only security fixes and "cannot launch at all" compatibility fixes; it is scheduled for removal in v3, and the release notes will name the last version that still ships the desktop binaries. Why: it is a thin Tauri shell around the Web UI, yet it accounts for ~80% of the package size, needs three-platform CI plus code signing, and most reported issues are platform-compatibility problems that cannot be reproduced in CI (antivirus false positives, glibc, Gatekeeper, high DPI, multi-monitor).

  • To keep using desktop mode: change the args in your IDE's MCP configuration from mcp-feedback-enhanced@latest to a pinned version (e.g. mcp-feedback-enhanced@2.8.0) and keep MCP_DESKTOP_MODE=true. Since 2.8.0, if the desktop shell cannot start (quarantined by antivirus, glibc too old, blocked by Gatekeeper, exits with an error right after launch), that call automatically opens the browser instead and prints the URL to stderr rather than waiting silently until the timeout; restarting the MCP server retries the desktop shell. Do not pin to 2.6.0 or earlier (unauthenticated command execution, see SECURITY.md).

  • To switch to web mode: remove MCP_DESKTOP_MODE. The functionality is identical, the tab stays open after submit and refreshes on the next call. If you want a standalone window, open the feedback page in Chrome/Edge and choose "Install as app" — but that is a browser feature, not an equivalent of the desktop shell: the backend is still started by the MCP call, once the app window is closed the next call opens a normal browser tab rather than the app window, the app must be reinstalled if the port changes, and notification permission must be granted again; use an OS-level tool for always-on-top.

Configuration File Examples:

3. Prompt Engineering Setup

For optimal results, add the following rules to your AI assistant:

# MCP Interactive Feedback Rules

follow mcp-feedback-enhanced instructions

⚙️ Advanced Settings

Environment Variables

Variable

Purpose

Values

Default

MCP_DEBUG

Debug mode

true/false

false

MCP_WEB_HOST

Web UI host binding

IP address or hostname

127.0.0.1

MCP_WEB_PORT

Web UI port (0 lets the OS pick a free port, which can change on every start)

0, 1024-65535

8765

MCP_DESKTOP_MODE

Desktop application mode

true/false

false

MCP_LANGUAGE

Force the Web UI language (also used for error messages returned to the AI)

zh-TW/zh-CN/en

Not set

MCP_WEB_HOST Explanation:

  • 127.0.0.1 (default): Local access only — keep this setting

  • 0.0.0.0: Binds all interfaces. ⚠️ Not recommended: the Web UI and /ws endpoint have no authentication, so anyone who can reach the port can read session content (including project paths and AI summaries) and submit feedback. Use SSH port forwarding instead (see Common Issues).

MCP_LANGUAGE Explanation:

  • Accepted values are exactly zh-TW (Traditional Chinese), zh-CN (Simplified Chinese) and en (English); surrounding spaces are ignored. Any other value (such as ja, EN, zh_TW or an empty string) is ignored and treated as not set

  • Web UI language (feedback page and waiting page):

    1. MCP_LANGUAGE: the page opens in this language. The language picker still works, but only for the current page — the choice is not saved, and refreshing or reopening the page goes back to MCP_LANGUAGE. While it is set, the language saved in ui_settings.json is neither used nor changed

    2. Language saved from the UI (language in ~/.config/mcp-feedback-enhanced/ui_settings.json)

    3. Browser language

    4. Traditional Chinese (zh-TW)

    Without MCP_LANGUAGE, switching the language in the UI is saved to ui_settings.json.

  • Language of error messages returned to the AI:

    1. MCP_LANGUAGE

    2. System environment variables (LANG, LC_ALL, LC_MESSAGES, LANGUAGE)

    3. System locale

    4. Traditional Chinese (zh-TW)

    The language picked in the Web UI does not affect error messages.

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 (the test subcommand sets MCP_DEBUG=true itself; debug logs go to stderr)
uvx mcp-feedback-enhanced@latest test --web

# Specify language for testing (the language picker only applies to the current page and is not saved)
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 Chinese

Developer Installation

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

Local Testing Methods

# 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 --web       # Web UI testing with the project .venv (continuous running)
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-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.6.0)

  • 📊 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: Use SSH port forwarding (secure, nothing exposed):

  1. Use default configuration (MCP_WEB_HOST: 127.0.0.1)

  2. Set up SSH port forwarding:

    • VS Code Remote SSH: Press Ctrl+Shift+P → "Forward a Port" → Enter 8765

    • Cursor SSH Remote: Manually add port forwarding rule (port 8765)

  3. Open in local browser: http://localhost:8765

⚠️ Older READMEs recommended MCP_WEB_HOST=0.0.0.0 to expose the service directly. No longer recommended: the Web UI and /ws endpoint have no authentication, so binding publicly lets anyone on the network read your session and submit feedback.

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": ["interactive_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: 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 clean

For 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:

  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 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_HOST environment 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

☕ Support Development

MCP Feedback Enhanced is free and open source. If it saves you time, you can support its development on Ko-fi:

Support me on Ko-fi

📄 License

MIT License - See LICENSE file for details

📈 Star History

Star History Chart


🌟 Welcome to Star and share with more developers!

Available Tools

2 tools
get_system_infoGet System InfoC

獲取系統環境資訊

NameRequiredDescriptionDefault

No parameters

Output 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 FeedbackA

Interactive feedback collection tool for LLM agents.

USAGE RULES:

  1. During any process, task, or conversation, whether asking, replying, or completing phased tasks, you must call this tool to ask for feedback.

  2. Unless receiving termination instructions, or this tool returns a "no user response" result, all steps must repeatedly call this tool.

  3. 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.

  4. You can stop calling this tool, and the process is considered complete, when the user explicitly indicates "end" or "no more interaction needed", or when this tool returns a "no user response" result (the wait timed out or the user closed the feedback UI) — in that case finish the task and do NOT call this tool again.

  5. 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.

NameRequiredDescriptionDefault
summaryNoAI 工作完成的摘要說明我已完成了您請求的任務。
timeoutNo等待使用者回饋的逾時時間(秒)。有效範圍 60–86400;超出範圍會由伺服器端鉗制,因為使用者需要實際可用的回饋時間。
project_directoryNo專案目錄路徑.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the two behaviors that matter most: the call blocks waiting on a human, and it can return a 'no user response' result when the wait times out or the user closes the feedback UI. It also reveals that a feedback UI is presented to the user, which is a real side effect. It omits what the returned feedback payload looks like and whether server-side clamping of timeout changes the effective wait.

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?

The numbered-rule structure is front-loaded and scannable, but the block is long for a 3-parameter tool and rules 2 and 4 overlap heavily (both describe when to stop calling). Rule 3's phrasing 'you must call this tool again' after receiving feedback is redundant with rule 2's repeat instruction.

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

Completeness4/5

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

There is no output schema, so the description should explain return semantics; it partially does via the 'no user response' outcome, but never describes the shape of a successful feedback response. For a zero-required-parameter, blocking, human-in-the-loop tool the description covers the essential lifecycle (when to call, how to loop, how to terminate) and only leaves the success payload unspecified.

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 both the summary and timeout semantics (including the 60-86400 clamp) are already documented in the schema. The description only adds light framing in rule 5, telling the agent to put a summary of completed work and a project directory into the args so the user has context. That is a useful intent hint but not a semantic detail the schema lacks, so baseline 3 applies.

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

Purpose3/5

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

The opening line 'Interactive feedback collection tool for LLM agents' names the resource but restates the name/title almost verbatim, and never says plainly what invoking it does (block and wait for a human to type feedback in a UI). The numbered rules imply the behavior indirectly, but an agent must infer 'this call pauses and surfaces a prompt to the user' from fragments like 'wait timed out' and 'user closed the feedback UI'.

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

Usage Guidelines5/5

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

Rules 1-4 give explicit triggering conditions ('during any process... you must call this tool'), explicit loop behavior ('all steps must repeatedly call this tool'), and explicit stop conditions ('user explicitly indicates end', 'no user response'). Alternatives are implicitly excluded since the only sibling, get_system_info, is unrelated, so no routing ambiguity remains. The only weakness is verbosity/repetition between rules 2 and 4.

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. 1 tool updatev2.8.5
    • Changedinteractive_feedback1 field changed
      • changedInput schema / properties / timeout / description
        Previous value: -"等待用戶回饋的超時時間(秒)。有效範圍 60–86400;超出範圍會由伺服器端鉗制,因為使用者需要實際可用的回饋時間。"New value: +"等待使用者回饋的逾時時間(秒)。有效範圍 60–86400;超出範圍會由伺服器端鉗制,因為使用者需要實際可用的回饋時間。"
  2. 1 tool updatev2.6.2
    • Changedinteractive_feedback2 fields changed
      • changedInput schema / properties / timeout / description
        Previous value: -"等待用戶回饋的超時時間(秒)"New value: +"等待用戶回饋的超時時間(秒)。有效範圍 60–86400;超出範圍會由伺服器端鉗制,因為使用者需要實際可用的回饋時間。"
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "result": {
        -      "items": {},
        -      "type": "array"
        -    }
        -  },
        -  "required": [
        -    "result"
        -  ],
        -  "type": "object",
        -  "x-fastmcp-wrap-result": true
        -}New value: +null
  3. 2 tool updatesv2.6.0
    • First observedget_system_info
    • First observedinteractive_feedback

TDQS

B3.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: interactive_feedback collects user feedback, while get_system_info retrieves environment information. There is no meaningful overlap or risk of misselection.

Naming Consistency4/5

Both names use snake_case, which is consistent. However, interactive_feedback is a noun phrase rather than a verb_noun pattern like get_system_info, creating a minor stylistic deviation.

Tool Count3/5

Two tools is thin for a dedicated server, even one focused on feedback collection. The system-info tool is only loosely related to the core feedback purpose, making the set feel under-scoped.

Completeness3/5

The primary feedback collection operation is present, but there are no companion operations for session management, feedback history, or explicit completion/cancellation. The system-info tool adds unrelated functionality rather than filling lifecycle gaps.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Establishes feedback-oriented development workflows with dual Web UI and Desktop interfaces, enabling AI to confirm with users before actions and consolidate multiple tool calls into a single feedback request.
    2
    2
    -
  • A
    license
    A
    quality
    D
    maintenance
    Establishes 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
    21 PyPI
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Interactive feedback server for AI-assisted development with Web UI and desktop app support, enabling user feedback collection after AI tasks.
    2
    MIT