MCP server for coding standards and best practices
This server presents three read-only tools with basic definitions but significant quality gaps. Tool names follow verb-noun conventions (list_templates, get_style_guide, get_best_practices), which is correct. However, parameter descriptions are minimal or absent, output schemas are not documented, and error handling lacks actionable recovery guidance. The server operates in STDIO mode (hard transport cap). While the tools are functional for their narrow domain, they fall short of production-quality standards for agent integration.
Get application best practices for the specified language in Markdown format
Get coding style guidelines for the specified language in Markdown format
List all available templates grouped by type and language
Missing output schema documentation. list_templates returns Dict[str, Dict[str, List[str]]] (visible in code), but no output structure is documented for the LLM. get_style_guide and get_best_practices return strings (Markdown content), but the schema is implicit, not declared.
Insufficient parameter descriptions. get_style_guide and get_best_practices accept a 'language' parameter with minimal description ('programming language for which to retrieve style guidelines'). No examples, valid formats, or accepted values are specified. LLM must guess whether 'python' vs 'Python' vs 'py' is correct.
No constraint on accepted languages. Tools accept free-form strings for 'language' parameter with no enum or validation. Missing language will silently fail with 'Error: Template file {language}_style_guide.md not found', not a user-friendly error.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Error messages are not actionable. When a template is not found, the tools return 'Error: Template file {filename} not found'. This tells the LLM nothing about what languages ARE available or how to recover. Should guide LLM to call list_templates() first.
Tool descriptions lack context. get_style_guide description is 'Get coding style guidelines for the specified language in Markdown format' (68 chars). Good clarity on format, but missing WHEN to call vs get_best_practices. Descriptions do not distinguish between the two tools or guide LLM selection.
No pagination or result limiting for list_templates. If many templates exist, the response could be large. However, no limit or pagination parameters are exposed, and no documentation states the expected size. Baseline pattern expects pagination.