MCP server that provides tools for news fetching, calculations, and user data, plus dynamic resources
Server has 4 tools with significant quality gaps. Tool naming is inconsistent (add, calculate_bmi, get_user_weight, latest_news); only 2 of 4 start with action verbs. One tool (get_user_weight) lacks any description entirely. Parameter descriptions are present but minimal (avg ~30 chars vs baseline 72). Input schemas are visible and typed, but output schemas are undocumented. No error handling guidance, no pagination support, no structured output documentation. The 'latest_news' tool exposes API key via environment but lacks rate limiting and timeout handling.
Add two numbers
Calculate BMI given weight in kg and height in meters
Fetch latest news
Output schemas are undocumented. Tools return strings (add returns int, calculate_bmi returns float, latest_news returns raw API response text) but LLM cannot infer structure.
latest_news returns raw API response text without pagination, result limits, or structured fields. No guidance on handling large responses.
No error handling or recovery guidance. If latest_news API fails, tool returns raw error text.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Naming inconsistency: 'add' and 'calculate_bmi' are clear, but 'get_user_weight' and 'latest_news' are vague. 'get_user_weight' returns hardcoded string, not actual user data. 'latest_news' lacks verb clarity (fetch_latest_news would be better).