Daily geopolitical/energy crisis scoring with rotation signal detection. Provides MCP tools to run the full pipeline, query trends, and rescore stored reports.
Three tools with clear, domain-specific descriptions (60-150 chars each) and proper input schemas. However, parameter descriptions are sparse or missing entirely. crisis_radar__today and crisis_radar__rescore lack parameter-level documentation. The 'window' parameter in crisis_radar__trend has a description but no type constraints (min/max). No output schemas documented. Error handling and recovery guidance absent. Naming is verb-noun compliant but generic (today, trend, rescore), does not clearly distinguish intent from similar tools in a larger toolkit.
Re-score a stored day deterministically (no web calls, no HA push). Proves the scorer is reproducible over stored indicators.
Ensure today's Crisis Radar report exists (runs the full pipeline if missing, else loads cached). Pushes the 8 sensor.crisis_radar_* states to Home Assistant. Returns scores + a ready-made German news paragraph (TTS-safe). Idempotent per day.
Return the rotation signal status and score series over the recent window. No recompute — reads stored history only.
No output schemas documented. LLMs cannot infer response structure (fields, types, nesting). Agents must guess what data is available for downstream calls.
Parameter 'window' in crisis_radar__trend has description but no min/max constraints. LLMs can pass unbounded integers (negative, zero, millions), risking performance or invalid results.
crisis_radar__today has empty input schema (no parameters documented), yet description mentions 'idempotent per day', unclear if LLM can control date or only runs for today. No parameter-level guidance.
No error handling or recovery guidance. If a tool fails (missing data, API timeout, invalid date), LLM receives no actionable next steps. No categorization of retryable vs fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Tool names (today, trend, rescore) are generic and lack namespace clarity. In a multi-tool agent, 'today' is ambiguous, today's what? Prefix with domain (e.g., get_crisis_radar_today) or use more specific verbs (fetch_daily_report, analyze_trend).