Centralized feedback registry MCP for coding agents and subagents.
suggestion-box demonstrates solid tool design with clear naming conventions (verb_noun pattern: submit, upvote, list, dismiss, publish, status, triage) and comprehensive parameter schemas. All 7 tools have descriptions and input schemas with typed parameters. However, output schemas are not documented in the source code, and several parameter descriptions lack actionable constraints (e.g., no enum for 'status' filter values, no min/max for numeric thresholds). Error handling guidance is minimal. The tool set is well-composed with clear single responsibilities and good chaining potential (list → upvote/dismiss → publish/triage).
Dismiss a feedback entry (soft delete). Use when feedback is no longer relevant, was addressed, or is invalid.
List and filter feedback entries. Use this to review what agents have reported. Default: open items sorted by votes.
Publish a feedback entry as a GitHub issue. Requires gh CLI to be authenticated. The issue includes the feedback description, vote count, impact estimates, and evidence from agents. The github_repo parameter overrides any repo stored on the feedback entry.
Get an overview of feedback statistics including total count, breakdown by category and status, and top-voted open items.
Submit feedback about a tool, MCP server, codebase, or workflow. Configured categories: friction, feature_request, observation Use category "friction" when you: - Hit a limitation that slowed you down - Had insufficient context to complete a task - Found a tool's behavior confusing or unexpected Use category "feature_request" when: - A tool or MCP is missing a capability you need - You envision a specific improvement that would help Use category "observation" when: - You notice a pattern that could be improved - Something in the codebase or workflow is suboptimal If similar feedback already exists, your submission becomes a vote on it instead of creating a duplicate. Include impact estimates to help prioritize.
Output schemas not documented. Tools return results but LLMs cannot see expected response structure (fields, types, pagination). Forces agents to guess what data is available.
Parameter constraints missing. 'status' filter accepts free-form strings instead of enum (open|dismissed|published|pending_review). 'sort_by' lacks enum. 'limit' has no min/max bounds. Invites invalid LLM inputs.
Error handling guidance absent. Tools document what they do but not what can go wrong or how to recover. E.g., publish_to_github may fail if gh CLI not authenticated, no recovery hint provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 70 | 2026-07-28+ | v2 |
Auto-triage feedback entries by vote count. Automatically publishes high-voted feedback as GitHub issues and dismisses low-voted entries based on configured thresholds.
Upvote an existing feedback entry. Use this when you encounter the same friction or agree with a feature request found via suggestion_box_list_feedback. Include evidence about your specific experience to strengthen the case.
Pagination not explicitly documented. list_feedback accepts 'limit' but no 'offset' or 'cursor' parameter visible. Unclear how to iterate large result sets without re-fetching.
Idempotency not declared. upvote_feedback and dismiss_feedback are reversible but not marked as idempotent. Agents may retry on ambiguous failures, causing duplicate votes or re-dismissals.