Skip to content

About

SCPI tools, MCP server, and Agent Skill for RIGOL MHO900 oscilloscopes.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

rigol-scope-kit

中文说明

Linux SCPI service, stdio MCP server and Agent Skill for RIGOL MHO900 oscilloscopes. The measurement agent chooses a trigger, observation window, voltage range and record depth; the service validates the request, captures once and returns readback, waveforms and evidence. The agent evaluates that evidence and decides the next adjustment.

Release 0.6.1 · contract 1.0.0 · 41 MCP tools · Apache-2.0. Bench validation covers an MHO954. MHO934/MHO984 are accepted model profiles but have not been bench-tested. The server needs Linux and Python ≥3.11; remote clients only need SSH and an MCP client.

Install with uv

Install uv, then from the repository:

git clone https://github.com/felixfinal/rigol-scope-kit.git
cd rigol-scope-kit
uv python install 3.13
uv sync --frozen --no-dev
uv run --frozen --no-sync rigol-scope contract
cp config/devices.example.toml config/devices.toml

Edit the device address and SCPI port (the example uses 5555). Run identify to obtain the serial, then pin it in devices.toml before other live operations:

uv run --frozen --no-sync rigol-scope --config config/devices.toml identify
uv run --frozen --no-sync rigol-scope --config config/devices.toml status

identify and status contact the instrument. contract works without a device or configuration. Keep uv.lock with the source; runtime installation excludes the development dependency group. See uv and offline installation for pinned builds and migration details.

MCP and Skill

Use local MCP or SSH stdio MCP. Replace the absolute executable/config paths and SSH host alias. The interpreter, dependencies, state and instrument access live on the service host. Do not install on every MCP launch.

.venv/bin/rigol-scope-mcp --config /absolute/path/to/devices.toml
.venv/bin/rigol-scope-skill /new/path/rigol-oscilloscope

The wheel bundles the Skill, reference files and default profiles. MCP also serves scope://skill/SKILL.md and scope://skill/references/{name}; clients can retrieve them from the host instead of maintaining separate copies. OpenClaw integration is optional. Other agent frameworks and direct MCP clients work through the same tools.

Capabilities and limits

  • Four analog channels, timebase, edge/pulse triggers, trigger coupling/noise rejection/holdoff, acquisition modes, measurements, screenshots and bounded single captures.
  • Versioned profiles and request contracts; preview and atomic configure → readback → SINGLE → export.
  • Prepared captures: observe WAIT, send an external stimulus, then collect/cancel under a short lease.
  • Dual AFG basic waveforms, voltage-bound output enabling and phase synchronization.
  • Chunked WORD waveform export, capture catalog, artifact retrieval, offline plots/measurements/search and dual-channel timing. Single-channel 500M-point export has been bench-validated.
  • Wake and explicit release: unused AFG outputs off, depth AUTO, other settings retained.

See capability matrix, usage, architecture, validation and known issues. Hardware options do not imply software support: advanced/protocol triggers, digital probes, protocol decode, AFG modulation/burst/arbitrary upload and unattended jobs are not implemented. Multi-channel maximum-depth full exports remain separately unverified.

Development and release

uv sync --frozen
uv run --frozen --no-sync python -m unittest discover -s tests -q
uv run --frozen --no-sync python tools/verify_public.py
uv build --no-build-isolation --out-dir dist
uv run --frozen --no-sync twine check dist/*
uv run --frozen --no-sync python tools/verify_public.py --dist dist

Tests use mocks, loopback SCPI and short-lived local subprocesses; CI never accesses a physical instrument. Read contributing and release procedure before publishing. Manufacturer manuals, private host configuration and live capture data are not distributed here. See NOTICE for upstream attribution and sources for documentation links. This project is not affiliated with RIGOL.

About

SCPI tools, MCP server, and Agent Skill for RIGOL MHO900 oscilloscopes.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages