MCP server providing weather alerts/forecasts via NWS API and WordPress.com blog post/category access
wp-mcp has 5 tools with basic schemas and descriptions, but significant gaps prevent higher scores. All tools have descriptions (10-80 chars, mostly short), and input schemas are present with Zod validation. However, descriptions are sparse and lack context for LLM selection. No output schemas are documented. Error handling is minimal, failures return generic text without recovery guidance. Tools lack idempotency hints, permission declarations, and composition guidance. The server mixes weather (NWS) and WordPress APIs without clear separation or dependency documentation.
Get weather alerts for a state
Get all categories available on hafiz.blog (WordPress.com)
Get weather forecast for a location
Get the 10 most recent posts from hafiz.blog (WordPress.com)
Get posts from a specific category on hafiz.blog (WordPress.com)
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to parse unstructured text and plan downstream calls blindly.
Descriptions are too short (10 - 80 chars) and lack context. 'Get weather alerts for a state' does not explain when to use this vs other tools, what the response contains, or prerequisites. Baseline for A+ tools is 50 - 200 chars with WHAT/WHEN/WHY.
Error handling returns generic text ('Failed to retrieve alerts data') without recovery guidance. LLMs cannot determine if the error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only, but this is not declared in the schema. Agents cannot determine if tools are safe to retry or have side effects.
No pagination support. get-latest-posts hardcodes per_page=10 and get-categories hardcodes per_page=50. If results exceed limits, agents cannot fetch more without tool modification.