A2A (Agent-to-Agent) and MCP (Model Context Protocol) server for environmental and agricultural data queries, providing tools for air quality, rainfall, radiation, lightning, wind, and soil monitoring via InfluxDB sensors and OpenWeather API.
16 tools with identical structural patterns but significant quality gaps. All tools have descriptions (Portuguese, domain-specific) and input schemas with proper JSON Schema structure. However, descriptions are minimal (40-90 chars, below the 194-char baseline), parameter descriptions are absent entirely, and output schemas are not documented. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being READ_ONLY. Parameter naming is inconsistent: farmCode uses const constraint (good), but time parameters (start/stop/every) lack descriptions explaining format expectations. No error handling guidance visible. Tools are well-composed (each queries one metric), but descriptions lack WHEN/WHY context needed for LLM selection.
Consulta condições atuais do ar da Fazenda NSAAB usando OpenWeather via cache ambiental.
Consulta umidade do ar da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta pressão atmosférica da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta temperatura do ar da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta incidência de raios da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta risco elétrico por raios da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Parameter descriptions completely absent. All 16 tools have parameters (farmCode, start, stop, every, group, units, lang, cnt) with no descriptions explaining format, constraints, or purpose. LLMs cannot infer that 'start' expects ISO 8601 or flux duration syntax.
Tool descriptions are minimal (40 - 90 chars, well below 194-char baseline) and lack WHEN/WHY context. E.g., 'Consulta dados de solo...' tells WHAT but not WHEN to call this vs. other soil tools or when soil data is needed for decision-making.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Consulta descargas atmosféricas da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta radiação solar da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta chuva acumulada da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta previsão de chuva da Fazenda NSAAB usando OpenWeather via cache ambiental.
Consulta dados de solo da Fazenda NSAAB em environmental/edaphic/Sector 4/NSAAB via cache ambiental.
Consulta condições atuais de vento da Fazenda NSAAB usando OpenWeather via cache ambiental.
Consulta direção do vento da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta previsão de vento da Fazenda NSAAB usando OpenWeather via cache ambiental.
Consulta rajadas de vento da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Consulta velocidade do vento da Fazenda NSAAB usando sensor Atmos41 via cache ambiental.
Output schemas not documented. No visible schema definitions for what each tool returns (e.g., does smart_soil_data return {value, unit, timestamp} or {data: [{...}]}?). LLMs cannot plan downstream tool calls or extract fields without knowing response structure.
No tool annotations despite all tools being READ_ONLY. MCP spec supports readOnlyHint, destructiveHint, and idempotentHint. All 16 tools should declare readOnlyHint=true to signal safety and enable agent optimizations.
No error handling guidance. No visible error responses, recovery hints, or categorization (retryable vs. user-fixable vs. fatal). If a sensor is offline or API rate-limited, the agent has no guidance on what to do next.