Get energy usage
get_energy_usageReturns Powerwall / solar live status and calendar history when the owner has an energy site. Does not wake the car.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| period | No |
get_energy_usageReturns Powerwall / solar live status and calendar history when the owner has an energy site. Does not wake the car.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| period | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: it will not wake the car (a meaningful side-effect guarantee in a toolset full of wake_vehicle dependencies) and it only works when an energy site exists, implying an empty or error result otherwise. Return-format and pagination behavior are still unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core capability is front-loaded and the caveat follows. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and three undocumented parameters, the description should do more: it gestures at 'live status' and 'history' but does not describe the shape of either, nor how the optional date/period filters select between them. The prerequisite disclosure is helpful, but an agent still cannot tell from the definition how to call it for a specific time window.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters (start, end, period), so the description carries the full burden and does not meet it. It never mentions the date-range semantics of start/end, their accepted formats, or how period interacts with them (e.g. whether period overrides the range), leaving the agent to guess at invocation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Returns') and resource ('Powerwall / solar live status and calendar history'), which clearly separates this from the vehicle-centric siblings like get_battery_and_range and get_charging_history. The qualifier 'when the owner has an energy site' scopes the domain, though 'calendar history' remains slightly vague about what data is actually returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies a precondition ('when the owner has an energy site') and an implicit preference signal ('Does not wake the car'), which hints this is the low-impact way to check energy data versus waking the vehicle. However, it never names an alternative tool or states explicitly when to prefer this over get_battery_and_range or get_vehicle_state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.