Netatmo Weather Station MCP Server - AI-powered weather monitoring with sampling and predictive analytics
Server exhibits critical definition quality gaps. All 4 tools use portmanteau (multi-operation) patterns with operation enums, violating single-responsibility principle. Tool descriptions are verbose marketing copy (200+ chars) rather than LLM-optimized guidance. Parameter schemas lack proper type definitions for nested objects (e.g., 'parameters' in ai_weather_sampling is type 'object' with no properties defined). No output schemas documented. Error handling and recovery guidance absent. Naming is generic (weather_*_operations) rather than verb-noun action-oriented. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only. Composition is poor: tools should be split by operation (list_stations, get_station_info, get_current_weather, get_historical_weather, etc.) to enable proper agent planning.
AI-driven weather sampling tool for intelligent data collection and analysis. Supports adaptive sampling strategies, pattern detection, and anomaly identification with conversational AI workflow integration.
Portmanteau tool for weather data retrieval, historical analysis, and sampling. Supports current readings, historical data, statistical analysis, and AI sampling workflows with conversational context.
Weather forecasting and predictive analytics tool. Generates short-term predictions, trend analysis, and weather alerts using machine learning models trained on historical data.
PORTMANTEAU PATTERN RATIONALE: Consolidates station discovery, status monitoring, and configuration into single interface. Prevents tool explosion while maintaining full weather station management capabilities. Follows FastMCP 3.4 best practices for conversational AI workflows. Comprehensive weather station management with conversational returns.
Portmanteau anti-pattern: all 4 tools combine multiple operations (list+get+status, current+historical+sample+analyze) into single tools with operation enums. Violates single-responsibility principle and forces LLMs to reason about which operation to invoke rather than selecting the right tool.
Parameter 'parameters' in ai_weather_sampling is type 'object' with no properties schema defined. LLMs cannot infer valid keys or structure. Violates JSON Schema best practices and makes the tool unusable without external documentation.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:tool requirement that output structure be explicit.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
Tool descriptions are marketing copy (200+ chars) rather than LLM-optimized guidance. Descriptions should answer: What does it do? When to use it? What does it return? Current descriptions bury actionable details in verbose prose.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Missing current MCP spec feature that helps agents reason about safety and retry behavior.