MCP server for interactive user feedback and command execution in AI-assisted development, by Fábio Ferreira and Pau Oliva.
Single tool with mixed quality. Tool name 'interactive_feedback' lacks action verb (should be 'request_feedback' or 'get_user_feedback'). Description is lengthy (500+ chars) and mixes Chinese usage guidelines with English, reducing clarity for LLM parsing. Input schema present with types and descriptions, but parameter descriptions are minimal (10-20 chars each). No output schema documented, tool returns MCP content blocks but this is not declared. Error handling is silent (returns empty result on timeout/failure) with no guidance to LLM on recovery. Tool is READ_ONLY per risk classification, which is correct, but not annotated in schema.
Request interactive feedback from the user. Supports text and image attachments. **使用方式**: - 当你通过此工具询问用户时,务必说明需要用户确定的内容。 - 请在完成用户布置的工作后调用该工具时,提供"结束"的选项,如果用户选择,则本次请求结束. **使用技巧**: - 请给出可选项,让用户选择,选项中请包涵你最推荐的选项,并说明理由. - 针对每个选项,请给出对应的描述,让用户了解每个选项的含义. **什么时候使用**: - 每当你全部工作完成时,请调用此工具,而非直接结束流程. - 每当你遇到需要用户确定的点时(例如进行需求讨论,或者执行任务中遇到重要分岔路口时),务必调用此工具.
Tool name lacks action verb. 'interactive_feedback' is a noun; should be 'request_feedback' or 'get_user_feedback' to signal intent to LLM.
No output schema documented. Tool returns list of MCP content blocks (TextContent, ImageContent) but LLM cannot infer structure. Must document: returns array of {type: 'text'|'image', text?: string, data?: string, mimeType?: string}.
Error handling is silent. Timeout, cancellation, and failures return empty result with no guidance. LLM cannot distinguish 'user cancelled' from 'UI crashed' from 'timeout'. Must return structured error with recovery hint.
Parameter descriptions are too brief (10-20 chars). 'Predefined options for the user to choose from (optional)' lacks format guidance. Should specify: 'Array of strings, each 1-100 chars, representing selectable choices. If empty, user enters free text.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Description mixes Chinese and English, reducing clarity for LLM parsing. Usage guidelines ('使用方式', '使用技巧') belong in a separate documentation file, not the tool description. Tool description should be 50-200 chars in English, stating: what it does, when to call it, what it returns.