Skip to main content
Glama
PVsyst CLI MCP

PVsyst CLI MCP

pvsyst_prepare_design_project

Creates a new PVsyst design project without GUI or annual simulation, validating declared design, weather, and component inputs, with a dry-run option and explicit review flags.

Instructions

[Projects & Variants] Prepare one new design project without GUI or annual simulation, using existing flow gates. Same strict SingleDesignRequest/source/weather/fixed_unshaded_grid boundaries as pvsyst_simulate_design: exact PAN/OND and template, explicit counts or sourced design envelope, declared angles/losses and bound existing/csv/open_meteo weather. Missing design evidence stops with concrete issues; no manufacturer/site value is guessed. dry_run writes nothing. Future weather/seed inputs return ready_for_weather, never a falsely completed native preflight. Execution reuses guarded clone/source/component/ capacity/parameter edits and structural readback, then stops BEFORE SFI/CSV/PDF/run. A zero remaining simulation quota does not itself block non-simulation preparation; required weather commands/version/licence are still queried, not bypassed. status=prepared or needs_review with prepared=true means configured files exist; simulated/native_consumption_verified stay false and metrics stays null. Review flags are preserved, including provider/weather review, never upgraded to energy acceptance. Results/prepare.json retains declared request/envelope/selected sources, inherited configuration and existing guarded recovery transactions. Existing files are not overwritten, original template/component/weather assets remain protected. prepared_project gives exact project/variant/year/SIT/MET for a subsequent house task or explicit native run; report_pages is validated but no report is generated here. The old simulation entry still runs its annual path by default. No new sizing/PV model.

Input Schema

NameRequiredDescriptionDefault
specYes
dry_runNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses that dry_run writes nothing, that execution stops before SFI/CSV/PDF/run, that existing files are not overwritten and templates/assets are protected, that quota exhaustion doesn't block preparation, and the meaning of status/prepared flags. The gaps are around exact return shape and error payloads, which are only sketched.

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 remainder is a dense ten-sentence wall of jargon ('using existing flow gates', 'exact PAN/OND', 'sourced design envelope') that is hard to parse and mixes several distinct concerns (boundaries, idempotency, quota, status flags, file naming) without grouping. Readable but not economical.

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 complex nested-request tool with no annotations and no output schema, the description covers the important behavioral surface: what it does and doesn't do, safety/protection guarantees, status semantics, result-file naming, and the handoff artifact for downstream tasks. Missing only the concrete return/issue format, which an agent would need to interpret failures fully.

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

Parameters3/5

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

Top-level schema coverage is 0%, so the description must compensate; it does map the spec contents (exact PAN/OND and template, explicit counts or design envelope, declared angles/losses, bound existing/csv/open_meteo weather) and explains dry_run's no-write behavior and report_pages validation. But it gives no per-field syntax or defaults, and much of the nested field meaning is left to the $defs that the coverage metric doesn't credit.

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 first sentence names a specific verb+resource ('Prepare one new design project') and explicitly scopes it as without GUI or annual simulation, which separates it from pvsyst_simulate_design by name. It could be sharper against prepare_sourced_design / prepare_block_project, whose boundaries it never mentions, but the core operation is unambiguous.

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 implies when to use it ('prepared_project gives exact project/variant/year/SIT/MET for a subsequent house task or explicit native run') and when not to simulate ('stops BEFORE SFI/CSV/PDF/run'). However, it never explicitly contrasts the three prepare_* siblings or says 'use this instead of X when Y', leaving the routing decision partly inferred.

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