Skip to main content
Glama

Render a Smith chart (PNG / SVG)

render_smith_chart
Idempotent

Draw publication-quality Smith charts as PNG or SVG, adding circuit arcs, impedance points, VSWR circles, Q contours, S-parameter traces, and amplifier overlays.

Instructions

Draw a publication-quality Smith chart and return it as an image (PNG, via resvg) and/or SVG. Layers (all optional, combine freely): a circuit (load + components listed load → source) drawn as the classic constant-R / constant-G / transmission-line arcs with a node marker per component, plus an optional frequency-sweep trace of the input; impedance or Γ points; VSWR circles; constant-Q contours; arbitrary circles (e.g. from gain_circles / noise_circles / amplifier_stability, centre given as Γ); an S11/S22 locus from a Touchstone file; and amplifier overlays computed from a device (stability circles with the unstable side shaded, available/operating gain circles, noise-figure circles). Impedance, admittance or combined grid; light or dark theme; optional output_path to also save the file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
z0NoChart reference impedance Z0 (Ω).
gridNoGrid type: Z chart, Y chart or combined ZY chart.both
sizeNoChart width in px.
themeNolight
titleNoChart title.
formatNoReturned image format.png
pointsNoIndividual impedances (z) or reflection coefficients (gamma) to mark.
circlesNoArbitrary circles in the Γ plane.
circuitNoCircuit to draw as Smith chart arcs (same format as analyze_circuit).
languageNoLanguage of the human-readable summary: 'en' (English) or 'tr' (Türkçe). Defaults to the server setting.
amplifierNoAmplifier overlays computed from a two-port.
png_scaleNoPNG pixel density multiplier (2 = crisp on HiDPI; 1 = smaller payload).
q_contoursNoConstant-Q contours (|X|/R = Q), e.g. [1, 2, 5].
output_pathNoAbsolute file path to also write the image to (.png or .svg; with format 'both' both files are written).
vswr_circlesNoConstant-VSWR circles to draw, e.g. [1.5, 2, 3].
touchstone_traceNoPlot the S11 (or S22) locus of a Touchstone file, e.g. a measured antenna.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, and the description is consistent with them by disclosing the write behavior: optional output_path writes the file, with format 'both' writing two files. It adds useful context (rendering engine, file output) but does not discuss failure modes or overwrite semantics.

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?

A single dense paragraph, but it is front-loaded with purpose and format before enumerating layers, and every sentence conveys a distinct capability. It is longer than ideal and slightly run-on, though nothing is clearly redundant.

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 16-parameter, deeply nested tool with no output schema, the description covers the full set of renderable layers and states the return format, so an agent can compose a call without opening the schema. It omits only peripheral details like error conditions or file-overwrite behavior.

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 94%, so the schema carries most parameter meaning (baseline 3). The description still adds value by explaining layer intent — VSWR circles, constant-Q contours, Γ-plane circle centres, amplifier overlays with shaded unstable side — and that components run load → source, which the schema alone states less plainly.

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?

Specific verb+resource ("Draw a publication-quality Smith chart") with output format stated immediately (PNG via resvg and/or SVG). It enumerates the exact layer types it can render, which cleanly separates it from siblings like analyze_circuit, gain_circles, and noise_circles that compute rather than draw.

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?

Gives clear workflow context: circles can come from gain_circles / noise_circles / amplifier_stability and circuit format is 'same format as analyze_circuit', which routes the agent to the right producers. It lacks an explicit when-not or a stated call ordering, so it stops short of full when/alternatives guidance.

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