Skip to main content
Glama
shaag7967

mcp-server-siglent-sdm3045x

by shaag7967

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SDM_SERIALNoSerial number to pick one instrument when several are connected (shown by get_device_info, on the rear label and under Utility → System Setup → System Info). Default is any SDM3045X. Excludes SDM_RESOURCE.
SDM_RESOURCENoVISA resource string or address for the instrument. Can be a device file (/dev/usbtmc0), an IP address or host name (VXI-11), or a VISA resource string such as TCPIP::192.168.1.50::5025::SOCKET or USB0::0xF4EC::0x1203::SDM34XXXXXXXXX::INSTR. Default is auto-detect on USB, then LAN. Excludes SDM_SERIAL.
SDM_LOG_LEVELNoLog level for the server.WARNING
SDM_ALLOW_SCPINoSet to 1 to enable the raw SCPI tool, which can change any setting including the LAN configuration. Off by default.0
SDM_VISA_BACKENDNoVISA backend to use (e.g. @py for pyvisa-py, or @ivi for NI-VISA/Keysight IO Libraries on Windows/macOS USB).@py

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
readA

Take one reading with the function and range currently set on the instrument (does not change them).

Returns value, unit, range, timestamp (UTC) and, where the data sheet allows, the accuracy.

measureA

Select a measurement function and take one reading.

This switches the instrument (front panel included) to the given function, with autorange unless a range is given. Returns value, unit, range used, timestamp (UTC) and, where the data sheet allows, the accuracy of the reading.

Args: function: Measurement function. Leads in HI/LO for voltage, resistance_2w, capacitance, frequency, period, continuity, diode and temperature; in I/LO for currents; resistance_4w also uses HI Sense/LO Sense. range: Fixed range in V, A, Ω or F; omit for autorange. dc_voltage 0.6, 6, 60, 600, 1000; ac_voltage 0.6, 6, 60, 600, 750; dc_current 0.0006, 0.006, 0.06, 0.6, 6, 10; ac_current 0.06, 0.6, 6, 10; resistance_2w/4w 600, 6e3, 60e3, 600e3, 6e6, 60e6, 100e6; capacitance 2e-9, 20e-9, 200e-9, 2e-6, 20e-6, 200e-6, 0.01. Other functions have no range. speed: Only for dc_voltage, dc_current and resistance: slow (10 PLC, default, most accurate), medium (1 PLC) or fast (0.3 PLC). sensor: Required for temperature: pt100 (RTD) or thermocouple type B, E, J, K, N, R, S or T.

sampleA

Record timestamped readings at a fixed interval and return statistics plus all samples.

Readings are paced by this computer. A reading takes about 0.3 s at speed slow and in most other functions, 0.6 s for frequency and period; with a shorter interval readings are taken back to back. Without function the present function and range are kept; otherwise they are set as in measure.

Args: duration_s: Recording time in seconds (max 600). interval_s: Time between readings in seconds (min 0.1). function: Measurement function. Leads in HI/LO for voltage, resistance_2w, capacitance, frequency, period, continuity, diode and temperature; in I/LO for currents; resistance_4w also uses HI Sense/LO Sense. range: Fixed range in V, A, Ω or F; omit for autorange. dc_voltage 0.6, 6, 60, 600, 1000; ac_voltage 0.6, 6, 60, 600, 750; dc_current 0.0006, 0.006, 0.06, 0.6, 6, 10; ac_current 0.06, 0.6, 6, 10; resistance_2w/4w 600, 6e3, 60e3, 600e3, 6e6, 60e6, 100e6; capacitance 2e-9, 20e-9, 200e-9, 2e-6, 20e-6, 200e-6, 0.01. Other functions have no range. speed: Only for dc_voltage, dc_current and resistance: slow (10 PLC, default, most accurate), medium (1 PLC) or fast (0.3 PLC). sensor: Required for temperature: pt100 (RTD) or thermocouple type B, E, J, K, N, R, S or T.

burstA

Take a series of readings as fast as the instrument can and return statistics plus all values.

Readings are paced by the instrument and have no individual timestamps. Approximate rates (50 Hz mains): dc_voltage, dc_current and resistance 4/s at speed slow, 40/s medium, 175/s fast; ac functions and temperature 4/s; frequency and period 2/s. Bursts estimated to take longer than 600 s are refused. Without function the present function and range are kept; otherwise they are set as in measure.

Args: count: Number of readings, 1 to 10000. function: Measurement function. Leads in HI/LO for voltage, resistance_2w, capacitance, frequency, period, continuity, diode and temperature; in I/LO for currents; resistance_4w also uses HI Sense/LO Sense. range: Fixed range in V, A, Ω or F; omit for autorange. dc_voltage 0.6, 6, 60, 600, 1000; ac_voltage 0.6, 6, 60, 600, 750; dc_current 0.0006, 0.006, 0.06, 0.6, 6, 10; ac_current 0.06, 0.6, 6, 10; resistance_2w/4w 600, 6e3, 60e3, 600e3, 6e6, 60e6, 100e6; capacitance 2e-9, 20e-9, 200e-9, 2e-6, 20e-6, 200e-6, 0.01. Other functions have no range. speed: Only for dc_voltage, dc_current and resistance: slow (10 PLC, default, most accurate), medium (1 PLC) or fast (0.3 PLC). sensor: Required for temperature: pt100 (RTD) or thermocouple type B, E, J, K, N, R, S or T.

get_device_infoB

Instrument model, serial number, firmware, VISA resource and the present measurement configuration.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

The tools are mostly distinct, but read vs. measure both return a single reading, and sample vs. burst both return statistics plus multiple readings. The detailed descriptions clarify the differences (preserve settings vs. change function; computer-paced timed sampling vs. instrument-paced count-based burst), so confusion should be limited.

Naming Consistency4/5

All names use consistent lower_snake_case, with readable action-oriented terms. Most are single verbs (read, measure, sample, burst), while get_device_info uses a verb_noun form, which is a minor deviation from the otherwise uniform pattern.

Tool Count5/5

Five tools is well-scoped for a multimeter server: single reading, configured measurement, timed sampling, fast burst acquisition, and device information. Each tool maps to a meaningful operation without unnecessary surface area.

Completeness4/5

The core measurement lifecycle is covered: current-settings reading, function/range selection, timed acquisition, fast burst acquisition, and device/configuration inspection. Minor gaps exist for advanced instrument features such as zero/relative, limit testing, or explicit configuration without immediately taking a reading, but standard workflows are supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues