MCP Server for creating unified diff patches from code and applying patches with fuzzy line drift tolerance
Two tools with basic schemas and minimal descriptions. create_patch has a 67-char description (below baseline 194 chars); apply_patch_fuzzy has 68 chars. Both lack parameter descriptions entirely, critical gap per pattern:tool-description. Schemas present but parameters undescribed (original_text, modified_text, patch_text, max_drift have no descriptions in the schema). No output schema documented. No error handling guidance. Naming is verb-forward (create_, apply_) but descriptions do not explain WHEN to use each tool or what they return. No mention of idempotency, side effects, or recovery paths.
Apply patch to code with line drift tolerance.
Create unified diff patch from original and modified code.
Parameter descriptions missing entirely. Schema defines original_text, modified_text, filename, patch_text, max_drift with no descriptions. LLMs cannot infer parameter meaning from names alone.
Tool descriptions are 67 - 68 characters (well below 194-char baseline). Lack WHEN to use, WHAT it returns, and prerequisites. create_patch does not mention it generates RFC-standard unified diff; apply_patch_fuzzy does not explain fuzzy matching or conflict reporting.
No output schema documented. LLMs cannot plan downstream calls or extract fields. create_patch returns a string; apply_patch_fuzzy returns a dict with status, applied_hunks, conflicts, patched_text, but this is invisible to the agent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. apply_patch_fuzzy can fail to locate hunks (conflicts array) but the tool description does not explain what the agent should do on conflict. No recovery hints.
apply_patch_fuzzy has a WRITE risk (modifies code) but description does not state this. Agents need to know which calls are irreversible. No mention of idempotency or side effects.