mcp-server-siglent-sdm3045x
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SDM_SERIAL | No | Serial 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_RESOURCE | No | VISA 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_LEVEL | No | Log level for the server. | WARNING |
| SDM_ALLOW_SCPI | No | Set to 1 to enable the raw SCPI tool, which can change any setting including the LAN configuration. Off by default. | 0 |
| SDM_VISA_BACKEND | No | VISA 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
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.
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.
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.
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.