MCP server for architectural verification of Go projects with layer boundary enforcement and AI self-healing guidance
arch-vet defines 4 tools with clear verb-noun naming (verify_*, check_*, get_*, explain_*) and reasonable descriptions (100-180 chars). However, critical gaps undermine production readiness: (1) Input schemas lack required field declarations and type constraints (e.g., 'dir' and 'preset' in verify_architecture have no 'required' array, no minLength/maxLength, no enum for preset values). (2) Parameter descriptions are minimal, 'Root directory of the Go project' lacks guidance on absolute vs relative paths, defaults, or validation rules. (3) No output schemas documented; callers cannot predict response structure. (4) Error handling is generic ('Failed to load Go packages') with no recovery guidance. (5) Tool composition is sound (each does one thing), but missing pagination, batch operations, and chaining IDs.
Verify only modified or untracked Go files in the Git working tree for rapid sub-50ms feedback during agent coding loops.
Explain an architectural rule with rationale and concrete Go refactoring examples.
Get the active architectural layer map, conventions, and dependency rules of the Go project to ground the AI before generating code.
Verify architectural layer boundaries and detect leaks in a Go project with actionable AI self-healing guidance.
Input schemas lack required field declarations, type constraints (minLength, maxLength, enum), and format specifications. 'preset' parameter accepts free-form strings instead of enum ['hexagonal', 'clean']. 'dir' has no validation rules.
No output schemas documented. Callers cannot predict response structure (fields, types, pagination). Code shows text-only responses, but structure is implicit, not explicit.
Parameter descriptions are generic and lack actionable guidance. 'Root directory of the Go project (defaults to current working directory)' does not specify absolute vs relative paths, validation rules, or error cases.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error responses are generic ('Failed to load Go packages: %v') with no recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal.
Tool composition is sound, but missing batch operations and pagination. check_diff filters diagnostics in-memory; large projects may exceed context limits. No limit parameter or pagination cursor.