Skip to main content
Glama
PVsyst CLI MCP

PVsyst CLI MCP

pvsyst_create_native_load_variant

Preview or create a new PVsyst variant with one native flat load block (constant, monthly or daily) without editing the source variant files.

Instructions

[Loads & Storage] Preview or create a NEW variant with one native flat load block (constant, monthly or daily). Supported subset is a native 8.1.6 PV-only single-subarray Grid variant with exactly one ordinary fixed plane, free horizon, no shading scene or module layout, no P50/P90, and a pvSystem declaring only Flags=$06000000 and SystemType=Grid; main array Flags=$01900400/Flags2=$082A and subarray Flags=$019E1002 stay unchanged. mode is the explicit discriminator: constant{constant_kw} writes ConstantLoad with Energy Units=kW; monthly{monthly_energy_kwh} writes the declared twelve kWh values as ValMonth plus the observed three trailing 0.000 slots; daily{daily_power_kw} writes 24 hourly powers and a trailing slot equal to their sum, which reproduces the observed native layout only and is not a load or dispatch model. Numbers must be strict finite nonnegative 0.001-step values; constant_kw must be positive and profiles need at least one positive entry. The 1e6 cap is an adapter bound, not a native or engineering limit. Booleans, strings, empty or wrongly sized arrays, NaN/Inf and unknown fields are rejected, never silently dropped. Only root pvVCalcul bit19, the directly owned pvLoad block and an optional root Comment are written; root Flags must already be 0 or 0x80000 and agree with the presence of an existing pvLoad. An existing constant/monthly/daily block is replaced in place before the unique SimulPlots=Start anchor; the owning pvLoad Comment is normalized to a fixed MCP label inside this declared subset. HourlyFile, Probability, HouseHold, nested, duplicated-owner or unknown-field blocks stop. dry_run=true writes nothing. Execution creates one NEW VC and never edits the source PRJ/VC, inputs, weather, topology or other loads; existing store locking, path checks, read-back verification and no-overwrite semantics apply. add_utf8_bom follows the existing explicit marker habit: false keeps the source marker and a non-ASCII variant_name then needs an existing BOM, true writes a UTF-8 BOM to the NEW VC and is also accepted without a name; bom_added reports it. native_consumption_verified stays false: verify native E_User and the PDF for the matching year/timezone before treating a saved block as consumed.

Input Schema

NameRequiredDescriptionDefault
loadYes
dry_runNo
projectYes
new_variantYes
add_utf8_bomNo
variant_nameNo
source_variantYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/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 so thoroughly: it discloses exactly what is written (bit19, pvLoad, optional Comment), what gets replaced in place, locking/path/read-back/no-overwrite semantics, and the honest caveat that native_consumption_verified stays false pending manual E_User/PDF verification.

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?

Purpose is front-loaded, but the body is a dense wall of run-on clauses that is hard to scan. Most sentences carry real information, yet the volume and lack of paragraph breaks make it heavier than necessary for the 7-parameter surface.

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

Completeness5/5

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

For a mutation tool with no annotations and no output schema, the description covers modes, validation, side effects, failure modes, BOM handling and verification caveats comprehensively. Nothing an agent needs to call it correctly appears to be missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate and largely does: it explains mode as the discriminator, constant_kw units and positive constraint, monthly twelve-kWh semantics, daily 24 hourly powers plus trailing sum slot, dry_run, add_utf8_bom interaction with variant_name, and strict numeric validation rules.

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

Purpose5/5

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

States a specific verb (preview or create) and resource (a NEW variant with one native flat load block) and enumerates the three modes and the exact supported structural subset. An agent can distinguish it from generic load-profile siblings by the 'native flat block' / constant|monthly|daily framing.

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

Usage Guidelines4/5

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

Clearly indicates dry_run=true writes nothing and execution creates a NEW VC without touching the source, and names failure conditions (HourlyFile, Probability, HouseHold, duplicated-owner blocks stop). It does not explicitly compare against pvsyst_create_load_variant or pvsyst_prepare_load_profile, leaving some sibling routing 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