Skip to main content
Glama
jpsalamanca-co

OpenDSS MCP Server

opendss_fault_sweep

Idempotent

Run three-phase faults at multiple buses to build a fault current curve for plotting Icc versus distance or sizing protection equipment.

Instructions

Run three-phase faults at multiple buses to build a fault current curve.

Re-compiles the circuit for each bus to get clean, independent results. Useful for plotting Icc vs distance or sizing protection equipment.

Args: params: FaultSweepInput with list of buses.

Returns: Table of fault currents and Scc per bus.

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 idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the safety profile is largely covered. The description still adds genuine behavioral context by disclosing that the circuit is re-compiled for each bus to yield clean, independent results, which explains the cost and state implications of the sweep.

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 purpose sentence, followed by a behavioral note, a use-case line, and explicit Args/Returns blocks. Well organized and mostly waste-free, though the Args/Returns scaffolding restates information the schema and output schema already carry.

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?

With annotations covering the safety profile and an output schema existing, the description need not explain return values, yet it briefly does. It discloses the recompile behavior and the multi-bus scope, leaving only minor gaps around the r_fault parameter and error handling.

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?

Reported schema description coverage is 0% at the top level; the description only notes that params is a FaultSweepInput 'with list of buses.' It does not explain r_fault (default 0.0001) or response_format, so the description partially compensates for the coverage gap but leaves two parameters undocumented.

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?

States a specific verb and resource ('Run three-phase faults at multiple buses') plus the intent ('build a fault current curve'), so the agent understands the operation. The 'multiple buses' scope implicitly separates it from the single-bus opendss_fault_3ph sibling, but that sibling is never named, so differentiation is left to inference.

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?

Offers concrete use cases ('plotting Icc vs distance or sizing protection equipment'), which implies when this tool is appropriate. However, it never says when to prefer it over opendss_fault_3ph or opendss_thevenin_z1/z0, nor does it state any prerequisites, so selection between the fault tools remains guesswork.

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