Skip to main content
Glama
jpsalamanca-co

OpenDSS MCP Server

opendss_plot

Read-onlyIdempotent

Create voltage profile scatter plots or georeferenced topology maps from solved OpenDSS circuits, saving results as PNG images for voltage and network review.

Instructions

Generate a voltage visualization plot and save it as PNG.

Supported plot types:

  • voltage_profile: Scatter plot of voltage vs distance from substation.

  • topology: Georeferenced network map colored by voltage level.

The circuit must be compiled and solved first.

Args: params: PlotInput with plot_type and kv_base filters.

Returns: Path to the generated PNG image file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

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?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so safety is covered. The description adds context beyond them: the compile/solve prerequisite and the fact that the operation produces a PNG artifact on disk rather than returning analysis data. It does not say where the file is written or whether it overwrites an existing one — a mild tension with readOnlyHint that goes unaddressed.

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

Conciseness4/5

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

Front-loaded with the action and output, followed by a compact bullet list of plot types. The Args/Returns block is conventional and short. Slight redundancy in restating the return value when an output schema exists, plus the erroneous 'kv_base' mention.

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 single nested parameter with an output schema present, the description covers the essential call-time context: prerequisite state, plot type choices, and the nature of the result. Remaining gaps are the kv_min/kv_max filter semantics and output file location/overwrite behavior, which are secondary to correct invocation.

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

Parameters2/5

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

Schema coverage is reported at 0%, so the description must carry the parameter burden, and it largely doesn't: kv_min and kv_max are never explained. Worse, it references 'kv_base filters', a parameter that does not exist in the schema (they are kv_max/kv_min), which can actively mislead. Only the plot_type values are restated, and those are already documented in the schema itself.

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 description gives a specific verb and resource ('Generate a voltage visualization plot and save it as PNG') and enumerates the two supported plot types, which distinguishes it from data-returning siblings like opendss_get_voltages. The framing as strictly a 'voltage visualization' is slightly narrow since the topology type is a georeferenced network map, but the enumeration corrects that.

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?

It states a concrete precondition: 'The circuit must be compiled and solved first,' which tells the agent the ordering relative to opendss_compile_file/opendss_run_command. It does not name an alternative for when numeric voltage data is wanted instead of a plot (e.g., opendss_get_voltages), so no true when-not guidance exists.

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