Skip to main content
Glama

Electronics Architect

Compare two designs

compare_designs
Idempotent

Compare two designs: what changed between them, and what the change did. Give each side as a design document, a saved design's designId, or a shipped templateId — mix them freely (a saved baseline against an edited document is the usual case). Returns changes (nodes added, removed and changed with every property's before/after, and wires added or removed), delta (source power, load power, total dissipation, efficiency and warning counts, each as { a, b, delta }), stages (the converters whose loss or efficiency moved), nodes (every node present in both whose voltage, current, power or junction temperature moved) and warnings.resolved / warnings.introduced. Solving both sides is unmetered. Pass monteCarlo: { trials, seed } to add yield — thermal-violation and protection-trip rates, efficiency and power statistics on both sides with the same seed, so the movement is attributable to the change; that is two metered Monte Carlo runs against the account's quota. USE THIS after every edit instead of reading two full solve results side by side; it is the cheap way to see whether a part swap helped. Needs a Pro or Team plan: a Free account is refused with PLAN_REQUIRED.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aYesThe baseline: a design document, or { designId }, or { templateId }.
bYesThe candidate: a design document, or { designId }, or { templateId }.
cornerNoTolerance corner both sides are solved at. Default "nom".
monteCarloNoAdd a yield comparison: { trials (default 200), seed }. Omit for a plain solve comparison.
ambientTemperatureNoAmbient in °C for both sides. Default is each design's own setting, else 25.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / corner / enum
      Previous value: -[
      -  "nom",
      -  "min",
      -  "max"
      -]New value: +[
      +  "nom",
      +  "min",
      +  "max",
      +  "worst"
      +]
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover safety/idempotency hints, but the description goes well beyond them: it discloses that solving both sides is unmetered, that monteCarlo is 'two metered Monte Carlo runs against the account's quota', and that a Pro/Team plan is required with a PLAN_REQUIRED refusal for Free accounts. These quota, cost and authorization facts are exactly the context annotations cannot convey.

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?

Purpose is front-loaded in the first clause and followed by the return contract, which is necessary given there is no output schema. It is dense and long, but nearly every sentence carries either a return shape, a cost implication, or a plan requirement, so little is expendable.

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?

With no output schema, the description fully documents the return surface (changes, delta, stages, nodes, warnings, optional yield). Combined with the plan requirement, metering notes and input flexibility, an agent has everything needed to call it 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?

Schema coverage is 100%, so the baseline is 3, but the description earns more by explaining that a/b can mix a document, designId and templateId freely, and that the monteCarlo seed makes movement attributable to the change. It still leaves corner and ambientTemperature semantics largely to the schema.

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?

States a specific verb (compare two designs) and resource, then enumerates exactly what it produces: what changed and what the change did. It is clearly distinguishable from siblings like solve_design, get_design and review_design because it frames itself as a diff rather than a solve or a read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'USE THIS after every edit instead of reading two full solve results side by side' explicitly names the alternative it replaces and the moment to reach for it. It also scopes the optional path ('Pass monteCarlo to add yield'), so the agent knows when the expensive branch applies.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources