Skip to main content
Glama
aivy-mcp

aivy-mcp

Official
by IVYEnergy

get_energy_mode

Retrieve a site's current energy mode, forced windows, SOC floor, Ai+ settings, and any pending timed hand-back so you can verify inverter behavior before making changes.

Instructions

Current energy mode (selfConsumption | amber_smart = Ai+ | forced), its forced windows, the SOC floor, the Ai+ variant and settings when on Ai+, and any pending timed hand-back (reverts_at / reverts_to).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>"
    },
    "name": "get_energy_mode"
  }
}

Input Schema

NameRequiredDescriptionDefault
site_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.0

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden; it implies a read via the 'Current ...' framing and discloses that the response includes transient state (pending timed hand-back with reverts_at / reverts_to), which is useful beyond a bare read declaration. It does not state that it is read-only, whether it requires site authorization, or whether it errors for unregistered/offline sites. An output schema exists, so the lack of a detailed return walkthrough is not penalized heavily.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the primary return value (current mode) and then lists secondary fields in descending priority. The 'amber_smart = Ai+' mapping is a compact and genuinely informative equivalence. It reads slightly telegraphically — a leading clause such as 'Returns ... for a site' would make it parse faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because an output schema exists, the description is not obligated to explain return values, and what it does say about response fields is accurate surplus. What is missing is context an agent actually needs for selection: how this differs from get_ai_plus and set_energy_mode, and what site_id must be. For a simple single-parameter read tool this is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the only parameter, site_id, is undocumented in both schema and description — the description never says whether it is a site GUID, name, or numeric id. The mitigating factor is that there is exactly one required parameter whose meaning is largely self-evident from the name, so the practical ambiguity is low.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the call surfaces: the current mode with its enumerated values (selfConsumption | amber_smart = Ai+ | forced), forced windows, SOC floor, Ai+ variant/settings, and pending hand-back fields. That is specific enough that an agent knows precisely what data comes back. It stops short of 5 because it never contrasts this with the closely related siblings that would be confused with it (set_energy_mode for mutation, get_ai_plus for the Ai+ configuration).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all — no statement of the read-vs-mutate split with set_energy_mode, and no guidance on whether to call this or get_ai_plus when only Ai+ settings are needed. The description is purely a content listing, so the agent must infer the calling context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.