Skip to main content
Glama
erebusnz
by erebusnz

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RIGOL_IPYesScope IP address (e.g., 192.168.1.123).
RIGOL_SCREENSHOT_DIRNoDirectory for saved PNG screenshots.screenshots/

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
screenshot

Capture a screenshot of the oscilloscope display. Returns the image and the absolute path where the PNG was saved.

idn

Identify the instrument. Returns make, model, serial, and firmware version. Use to verify connectivity before starting a measurement session.

get_scope_state

Return a snapshot of the scope's current configuration: active channels (scale, offset, coupling, probe), timebase, and trigger. Call this at the start of a session to understand the current setup.

set_channel

Configure a channel. Only specified parameters are changed. channel: CHAN1–CHAN4. scale_v_div: V/div. offset_v: volts. coupling: AC, DC, or GND. probe: attenuation ratio (1, 10, 100, …). Parameter names match get_scope_state output for easy round-tripping. Returns the resulting channel configuration.

set_timebase

Set the horizontal timebase. scale_s_div: seconds per division (e.g. 0.001 for 1 ms/div). offset_s: shifts the display window; time_start = offset_s − 6×scale_s_div, time_end = offset_s + 6×scale_s_div. Trigger (t=0) is always a zero crossing when using edge trigger. To align the right edge to a zero crossing at time T: set offset_s = T − 6×scale_s_div. To put the trigger at the left edge of the screen: set offset_s = +6×scale_s_div. Parameter names match get_scope_state output for easy round-tripping. Returns the resulting timebase configuration.

set_trigger

Configure edge trigger. source: CHAN1–CHAN4 or EXT. slope: POS (rising), NEG (falling), or RFAL (either). level: trigger level in volts. Returns the resulting trigger configuration.

measure

Query a single-source built-in measurement on a channel. Stop acquisition first for stable readings. channel: CHAN1–CHAN4. item: VMAX, VMIN, VPP, VTOP, VBASE, VAMP, VAVG, VRMS, FREQUENCY, PERIOD, PWIDTH, NWIDTH, PDUTY, NDUTY, RTIME, FTIME, OVERSHOOT, PRESHOOT, PSLEWRATE, NSLEWRATE, TVMAX, TVMIN, VUPPER, VMID, VLOWER, VARIANCE, PVRMS, PPULSES, NPULSES, PEDGES, NEDGES. A return value of 9.9E37 is the scope's invalid/overflow sentinel — it means the measurement could not be computed (e.g. FREQUENCY returns 9.9E37 when the timebase is too narrow to show a complete cycle; widen scale and retry). For delay or phase between two channels use measure_between.

measure_between

Query a two-source delay or phase measurement between two channels. source1 is the reference channel, source2 is the measured channel. item: RDELAY (rising-edge delay, seconds), FDELAY (falling-edge delay, seconds), RPHASE (rising-edge phase, degrees), FPHASE (falling-edge phase, degrees). Stop acquisition first for stable readings.

get_waveform

Download and analyse the current waveform for a channel (screen buffer, ~1200 points). Stop or single-trigger the scope first for consistent data. By default returns a plain-text analysis: signal shape, frequency/period, amplitude, DC offset, cycle count, and data-quality warnings (e.g. mid-cycle edges, invalid frequency). Set raw_data=true to get the full time/voltage JSON arrays instead. After reading, act on any warnings — if FREQUENCY would be 9.9E37 widen the timebase; if edges are not near the DC mean, adjust offset so right edge = N×(period/2) − 6×scale.

set_cursors

Set cursor mode and/or X positions. mode: OFF, MANUAL, TRACK (omit to keep current mode). ax/bx: cursor A/B time positions in seconds. Returns the resulting cursor readouts.

get_cursor_values

Read current cursor mode and all cursor readouts. AX_s and BX_s are time positions in seconds.

send_raw

Send an arbitrary SCPI command. Queries (ending with '?') return the response string; writes return empty string and auto-check the error queue. Use as an escape hatch when no dedicated tool covers the operation.

check_error

Query the SCPI error queue. Returns the error if present, or 'No error' if clear.

run

Start continuous acquisition. Returns trigger status after the command.

stop

Stop acquisition and freeze the display. Use before reading measurements or cursors for stable values. Returns trigger status after the command.

single

Arm the scope for a single acquisition; stops automatically after one trigger event. Returns trigger status. Note: acquisition does not complete until a trigger occurs — call stop or check trigger status before reading measurements.

autoscale

Run the scope's auto-setup (timebase, vertical scale, trigger). Takes a few seconds; call get_scope_state afterwards to see the resulting configuration.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erebusnz/rigol-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server