Skip to main content
Glama
PVsyst CLI MCP

PVsyst CLI MCP

pvsyst_clone_subarray

Duplicate a PVsyst grid subarray and its exclusive inverter/MPPT groups, preserving orientation and MPPT layout; optionally clone the fixed plane or share one inverter subtree.

Instructions

[Projects & Variants] Duplicate a grid subarray and all its exclusively owned inverter groups. source_subarray_id requires a strict JSON integer, not a boolean, string or float. By default keep the shared fixed-plane orientation and serialized MPPT layout. Complete exclusive MPPT branches are preserved, not switched to independent mode. Empty shading Flags=$00/$00020000/$00080000 still require geometry/table exclusion. clone_orientation=true appends an independent fixed plane and updates its NoOrientation reference/list count: requires complete grid counts, all strings in one orientation, a flat Flags=$00 non-averaged source, and sequential ordered TOrientGroup IDs. Supports ordinary branches without explicit MPPT, or verified Version=8.1.0/8.1.6 independent $0400 layouts with disabled sharing -1, exclusive direct MPPT children and complete declared input counts. It preserves mode, input/leaf multiplicities and copied loss/model fields; no MPPT pairing, shared parent construction or electrical fitting. Returns orientation_id and orientation_cloned. Independent plane copying rejects circuit-level orientation references instead of retaining stale allocation. Multiple groups require fully checked counts. Shared power, external target-ID references and shading geometry/tables are not supported. Requires the current variant hash; saves a rollback snapshot. share_inverter=true instead copies the one owned MPPT subtree under the same inverter, creating a bounded shared parent with aggregate name and owner 0. Requires Version=8.1.0/8.1.6, independent $0400, explicit disabled sharing -1, complete counts, one inverter/input (multiplicity 1), and all strings in the existing plane. New member keeps disabled sharing and its copied parameters; topology grouping is separate from enabling power sharing and hardware sizing. Do not combine with clone_orientation. Returns shared_parent_created.

Input Schema

NameRequiredDescriptionDefault
projectYes
variantYes
share_inverterNo
expected_sha256Yes
clone_orientationNo
source_subarray_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/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 behavioral burden and does so extensively: it states that a rollback snapshot is saved, the variant hash is required, shared power and external references are unsupported, and specific MPPT layouts are preserved or rejected. It also discloses return fields such as orientation_id, orientation_cloned, and shared_parent_created. This is unusually rich behavioral disclosure for a mutation tool.

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 purpose is front-loaded, but the body is a dense wall of technical clauses with no bullets, headings, or paragraph breaks. Most sentences contain necessary constraints, but the lack of structure makes the definition harder to scan than it needs to be. It is adequately sized for a complex operation but not concise in presentation.

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 complex, unannotated mutation tool with six parameters and no output schema, the description covers prerequisites, supported and unsupported cases, snapshot behavior, and return fields. It gives the agent enough information to avoid common invalid invocations, including MPPT layout restrictions and version-specific requirements. The remaining omission of project and variant semantics is minor because those are standard context parameters.

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 adds meaningful semantics for source_subarray_id, expected_sha256, clone_orientation, and share_inverter. It warns that source_subarray_id must be a strict JSON integer and ties expected_sha256 to the current variant hash. It does not explain project or variant, though those are likely obvious from context, leaving a minor gap rather than a major one.

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?

The description opens with a specific verb and resource: duplicate a grid subarray and its exclusively owned inverter groups. This clearly distinguishes the operation from broader sibling tools such as pvsyst_clone_variant and pvsyst_update_variant_components. The functional scope is immediately understandable despite the dense detail that follows.

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?

The description provides substantial conditional guidance for the clone_orientation and share_inverter modes, including preconditions and the explicit warning not to combine them. It does not, however, compare this tool to sibling alternatives or state when to choose cloning versus creating or updating subarrays through other tools. Usage context is clear but lacks explicit alternative routing.

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