This server defines 5 tools with basic input schemas and descriptions, but suffers from inconsistent quality, missing parameter validation guidance, and weak error-handling documentation. Tool names follow verb_noun convention reasonably well (echo, add, web_search, get_alerts, get_forecast), but descriptions are generic and lack context about when to use each tool or what they return. Parameter descriptions exist but are minimal (7-30 chars typical), failing to convey format constraints, ranges, or dependencies. No output schemas are documented. The tools appear to be mock implementations for testing rather than production-grade integrations. While basic structure is present, the server falls below the baseline for A/B-grade tools and lands in the C-range median.
Adds two numbers together.
Echoes back the input message. Useful for testing.
Get weather alerts for a US state.
Get weather forecast for a location.
Performs a mock web search and returns dummy results.
All tool descriptions are extremely short (10-49 chars) and lack actionable context. None explain WHEN to use the tool, WHAT it returns, or any prerequisites. Baseline for A+ tools is 194 chars average.
Parameter descriptions are minimal (6-30 chars). 'search query' and 'message to echo' do not convey format constraints, length limits, or valid value ranges. LLM cannot infer constraints from bare names.
No output/return schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Pattern requires documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
web_search has a 'num_results' parameter with 'default: null'. Null defaults can cause unpredictable behavior. Should default to a positive integer (e.g. 10) to avoid LLM confusion.
No error handling or recovery guidance documented. Tools have no descriptions of failure modes, retryability, or what the LLM should do if a call fails. Pattern requires recovery guidance.
get_forecast expects latitude/longitude as raw numbers but provides no range constraints, precision guidance, or format examples. LLMs frequently hallucinate invalid lat/lon values. Add description: 'Latitude (-90 to 90), Longitude (-180 to 180), as decimal degrees'.
get_alerts accepts a 'state' parameter described only as 'Two-letter US state code (e.g. CA, NY)'. Should be an enum of valid US state codes to prevent hallucinated values like 'ZZ' or 'California'.