Skip to main content
Glama
siglent-sdg-mcp

siglent-sdg-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SIGLENT_IPNoFallback if SIGLENT_SDG_IP is not set
SIGLENT_PORTNoFallback if SIGLENT_SDG_PORT is not set5025
SIGLENT_SDG_IPNoGenerator IP address for auto-connect on startup
SIGLENT_SDG_PORTNoTCP port (only change if your setup differs)5025

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
connectB

Connect to a Siglent SDG waveform generator over TCP. Returns device identification on success. Only hosts and ports allowed by the server configuration can be used.

disconnectA

Disconnect from the waveform generator.

identifyA

Query the waveform generator identification (*IDN?). Returns manufacturer, model, serial number, and firmware version.

get_outputB

Get the output state of a channel, including on/off status, load impedance, and polarity.

configure_outputC

Configure the output of a channel. Can turn output on/off, set load impedance, and set polarity.

get_basic_waveA

Get the basic waveform parameters of a channel, including waveform type, frequency, amplitude, offset, phase, duty cycle, etc.

configure_basic_waveA

Configure the basic waveform parameters of a channel. Multiple parameters can be set in a single call. The command builds a single BSWV command with all specified parameters.

get_modulationA

Get the modulation parameters of a channel. Returns all modulation settings including type, source, frequency, depth/deviation, and carrier parameters.

configure_modulationA

Configure modulation on a channel. Set state first (ON), then type and parameters. Commands are sent sequentially: state, then type, then type-specific parameters, then carrier parameters.

get_sweepA

Get the sweep parameters of a channel, including state, time, start/stop frequencies, sweep mode, direction, trigger source, carrier settings, and marker.

configure_sweepA

Configure sweep on a channel. State must be set to ON before other parameters. Builds a single SWWV command with all specified parameters.

get_burstA

Get the burst wave parameters of a channel, including state, period, trigger source, burst mode (gate/ncycle), cycle count, carrier settings, and delay.

configure_burstB

Configure burst mode on a channel. State must be set to ON before other parameters. Builds a single BTWV command with all specified parameters.

get_arbitrary_waveA

Get the current arbitrary waveform selection for a channel. Returns the waveform index and name.

set_arbitrary_waveA

Set the arbitrary waveform for a channel by index number or by name. Use index for built-in waveforms (e.g. 2=StairUp, 18=Sinc, 26=Cardiac) or name for user-defined waveforms.

resetA

Reset the waveform generator to factory default settings (*RST).

copy_channelB

Copy all parameters from one channel to another.

configure_syncC

Configure the sync output signal for a channel.

equal_phaseB

Synchronize the phase of both channels (EQPHASE). Aligns the phase relationship between C1 and C2.

scpi_queryA

Send a read-only SCPI query to the waveform generator and return the response. Use this as an escape hatch for queries not covered by other tools. The command must be a single SCPI header ending in '?' (e.g. 'C1:BSWV?'); anything that could change instrument state is rejected. Note: CHDR is set to OFF, so responses contain only values (no headers).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct subsystem-plus-action pairing (get/configure per output, basic wave, modulation, sweep, burst, arbitrary wave), and the one-off operations (copy_channel, equal_phase, identify, reset) are clearly unique. The get_/configure_ symmetry makes boundaries obvious, and scpi_query is explicitly framed as an escape hatch rather than a rival to the dedicated tools.

Naming Consistency4/5

A strong verb_noun convention dominates (get_basic_wave/configure_basic_wave, get_sweep/configure_sweep, get_burst/configure_burst). Minor deviations: set_arbitrary_wave breaks the configure_ pattern used everywhere else, and stand-alone verbs like copy_channel, equal_phase, and identify sit outside the scheme.

Tool Count4/5

Twenty tools is on the heavy side, but the device genuinely has six or so independently configurable subsystems, each warranting a get/configure pair. Every tool maps to a real instrument command, with little obvious redundancy beyond the scpi_query catch-all.

Completeness4/5

Most subsystems have symmetric read/write coverage plus connection lifecycle, copy_channel, equal_phase, reset, and identify. Minor gaps: configure_sync has no get_sync counterpart, and functions like harmonic/combine or counter modes are only reachable via scpi_query, but that escape hatch keeps agents from dead-ending.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues