MCP server for weather conditions and deployment safety decisions
Three tools with basic Zod schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-60 chars, below the 50-200 char baseline for LLM optimization). Parameters lack detailed constraints, format specifications, and dependency documentation. No output schemas documented. Error handling returns generic text responses without recovery guidance. Tool naming is acceptable (verb_noun pattern) but descriptions are too terse to guide LLM selection effectively.
Check if it's safe to deploy to a server in a specific city
Deploy application to a server in a specific city if conditions are safe
Get current weather conditions for any city in the world
Descriptions are too short (25-60 chars vs. 50-200 char baseline). 'Get current weather conditions for any city in the world' lacks WHEN to use it, prerequisites, or distinction from check-deployment-safety. LLMs cannot reliably select between similar tools with minimal descriptions.
Parameters 'city' and 'country' lack format constraints, validation rules, or examples. No guidance on accepted formats (e.g., 'city name only, no abbreviations'), length limits, or character restrictions. LLMs will pass arbitrary strings.
No output schemas documented. Callers cannot predict response structure (content array with text field). LLMs cannot plan downstream tool calls or extract structured data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Error responses are generic text ('Error retrieving weather data') without recovery guidance. No indication whether errors are retryable, user-fixable, or fatal. LLMs cannot self-correct or plan next steps.
deploy-to-city is a WRITE operation (irreversible deployment) with no dry-run, confirmation step, or idempotency guarantee. Agents can trigger unintended deployments without safeguards.