A Go framework for building Model Context Protocol (MCP) servers with support for tools, resources, and prompts
Mixed quality across three tools. The two weather tools (convert_temperature, calculate_humidity_index) have proper schemas with typed parameters and descriptions, following verb_noun naming convention. However, descriptions are brief (34-52 chars, below the baseline average of 194 chars), lacking WHEN/WHY context. The order tool lacks a description entirely (critical gap) and has incomplete parameter descriptions. No output schemas are documented for any tool, violating the pattern requirement that tools document what they return. Tool naming follows verb conventions, but parameter descriptions are minimal. The codebase uses qilin framework which generates schemas from Go types, but descriptions are not comprehensive enough to guide LLM tool selection effectively.
Calculate humidity index based on temperature and humidity
Convert temperature between Celsius and Fahrenheit
order tool completely lacks description. LLMs cannot determine when or why to select this tool.
No output schemas documented for any tool. LLMs need to know what fields to expect in responses to plan downstream calls.
Tool descriptions are too brief (30-52 chars vs baseline 194 chars). Missing context on WHEN to use each tool and dependencies.
order tool parameter 'orders' lacks itemized descriptions. The nested beer_id and quantity fields have descriptions, but parent-level context is missing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 51 | - | v1 |
No error handling guidance visible. Tools should document recoverable vs fatal errors and suggest next steps.
order tool uses generic parameter name 'orders' for what appears to be a beer order. No explicit enum constraints or validation hints.