rigol-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RIGOL_IP | Yes | Scope IP address | |
| RIGOL_DATA_DIR | No | Directory for waveform CSV downloads and binary/large SCPI responses | /data/captures |
| RIGOL_SCREENSHOT_DIR | No | Directory for saved PNG screenshots | /data/screenshots |
| RIGOL_ENABLE_SEND_RAW | No | Set to '1' for unrestricted SCPI |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_captureA | Read generated data files under RIGOL_DATA_DIR, not screenshots or arbitrary files. No scope access. Byte offsets; escaping may shorten excerpts: follow next_offset. UTF-8 boundaries may replace characters; base64 is lossless. Read only needed excerpts. |
| download_waveformA | Save a stopped DHO814 acquisition as time/value CSV; return path and timing. RAW/MAX read memory; NORM reads screen (required for math). Analog source must be enabled with data. Transfer settings are not restored; acquisition is unchanged. |
| get_capabilitiesA | Return model capabilities with per-field evidence: hardware-verified, documented or unverified. By default probe DHO800/900 channel/grid counts and report model mismatches; measurement lists are not accuracy validation. Probes read and clear SCPI errors. Set verify_hardware=false for identity/model data only. |
| scpi_catalogA | Browse DHO814 command names (10 per page), or pass command for one signature, parameter types/enums and manual section. Filter by subsystem or search; command ignores other filters. No scope access. Fetch details before scpi_execute. |
| scpi_executeA | Execute one DHO814 catalog command; arguments are positional. Text over 2048 characters and binary are file-backed; inline_binary permits up to 1024 bytes. Scope enforces dynamic limits. Non-reset writes drain errors; queries may consume status/errors. No retries or completion guarantee. Can overwrite files, reset, change LAN or lock controls. Does not require send_raw enablement. |
| screenshotA | Save a display PNG and return its path. Set include_image=true only when visual inspection is necessary; otherwise prefer measure/get_waveform. |
| idnA | Read identity (model, serial, firmware) and LAN/session/driver diagnostics. Failure is reported in diagnostic text; inspect it, not only the MCP success flag. |
| get_scope_stateB | Read channel settings, timebase and trigger mode/status; source/slope/level only for EDGE. Includes model capabilities without live channel/grid verification. |
| set_channelA | Change specified channel settings; return channel readback. Probe ratio is applied before scale/offset; changing it may rescale existing values. Use an installed channel. |
| set_timebaseA | Set horizontal scale/offset; return configuration. Centered window edges are offset +/- 5scale on DHO800, +/- 6scale on DS1000Z. Use measured waveform bounds for zoom/noncentral references. Trigger level need not be zero volts. |
| set_triggerA | Always selects EDGE, even with no arguments; return readback. POS rises, NEG falls, RFAL accepts either edge. EXT is available on DHO802/DHO812, not DHO814. |
| measureA | Read a built-in measurement as text; get_capabilities lists items. Registers the item on the scope (may populate its results panel) and enables disabled channels. DHO may need live acquisition. 9.9E37 is invalid. VAMP uses pulse levels, VPP extrema; VRMS covers the window, PVRMS one period, ACRMS the AC component (DHO). |
| measure_betweenA | Read delay (seconds) or phase (degrees). DHO edge letters refer to source1 then source2; DS1000Z R/F names map to DHO RR/FF. Registers a scope measurement (may populate results panel) and enables disabled sources. DHO may need live acquisition; 9.9E37 is invalid. |
| get_waveformA | Analyse NORM screen data (DHO 1000, DS1000Z up to 1200 points), suppressing unreliable interpretation. Does not stop acquisition; stop first for consistency. Enables disabled channels; acquisition may be needed. Leaves transfer settings changed. raw_data=true saves JSON and returns metadata/path, never samples. Use download_waveform for memory. |
| set_cursorsA | Set cursors and return readouts; omitted mode is retained. DHO-only: source/type for MANUAL; source_a/source_b/track_axis for TRACK; Y positions. OFF accepts no positions or sources. XY is DHO-only, requires XY timebase, and rejects positions here; scpi_execute supports XY positioning on DHO814. |
| get_cursor_valuesA | Read cursor values and DHO source/type. AX_s/BX_s are seconds; XY axes are amplitudes. inv_delta_x is reciprocal separation, not necessarily signal frequency. |
| check_errorA | Read/clear up to 16 SCPI error entries; return only the first, or 'No error'. No retries. |
| runA | Start continuous acquisition; immediate status may lag. Query get_scope_state to confirm. |
| stopA | Stop acquisition, retaining the displayed trace and settings. Immediate status may lag; confirm STOP via get_scope_state. Not a clear or factory reset. |
| singleA | Arm one acquisition; return status without waiting for its trigger. Check get_scope_state for STOP before downloading. |
| autoscaleA | Run auto-setup, changing channels, timebase and trigger; wait for completion and return state. Not capability discovery or factory reset; no automatic retry. |
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
Most tools map to a distinct resource and action (configuration, acquisition, measurement, file output), but get_capabilities/idn/get_scope_state overlap on identity/model information, and get_waveform/download_waveform/read_capture all involve reading waveform-like data. Agents may occasionally need to read descriptions carefully to pick the right one.
The get_ and set_ verb-noun pattern is clear for state and configuration tools, but there are notable deviations: scpi_catalog, idn, screenshot, single, measure, run, stop, and autoscale use nouns, acronyms, or bare verbs. This mixed style is still readable, but not consistently predictable across the whole set.
At 21 tools, this exceeds the comfortable 3-15 range and feels heavy for an instrument-control server. The breadth is largely justified by the multiple subsystems (capabilities, waveform, measurement, cursors, SCPI, acquisition), but the count still borders on excessive.
The tool set covers configuration, the acquisition lifecycle (run/stop/single/autoscale), waveform retrieval and analysis, measurements, cursors, error handling, identity, and file output. The scpi_catalog/scpi_execute pair provides a low-level escape hatch for any missing SCPI operation, leaving no obvious dead ends.