An MCP server that provides access to Go conventions and best practices through a tool interface and resource listing
Single tool 'get_convention' has a basic description (67 chars) but critically lacks parameter descriptions. The 'topic' parameter has no description explaining valid values, expected format, or examples. Input schema is present but minimal, no enum constraint for the known topics (stack, testing, openapi), forcing LLMs to guess valid values. No output schema documented. Error handling is minimal (generic 'unknown topic' message). Tool does one thing (read-only), which is good, but the interface is under-specified for reliable LLM use.
Get a specific Go convention by topic (stack, testing, openapi)
Parameter 'topic' lacks description. LLMs cannot infer valid values (stack, testing, openapi) from the name alone. Must add description: 'The convention topic to retrieve. Valid values: stack, testing, openapi.'
Input schema lacks enum constraint for 'topic' parameter. Free-form string invites hallucinated values. Should declare: {"enum": ["stack", "testing", "openapi"]}
No output schema documented. LLMs cannot plan downstream operations or extract structured data. Must document: returns {"type": "object", "properties": {"content": {"type": "string", "description": "Markdown convention text"}}}
Error message 'unknown topic: <topic>' does not guide recovery. Should return: 'Unknown topic: <topic>. Valid topics are: stack, testing, openapi. Try one of these.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Tool description (67 chars) is below the 10 - 1024 baseline and lacks context on WHEN to use it. Expand to ~150 chars: 'Retrieve Go convention documentation by topic. Use this to look up best practices for stack, testing, or OpenAPI patterns. Returns markdown text.'