A collection of MCP servers including Weather Service and Store Service implementations
This collection exhibits severe quality gaps across all dimensions. Nine tools are defined, but only 6 unique tools exist (getWeather, countProducts, listNames, getTemperature, rainTomorrow); three are duplicates. NO tool has a description, all are missing entirely. Input schemas are minimal: getWeather/getTemperature/rainTomorrow accept {city: string} with no parameter descriptions; countProducts/listNames accept empty objects {}. No output schemas are documented. Error handling is present in fake-store.ts but returns generic text ('Error fetching...') with no recovery guidance. No tool annotations (readOnlyHint, etc.). Tool names lack clarity: getWeather appears 3 times across files, creating confusion about which implementation is canonical. No pagination, no structured output beyond plain text responses. This is a beginner-level collection suitable only for learning, not production.
All 9 tools lack descriptions entirely. LLMs cannot determine when or why to select a tool without a description.
Parameter 'city' in getWeather/getTemperature/rainTomorrow has no description. LLMs cannot infer whether to pass a city name, code, or coordinate.
countProducts and listNames accept empty input schemas ({}). No parameters are defined, yet both fetch from external APIs. Schema is incomplete and does not document output structure.
Three duplicate tool definitions (getWeather appears in main.js, main.ts, and weather-mcp.js). Ambiguous which is canonical; creates confusion for LLM tool selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Error handling in fake-store.ts returns generic text ('Error fetching products count') with no recovery guidance. LLM cannot determine if error is retryable or what to do next.