mcp-feedback-enhanced-community-fix
Click on "Deploy 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-enhanced-community-fixstart a feedback session for my project report"
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 Community Fix
来源与致谢
官方增强版作者:Minidoracat
参考修复版维护者:Huo-zai-feng-lang-li
这个仓库基于上面的项目链路继续整理和维护,主要目标是保留原有使用方式,同时修复我自己实际使用过程中遇到的几个关键问题。
这是我基于 Minidoracat/mcp-feedback-enhanced 整理出来的个人维护修复版。
官方增强版已经长期没有继续处理一些实际可用性问题,而我本地又一直在用,所以把自己修过、验证过的一些 bug 收敛成了这个 GitHub 仓库,方便同样被这些问题卡住的人直接拿去用。
这个仓库当前只提供 GitHub 源码使用方式,不发布 npm 包,也不额外改命令名。目标很直接:保持原有接入方式基本不变,优先解决可用性问题。
Related MCP server: mcp-feedback-web
这个仓库修了什么
1. 修复图片附件返回的序列化兼容问题
上游部分实现仍依赖 FastMCP Image 类型,某些环境下会导致图片附件返回报错或序列化失败。
这个仓库把图片返回统一切到标准 mcp.types.ImageContent,尽量减少不同 MCP 运行时组合下的兼容性问题。
2. 修复 Dashboard / Web 面板打不开的问题
随着 Starlette / FastAPI 相关依赖更新,TemplateResponse 的调用顺序已经变化。旧写法会导致面板打开时报 500,页面直接起不来。
这个仓库已经兼容新的 TemplateResponse(request, name, context) 调用方式。
3. 默认超时时间改为一周
我把默认等待时间从 600 秒调整为 604800 秒,也就是一周。
这个改动参考并吸收了 fix-MCP-Feedback-Enhanced 的思路,适合需要长时间挂着等待下一轮反馈的场景。
和上游的差异
相对 Minidoracat/mcp-feedback-enhanced,这个仓库目前重点维护的是下面这些实际问题:
默认超时时间从
600秒调整为604800秒图片附件返回改为
ImageContent,降低附件序列化报错概率修复 Starlette 兼容问题,避免面板页面 500
如果你只是想继续使用原有功能,但正好被上面这几个问题卡住,这个仓库更适合直接拿来本地跑。
适合谁
你已经在用
mcp-feedback-enhanced你不想重新适配一套新的 MCP
你遇到了面板打不开、图片传不上去、等待时间太短这些问题
你接受通过本地源码方式接入 Cursor
使用方式
1. 克隆仓库
git clone https://github.com/orime/mcp-feedback-enhanced-community-fix.git
cd mcp-feedback-enhanced-community-fix2. 安装依赖
uv sync3. 在 Cursor 里配置 MCP
把下面配置加入 Cursor 的 MCP 配置中,把路径改成你自己的本地目录:
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/mcp-feedback-enhanced-community-fix",
"mcp-feedback-enhanced"
],
"timeout": 600000,
"env": {
"MCP_DESKTOP_MODE": "false",
"MCP_WEB_PORT": "8765",
"MCP_LANGUAGE": "zh-CN",
"MCP_DEBUG": "false"
},
"autoApprove": [
"interactive_feedback"
]
}
}
}如果你更习惯显式跑模块,也可以改成:
{
"mcpServers": {
"mcp-feedback-enhanced": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/mcp-feedback-enhanced-community-fix",
"python",
"-m",
"mcp_feedback_enhanced"
],
"timeout": 600000,
"env": {
"MCP_DESKTOP_MODE": "false",
"MCP_WEB_PORT": "8765",
"MCP_LANGUAGE": "zh-CN",
"MCP_DEBUG": "false"
},
"autoApprove": [
"interactive_feedback"
]
}
}
}常用环境变量
变量 | 说明 | 默认值 |
| 是否启用桌面模式 |
|
| Web UI 监听地址 |
|
| Web UI 端口 |
|
| 界面语言 | 自动检测 |
| 是否输出调试日志 |
|
本地测试
uv run mcp-feedback-enhanced version
uv run mcp-feedback-enhanced test --web说明
这个仓库当前优先解决我自己实际遇到的问题,不承诺跟上游保持完全同步
如果上游后续恢复维护并合入这些修复,我也建议优先回到上游
如果你只是需要一个能稳定跑的本地版本,这个仓库就是为这个目的准备的
致谢
感谢下面这些项目和作者:
noopstudios/interactive-feedback-mcpMinidoracat/mcp-feedback-enhancedHuo-zai-feng-lang-li/fix-MCP-Feedback-Enhanced
本仓库基于上游工作继续修补和整理,不是从零重写。
License
沿用上游仓库许可证,见 LICENSE。
Available Tools
2 toolsget_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, so the description must convey behavioral traits. It states the return type (JSON string), which is useful, but it does not disclose whether the operation is read-only, whether any permissions are required, or what the response contains beyond a generic 'system information'. For a simple getter, this is adequate but minimal.
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 and well-structured: a one-line purpose followed by a clear 'Returns:' specification. There is no redundancy or unnecessary prose, and the information is front-loaded.
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?
For a zero-parameter system information tool, the description is complete. It clearly states the output format (JSON), which is especially helpful given that an output schema exists (though not shown). The tool's simplicity and the presence of an output schema mean the description does not need to enumerate return fields or error conditions.
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 description need not explain parameter semantics. The input schema is empty, and per guidelines, a baseline of 4 applies. The description correctly avoids adding irrelevant parameter information.
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 the tool's function: '獲取系統環境資訊' (Get system environment information). It uses a specific verb (get) and resource (system info), and it is clearly distinct from the sibling tool 'interactive_feedback', which is unrelated.
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 no guidance on when to use this tool versus alternatives. It does not mention any use cases, prerequisites, or exclusions. Since a sibling tool exists but is not referenced, the agent has no comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interactive_feedbackA
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 |
|---|---|---|---|
| summary | No | AI 工作完成的摘要說明 | 我已完成了您請求的任務。 |
| timeout | No | 等待用戶回饋的超時時間(秒) | |
| project_directory | No | 專案目錄路徑 | . |
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, so the description bears the full burden. It discloses the iterative feedback loop behavior and mentions timeout, but does not explain what happens on timeout expiry, if the tool is blocking, or any side effects. It adequately sets expectations for the core interaction pattern but lacks some behavioral details.
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 clear bullet points but is somewhat verbose, repeating 'you must call this tool' multiple times. It could be more concise while retaining the same information.
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 (interactive loop) and the existence of an output schema, the description covers usage but does not mention what the tool returns or error handling. The output schema likely covers return structure, but the description should still reference it for 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?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining how the parameters should be used in context: summary should be a work summary, project_directory should be provided for user reference, and timeout is for waiting. This goes beyond the schema descriptions.
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 explicitly states the tool is for interactive feedback collection. The usage rules clarify its purpose as a loop mechanism for iterative feedback, distinguishing it from the sibling tool get_system_info which is for system info retrieval.
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 clear, prescriptive rules for when to call the tool (during any process, task, or conversation) and when to stop (explicit termination). It also specifies when to call again upon receiving non-empty feedback, leaving no ambiguity.
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.
2 tool updates
v2.6.0- First observed
get_system_info - First observed
interactive_feedback
TDQS
Scored across 2 tools
The two tools serve entirely distinct purposes: one retrieves system information, the other collects feedback. There is no overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern using snake_case ('get_system_info' and 'interactive_feedback'), making them predictable.
With only two tools, the server feels minimal. However, for a focused feedback-collection purpose with a system info utility, the count is acceptable, though many servers would offer more.
The server covers its stated domain (feedback collection and system info) adequately. The feedback tool is designed for repeated use mid-task, so no additional CRUD tools are needed. Minor gap: no way to retrieve past feedback, but rules imply continuous interaction.
Maintenance
Related MCP Connectors
An MCP server that automatically collects feedback on your MCP server.
Manage feature requests, votes, roadmaps, and changelogs from any MCP client.
Hosted MCP server for the FeedbackRobot customer feedback and reviews platform
Related MCP Servers
- AlicenseBqualityDmaintenanceAn advanced MCP server that provides interactive feedback mechanisms with support for various feedback types, multi-language capabilities, and team collaboration features for AI tools like Cursor, Cline, and Windsurf.41MIT
- AlicenseNot gradedqualityDmaintenanceProvides a web-based interactive feedback server for MCP, replacing desktop GUI with a browser interface supporting full CJK input and bilingual UI.1MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for Open Feedback, enabling AI assistants to submit, list, get, update status of, and analyze product feedback via a local HTTP API and JSONL storage.346 npmApache 2.0
- AlicenseNot gradedqualityBmaintenanceMCP server that exposes App Store Connect TestFlight beta feedback including screenshot submissions, crash submissions, crash logs, and screenshot downloads as tools for MCP-capable clients.2BSD 3-Clause