
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 讓助理搜尋聯邦與州政府採購機會,並提供契合度、新進者評分與白話摘要。