Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/rooney2020/qt-interactive-feedback-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/rooney2020/qt-interactive-feedback-mcp/mcp-feedback)<a href="https://agentmods.dev/rules/rooney2020/qt-interactive-feedback-mcp/mcp-feedback"><img src="https://agentmods.dev/badge/rules/rooney2020/qt-interactive-feedback-mcp/mcp-feedback.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02124 | $0.02124 |
| Opus 5 | $0.01062 | $0.01062 |
| Sonnet 5 | $0.00425 | $0.00425 |
| Haiku 4.5 | $0.00212 | $0.00212 |
Grade A, and why
mcp-feedback scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
反馈交互规则
核心原则
每次对话都必须通过交互工具与用户保持持续沟通,禁止单方面结束对话。
工具选择策略
interactive_feedback 始终优先,不区分中间过程还是最终确认。只有连续失败 3 次后才降级到 AskQuestion。
| 场景 | 使用工具 | 说明 |
|---|---|---|
| 所有交互场景 | interactive_feedback | 始终优先使用 |
| interactive_feedback 连续失败 3 次后 | AskQuestion | 降级备选 |
关键规则
- 所有交互(中间确认、方案选择、最终确认)都优先使用
interactive_feedback - 只有
interactive_feedback连续失败 3 次(非心跳的真正错误)后,才降级到AskQuestion - 降级后每次交互仍应先尝试
interactive_feedback,成功则恢复优先使用 - 用户说"等一下"/"稍后"/"我先离开"时,不要调用任何交互工具(避免超时浪费请求)
心跳保活机制
工作原理
interactive_feedback MCP 工具内置了 progress notification 心跳机制:
- Qt 反馈窗口在等待用户输入时不会被关闭
- 工具在内部通过 MCP progress notification 保持连接,不会频繁返回心跳消息
- 工具会持续等待直到用户提交反馈或 timeout 到期(默认 12 小时)
- 只有在完整 timeout 到期后,才会返回心跳消息
[心跳]
心跳处理规则
- 正常情况无需处理心跳:工具会在内部保持等待,大多数情况下直接返回用户反馈
- 识别心跳:仅当 timeout 完全到期后,返回内容包含
[心跳]关键词 - 静默重连:收到心跳后,不输出任何文字,直接再次调用
interactive_feedback(使用相同的 summary 和 project_directory 参数) - 心跳不计入失败次数:心跳是正常行为,不算作失败
心跳流程
interactive_feedback(summary) → [内部 progress notification 保活] → 用户提交 → 返回反馈
→ timeout 到期 → [心跳] → 静默重新调用
超时重连机制
当 interactive_feedback 工具因 Cursor 侧超时或连接断开而失败时:
- 立即重新调用
interactive_feedback,使用相同的参数 - 不输出任何文字说明,直接静默重连
- 超时不计入连续失败次数
- 如果反复超时(连续 3 次),降级到
AskQuestion并提供"重试 interactive_feedback"选项
Cursor MCP 工具注册表失效处理
长时间运行的 agent 会话中,Cursor 可能出现 MCP 工具注册表暂时失效,错误特征:Tool not found 或 Connection closed。
- 识别:错误信息包含
Tool not found或Connection closed - 不计入失败次数:此类错误是 Cursor 暂时性问题
- 重试策略:首次 sleep 10s 后重试;之后每次 sleep 60s;最多重试 10 次
- 全部失败:降级到
AskQuestion,说明 Cursor MCP 连接异常及重试次数 - 重试成功后重置所有计数
tab_id 和 tab_title 参数规则
调用 interactive_feedback 时,必须传入 tab_id 和 tab_title 参数。
tab_id(会话唯一标识)
- 首次调用时必须随机生成一个全新的 UUID(使用 UUID v4 随机生成,严禁使用文档中的示例 UUID)
- 同一会话中所有调用必须使用相同的
tab_id tab_id用于去重:同一tab_id的新请求会自动替换旧 tab- 不同会话必须使用不同的
tab_id - 禁止直接复制文档示例中的 UUID,必须每次随机生成
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 162 lines · 2,124 tokens per session scan A f48eff27cf39
mcp-feedback is a cursor rule published in the GitHub repository rooney2020/qt-interactive-feedback-mcp (16 stars, last pushed 4mo ago), licensed MIT. It adds 2,124 tokens to every session, about $0.0106 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
ponytail
Ponytail, lazy senior dev mode. Always pick the simplest solution that works.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
prefer-assertions-over-defensive-checks
Prefer assertions over defensive checks when data is guaranteed to be valid.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.