Skip to main content
Glama
PVsyst CLI MCP

PVsyst CLI MCP

pvsyst_create_grid_storage_variant

Preview or create a new variant from an AC-coupled grid storage template, validating SOC, efficiency, strategy, and grid availability settings.

Instructions

[Loads & Storage] Preview or create a NEW VC from an existing native AC-coupled Grid storage template. Supported variant declarations are 8.1.0/8.1.6 with one complete flat pvGridStorage, Grid pvSystem, declared active storage/battery bits, an existing BTR reference and positive pack counts. SOC fields are fractions 0..1; require min < max, initial and reserve inside those bounds. PMaxCharge limits the charger's AC input in kW, PMaxDisch the battery inverter's AC output; neither is a hybrid DC-port rating. Explicit max/Euro efficiencies are percent, with Euro <= max. Scalar-only edits also retain the source PeakShaving/PVToGridMin pair with MinMaxHour or AfterSunset unchanged; source and candidate both validate SOC/efficiency/window semantics. Explicit strategy still uses SelfConsumption or WeakGrid with PVAvailable/Immediate. Public getter exposes grid_storage for read/re-edit; absent storage is null. WeakGrid requires a fresh availability declaration: full-year UserData Date;Grid Available / ;ratio CSV, ISO interval-start hours, exact 0/1 values, fixed standard offset and at least one outage. Bind native pvUnavail/HourlyVal GrdUnav Factor/Aver day snapshots, match the load snapshot year and require the root self-consumption flag. reserve_soc is SOCDischSelf: WeakGrid preserves it with grid available and permits discharge toward SOCDischDecl during outages. It is unused as backup in SelfConsumption; never a standalone generator voltage threshold. Preview writes nothing. Execution creates a NEW VC, retains source PRJ/VC, battery filename/counts, PV/load/site/temperature/SOW/topology. Optional allow_grid_export toggles only native system bit27: false prevents grid injection, true allows it subject to existing limits, omitted preserves it. This is not a charge-from-grid switch and not a hybrid DC-port setting. This does not construct hybrid ports, add battery hardware, schedule grid charging, infer efficiencies or certify physical sizing. Verify native SOC and energy flows before treating saved fields as consumed.

Input Schema

NameRequiredDescriptionDefault
dry_runNo
projectYes
updatesYes
new_variantYes
availabilityNo
source_variantYes
allow_grid_exportNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose real behavior: dry-run writes nothing, execution creates a new variant while retaining source PRJ/VC, battery filename/counts and topology, and allow_grid_export maps only to native bit27. It also explicitly negates likely misreadings ('not a charge-from-grid switch,' 'does not construct hybrid ports'). It omits permission requirements and failure modes, and the dense prose makes the disclosure hard to extract.

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

Conciseness3/5

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

The first sentence is well front-loaded and most sentences carry distinct constraints, but the whole is a ~300-word run-on with redundant negative statements ('not a charge-from-grid switch and not a hybrid DC-port setting. This does not construct hybrid ports...') and no visual structure, which slows an agent trying to extract call requirements.

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

Completeness4/5

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

Given no annotations, no output schema, 0% schema coverage and nested objects, the description is unusually complete: validation semantics, strategy constraints, retention behavior, and the getter/null rule are all covered. It still does not describe what this tool's own response contains on preview versus creation, which matters for a 7-parameter mutation tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: SOC fractions bounded 0..1 with min<max, PMaxCharge/PMaxDisch defined as AC-side limits rather than hybrid DC ratings, efficiencies as percent with Euro<=max, and full availability-profile semantics (ISO interval-start hours, fixed standard offset, at least one outage). The mapping from prose terms like 'PMaxCharge' to the actual parameter names (max_charge_ac_kw) is left implicit, and some parameters (e.g., dry_run, new_variant) get only indirect treatment.

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 opening sentence states a specific verb and resource: 'Preview or create a NEW VC from an existing native AC-coupled Grid storage template,' which separates it from pvsyst_create_grid_storage_system and pvsyst_clone_variant by scope. It never names those siblings explicitly, so the differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

It conveys that 'Preview writes nothing' while execution creates a new VC, and it enumerates preconditions for the WeakGrid strategy and for supported 8.1.0/8.1.6 declarations. It does not state when an agent should choose this over create_grid_storage_system or clone_variant, leaving usage to inference.

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

Deploy Server

Other Tools