Skip to main content
Glama
PVsyst CLI MCP

PVsyst CLI MCP

pvsyst_simulate_design

Preflight or execute a bounded PVsyst design flow from declared inputs without the GUI, covering weather, capacity planning, and full-year simulation. Dry runs return concrete issues.

Instructions

[Simulation] Preflight or execute one bounded design flow from declared inputs without the GUI. spec.new_project names the NEW working project and is required. scope is fixed to fixed_unshaded_grid: one subarray, one ordinary fixed plane, a Grid system, PRCorrTemp=False and no active geometry, layout or shading scene. The flow locates exact loose PAN/OND components and an eligible workspace template. If no template or variant is pinned and no candidate is eligible, it can derive a NEW template from the installed 8.1 residential seed, preserving its source fields and declaring the target MPPT counts. It builds the linear design envelope from declared inputs, plans integer capacity, configures the working project and, with dry_run=false, runs the full year. The verified 8.1 workspace root must be named PVsyst8.1_Data. Read-only preflight reports missing standard folders and blocks file conflicts or escaping paths; execution fills missing empty folders without renaming the root or replacing files. weather.mode=existing uses the named workspace SIT/MET pair, weather.mode=csv names a staged standard hourly CSV, and weather.mode=open_meteo acquires one public ERA5 year. Dry-run with open_meteo or a not-yet-created standard template returns ready_for_weather with execution_preflight_complete=false: this is an input/template plan, not a runnable native design. electrical_design requires declared coefficients with units and sources, and source-declared current limits. Voltage/current field names imply V/A when units are omitted; explicitly contradictory units are blocked. Missing required data returns concrete issues; an empty object never becomes ready. losses overrides LIDLoss, PMismMPP and ModuleQualityLoss on the subarray and UFactor on the main array. Every field of spec that is not supplied keeps the template value; no loss, coefficient, temperature or azimuth is fitted, inferred or defaulted, and no design is certified here. status is blocked/ready/ready_for_weather/completed/ needs_review/failed; inspect it, not just MCP is_error. Year is 1969..2068. The returned issues, warnings, transactions and recovery steps state exactly what was and was not changed. Optional spec.report_pages selects native PDF page names; omitted means the complete default report, and invalid lists stop before discovery/weather.

Input Schema

NameRequiredDescriptionDefault
specYes
dry_runNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/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: it discloses that no loss, coefficient, temperature or azimuth is fitted or defaulted, that no design is certified, that missing data returns concrete issues rather than a ready state, that preflight blocks file conflicts and escaping paths while execution fills empty folders without replacing files, the year range 1969..2068, and the full status enumeration. It also warns that MCP is_error alone is insufficient and that the returned issues/transactions state exactly what changed.

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 front-loads purpose well, but the body is a dense wall of clauses with no grouping, repeated hedging phrases ('exactly what was and was not changed', 'not an input/template plan, not a runnable native design'), and several sentences that could be compressed. Given the genuine complexity, most content earns its place, but the structure makes it hard to scan.

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?

For a tool with no output schema, no annotations, and a deeply nested 2-parameter schema, the description supplies an unusually complete operational picture: preflight vs execution behavior, template derivation fallback, weather sourcing, status enumeration, and return-content guarantees. It stops short of covering the full nested surface (capacity, temperatures, effective irradiance, template_project/variant pinning) that an agent would need to populate spec correctly.

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?

Top-level schema coverage is effectively absent, so the description must compensate, and it does for the highest-risk fields: spec.new_project is named as required, weather.mode values are defined, losses overrides are mapped to subarray vs main array targets, electrical_design is described as requiring coefficients with units and sources plus source-declared current limits, unit inference and contradiction rules are stated, and report_pages semantics are spelled out. Gaps remain for template_project, tilt/azimuth, capacity vs electrical_design precedence, and dry_run's default of true is never stated outright.

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 gives a specific verb pair (preflight or execute) and resource (one bounded design flow), and pins scope to fixed_unshaded_grid with a concrete description of what that scope excludes (one subarray, no shading/geometry). It never names a distinguishing sibling such as pvsyst_simulate_template or pvsyst_run_simulation, so the agent must infer the boundary from prose alone.

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?

Usage conditions are implied richly (dry_run=true for preflight, dry_run=false to run the full year; weather.mode=existing/csv/open_meteo select different sources), but there is no explicit statement about when to choose this tool over the numerous sibling design/simulation tools. The agent gets conditions for how to call it, not when to prefer it.

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