siglent-sdg-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SIGLENT_IP | No | Fallback if SIGLENT_SDG_IP is not set | |
| SIGLENT_PORT | No | Fallback if SIGLENT_SDG_PORT is not set | 5025 |
| SIGLENT_SDG_IP | No | Generator IP address for auto-connect on startup | |
| SIGLENT_SDG_PORT | No | TCP 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectA | Connect to a Siglent SDG waveform generator over TCP. Returns device identification on success. |
| disconnectA | Disconnect from the waveform generator. |
| identifyA | Query the waveform generator identification (*IDN?). Returns manufacturer, model, serial number, and firmware version. |
| get_outputA | Get the output state of a channel, including on/off status, load impedance, and polarity. |
| configure_outputA | 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_burstA | 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_channelA | 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 an arbitrary SCPI query to the waveform generator and return the response. Use this as an escape hatch for commands not covered by other tools. Note: CHDR is set to OFF, so responses contain only values (no headers). |
| scpi_commandA | Send an arbitrary SCPI command to the waveform generator (no response expected). Use this as an escape hatch for commands not covered by other tools. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Each tool targets a distinct resource or action: connection management, identification, output control, basic wave, modulation, sweep, burst, arbitrary wave, reset, channel copy, sync, phase, and raw SCPI. The get/configure pairs are clearly separated by waveform function, and the two SCPI tools are explicit escape hatches.
Most tools follow a consistent verb_noun pattern with get_ and configure_ pairs (e.g., get_output/configure_output, get_sweep/configure_sweep). Minor deviations include set_arbitrary_wave instead of configure_arbitrary_wave, and equal_phase/copy_channel which don't follow the get/configure convention.
At 21 tools, the server is slightly above the ideal 3-15 range but remains reasonable given the feature-rich scope of a waveform generator (connection, output, multiple wave modes, arbitrary waves, sync, phase, SCPI). Some redundancy exists (identify vs connect returning IDN), but each tool covers a distinct capability.
The tool set provides comprehensive coverage of the waveform generator's core lifecycle: connection, identification, output configuration, basic wave, modulation, sweep, burst, arbitrary wave selection, synchronization, phase alignment, and reset. The inclusion of scpi_query and scpi_command as escape hatches ensures any unmodeled functionality is still accessible.