MCP Server for serving extracted coding rules from historical PR reviews. Queries a knowledge matrix of architectural constraints and reports rule feedback.
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. query_architectural_constraints has a reasonable description (95 chars) and three typed parameters with descriptions. report_rule_feedback has a shorter description (108 chars) and two parameters with enum constraint on 'action'. However, neither tool documents output schemas, limiting LLM ability to chain results. Parameter descriptions are minimal (e.g., 'Number of relevant historical constraints to retrieve' lacks guidance on when to use different values). No error handling guidance visible. No tool annotations (readOnlyHint/destructiveHint). Missing idempotency guarantees and recovery paths.
Queries the historical PR database for contextually similar anti-patterns mapping to the current code diff
Reports whether a rule suggestion was applied or dismissed by the developer. Call this after presenting a constraint from query_architectural_constraints.
No output schemas documented for either tool. LLMs cannot infer what fields to expect or plan downstream calls. query_architectural_constraints should document the structure of returned rules (rule_id, description, severity, file_patterns, etc.). report_rule_feedback should clarify what success/failure responses contain.
Parameter descriptions lack actionable constraints. 'top_k' says 'Number of relevant historical constraints' but does not specify valid range (e.g., 1 - 20), default behavior, or when to increase/decrease. 'file_path' says 'Path of the file being edited' but does not clarify format (relative vs absolute, with/without leading slash) or whether it supports glob patterns.
No error handling guidance. If query_architectural_constraints finds no matching rules, what does it return? Empty list? Error? If report_rule_feedback receives an invalid rule_id, what recovery path should the LLM take? Absence of error classification (retryable vs user-fixable vs fatal) leaves agents unable to respond intelligently to failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Missing tool annotations. query_architectural_constraints is marked READ_ONLY but lacks readOnlyHint annotation in schema. report_rule_feedback is marked WRITE but lacks destructiveHint. These annotations help LLMs reason about side effects and retry safety.
Composition gap: query_architectural_constraints returns rule_id (inferred), which report_rule_feedback accepts. However, no documentation confirms this chain works or what fields are required. If query_architectural_constraints returns additional metadata (severity, file_patterns, rationale), the response should include rule_id prominently to enable immediate feedback reporting.