A Go implementation of the Model Context Protocol (MCP) server framework
This server has significant definition quality gaps. Tool naming is inconsistent (three duplicate 'hello' tools with different schemas), descriptions are generic and lack context, and parameter descriptions are minimal. Schemas are present but lack depth. No error handling guidance, no output schema documentation, and no tool annotations. The duplicate tool registrations suggest incomplete implementation or testing artifacts left in examples.
Performs basic mathematical operations
Get the weather forecast for temperature, wind speed and relative humidity
Say hello to a person
Says hello to the provided name
Say hello to a person
Say hello to a person
Returns the current time
Returns the current time in the specified format
Duplicate tool definitions: 'hello' registered 3 times with different schemas; 'time' registered twice. This creates ambiguity for LLMs and suggests incomplete cleanup of example code.
Tool descriptions are generic and lack context. 'Say hello to a person' does not explain when to use this tool, what it returns, or how it differs from other tools. Descriptions should be 50-200 chars and answer: what, when, why.
No output schema documentation. Tool responses return Content objects but LLMs cannot see what fields to expect. Every tool must document its return type.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, abort). Error responses must be actionable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY but this is not reflected in the schema or capability declarations.