
Rigol Oscilloscope
io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.2更新于 Oct 24, 2026
MCP server for Rigol oscilloscopes (DS1000Z, MSO5000, DHO series): measurements and waveforms.
发布方自己的服务:Scope (AEC) - Preview
概览
让助手通过 SCPI 读取 Rigol 示波器的设置、测量值、波形和截图,并可调整通道、时基和触发。
- 可以做什么
- 通过 USB 或局域网连接 Rigol DS1000Z、MSO5000 和 DHO 系列示波器并使用 SCPI 通信。读取类工具可返回设备型号与固件、各通道/时基/触发设置、自动测量值(Vpp、频率、上升时间、占空比)以及经过校准的波形采集,还能保存屏幕截图。控制类工具可执行自动设置、设置通道、时基和边沿触发,并启动、单次、强制或停止采集。命令日志会记录原始 SCPI 通信内容。
- 适用场景
- 适合让助手查看或操作实验台上的示波器:读取当前设置、进行测量、把波形保存为 CSV,或截屏用于实验记录。主要面向实验室和硬件调试场景,而非通用软件任务。
- 运行要求
- 以 Python 包形式在本地通过 stdio 运行(uvx labmcp-rigol-scope)。需要一台可通过 USB-TMC 或局域网访问的 Rigol 示波器,并在 LABMCP_ADDRESS 中填写仪器地址(serial:///dev/ttyUSB0 或 tcp://host:5025)。通过 pyvisa-py 使用 USB 时需安装 libusb;Windows 上使用 NI-VISA 和 @ivi 后端。未声明需要账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Rigol Oscilloscope,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Rigol Oscilloscope — MCP Server
Let an AI agent read the setup, adjust channels, timebase and trigger, run single acquisitions, take the scope's own measurements, capture calibrated waveforms and grab screenshots on Rigol digital oscilloscopes over SCPI.
Try it without hardware
The simulated scope has a 1 kHz, 0-3 V square wave on CH1 and a 2 kHz, 1 V sine on CH2 (CH3/CH4 grounded). It answers :WAVeform:DATA? and :DISPlay:DATA? with real IEEE 488.2 binary blocks, keeps an SCPI error queue, and its trigger only fires when the level is inside the signal, so you can try single with a bad trigger level.
Connect your oscilloscope
- USB: plug in the USB device port. The server uses PyVISA with the pure-Python
pyvisa-pybackend, which needslibusbon the system (brew install libusb,apt install libusb-1.0-0; on Windows use NI-VISA with?backend=@ivi). Find the resource withpython -m pyvisa infooruvx labmcp ports. - LAN: in the scope's Utility I/O / LAN settings enable DHCP or set a static IP, and note the address.
- Test the connection:
--checkprints the*IDN?identity and the detected command family.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow reading settings, measurements, waveforms and screenshots while blocking every tool that changes the scope setup. For other clients, generate the snippet with uvx labmcp config rigol-oscilloscope --address TCPIP0::192.168.1.50::INSTR --client vscode (also cursor, codex, claude-code).
Tools
get_connection_info, get_command_log and reconnect are built into every LabMCP server. The command log shows every SCPI command sent.
Safety limits
Override at launch, e.g. --limit max_memory_points=24000000. An oscilloscope does not source energy, so there are no hazard tools; this server does not control the built-in waveform generator some models have.
Example prompts
- "What is on the scope right now? Give me the channel settings, timebase and trigger."
- "Measure the frequency, Vpp and rise time on CH1."
- "Set CH2 to 200 mV/div, AC coupling, trigger on CH2 falling edge at 0 V, then take a single shot and save the full memory record to ~/data/burst.csv."
- "Capture the CH1 waveform from the screen and tell me the duty cycle and whether the trace is clipped."
- "Take a screenshot of the scope so I can put it in my lab notebook."
Notes
- One driver, three command families. Commands common to all guides are used as written (long forms, e.g.
:TRIGger:EDGE:LEVel,:MEASure:ITEM? VPP,CHANnel1,:WAVeform:PREamble?). The differences are taken from each guide: autoscale is:AUToscale(DS1000Z, MSO5000) or:AUToset(DHO); screenshots are:DISPlay:DATA? ON,OFF,PNG(DS1000Z),:DISPlay:DATA? PNG(DHO) or:DISPlay:DATA?→ BMP (MSO5000); screen captures return 1200 points (DS1000Z, 12 divisions) or 1000 (MSO5000/DHO, 10 divisions). The family is detected from*IDN?; unknown Rigol models are refused unless you force--option profile=DS1000Z|MSO5000|DHO. - Waveform scaling always uses
:WAVeform:PREamble?and BYTE format: volts = (byte − YORigin − YREFerence) × YINCrement. WORD format is not used because the DHO guides do not document its byte order. For the 12-bit DHO scopes this means 8-bit screen/memory data. - Deep memory (
mode="memory") follows the documented RAW procedure: stop the scope, then read in batches of 250 000 points with:WAVeform:STARt/STOP(the DS1000Z maximum for BYTE). The MSO5000 and DHO guides document batched reads but not a maximum; the server checks every batch length and fails clearly if a batch comes back short. Not yet verified on MSO5000/DHO hardware. - Captures hold the connection from source selection to the last byte, then re-read the preamble: if V/div or the timebase changed during the read, the capture is refused rather than mis-scaled.
clipped_fractioncounts points at the ADC limits (codes 0/255) in both modes. The returned trace keeps each block's minimum and maximum sample, so narrow glitches survive downsampling.save_path(CSV) and the screenshotsave_path(.png,.bmpon the MSO5000) must be new files: they are checked before anything is read, and existing files are never overwritten. - Measurements return
nullwhen the scope answers 9.9E37 (cannot measure). Duty cycle and overshoot are reported exactly as the scope returns them (the DS1000Z guide defines duty as a ratio). - Setting commands are checked by reading
:SYSTem:ERRor?afterwards, so an out-of-range scale, offset or trigger level is reported instead of silently ignored. The scale snaps to 1-2-5 steps unless fine adjustment (VERNier) is on. - LAN: the programming guides describe LAN access through VISA (VXI-11/LXI,
TCPIP0::<ip>::INSTR). Rigol scopes also accept raw SCPI on TCP port 5555 (tcp://<ip>:5555); that port is widely used but not stated in these guides. - USB additionally needs
libusbforpyvisa-py;pyusbis installed with this package. - Screenshots are returned as MCP image content only for PNG; large BMP screenshots (MSO5000) are saved to disk and the path is returned.
Hardware verification
来源:servers/engineering/rigol-oscilloscope/README.md,提交 46545ea
工具
0版本历史
2- v0.1.2最新Sep 27, 2026
- v0.1.0Sep 26, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Scope 集成

Scope (AEC) - Preview
bid.scope官方发布者
Scope(AEC)预览版服务器:查询分包采购层的状态与路线图、列出计划中的服务类别、加入候补名单,并改期已授标项目。

Scope (Legal)
bid.scope官方发布者
Scope(法律版)让 AI 助手浏览法律服务专业人员、派发案件,并管理由此产生的委托事务。

Scope (Claims) - Preview
bid.scope官方发布者
Scope 理赔侧专业采购的预览版服务器:查询 V2 状态与服务类别、加入等候名单,并改期已授标的理赔项目。

MintScope — NFT collection analysis
由 GitHub 账号 ert1981 发布
NFT系列风险与质量分析,以及新系列发现(OpenSea + 链上)。AI 翻译

FedScope MCP
由 GitHub 账号 CYAN-ECLIPSE-TECHNOLOGIES-LLC 发布
FedScope MCP 让助手搜索联邦与州政府招标机会,并提供匹配度、新进入者评分和通俗语言摘要。