MCP Server for Automated Program Repair AST Patcher Skill
Single tool with minimal definition quality. Tool name 'generate_candidate_patches' is verb-noun compliant but generic. Input schema present with basic types (string, integer) but lacks parameter descriptions entirely, critical violation of pattern:tool-description. No output schema documented. Tool description (11 words, ~80 chars) is below the 10 - 1024 char baseline and provides no context on WHEN to use, WHAT it returns, or prerequisites. No error handling guidance. No input validation or constraints (e.g., line number bounds, code length limits). Parameters lack descriptions, making it impossible for LLMs to understand what 'source_code' and 'faulty_line' represent or how to construct valid calls.
Generate mutated AST candidate patches for faulty code lines
Missing parameter descriptions in input schema. 'source_code' and 'faulty_line' have no descriptions, LLMs cannot infer what format source_code should be (full file? snippet?), what language, or valid range for faulty_line.
No output schema documented. Tool returns JSON with 'operator', 'faulty_line', 'patched_code', 'status' fields, but this structure is not declared in the tool definition. LLMs cannot plan downstream operations or extract results reliably.
Tool description is too brief (80 chars, below 10 - 1024 baseline) and lacks context. Does not explain WHEN to call it, WHAT it returns, or prerequisites (e.g., 'source_code must be valid Python'). LLMs cannot determine if this is the right tool for their task.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No input validation or error guidance. Tool silently continues if AST parsing fails (exception caught and skipped). LLM receives empty candidate list with no explanation, cannot self-correct or retry intelligently.
No parameter constraints. 'faulty_line' accepts any integer with no bounds checking. LLMs may pass negative, zero, or out-of-range line numbers, causing silent failures or unexpected behavior.