A Go implementation of the Model Context Protocol (MCP) SDK providing server and client functionality for building MCP-compliant applications
This is an SDK, not a production server. The 3 example tools have minimal descriptions and incomplete schemas. 'greet' has a trivial 7-char description ('say hi'). 'weather' lacks any description entirely. 'cityTime' has a reasonable description but the weather tool is undescribed. Input schemas are present but sparse, weather omits a description for the location object. No output schemas are documented. Error handling is absent from examples. The SDK itself (tool.go) shows good infrastructure (ToolHandlerFor, schema validation, applySchema), but the example tools do not demonstrate production-grade quality. Naming is acceptable (verb_noun pattern), but parameter descriptions are minimal or missing.
Get the current time in NYC, San Francisco, or Boston
say hi
weather tool has NO description. LLMs cannot determine when to select it or what it returns.
greet tool description is 7 characters ('say hi'). Rubric requires 10 - 1024 chars and must explain WHAT, WHEN, and prerequisites.
weather tool input schema lacks description for 'location' parameter. LLMs cannot infer whether to pass a string, object, or coordinates.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract expected fields.
No error handling guidance in examples. Tools do not indicate what errors are retryable, user-fixable, or fatal.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |