Siglent SDS800X HD HTTP MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Siglent SDS800X HD – HTTP MCP Server
MCP server (Streamable HTTP) for Siglent SDS800X HD oscilloscopes (SDS804X HD / SDS814X HD / SDS824X HD).
It talks SCPI over a VISA socket (TCPIP0::<ip>::5025::SOCKET) using PyVISA.
A small web UI sets the connection parameters and stores them persistently.
Based on the idea of MagnusJohansson/siglent-sds-mcp.
The commands have been ported to the new SCPI command set of the SDS800X HD
(:CHANnel<n>:SCALe, :TRIGger:EDGE:*, :MEASure:ADVanced:*, :WAVeform:*, :PRINt?).
Installation
python -m venv .venv
.venv\Scripts\activate # Linux/macOS: source .venv/bin/activate
pip install -e .By default PyVISA-py is used, so no VISA driver is required. If NI-VISA (or another VISA implementation) is installed, "System VISA" can be selected in the web UI.
Related MCP server: rigol-dho-mcp
Running
sds800xhd-mcp # or: python -m sds800xhd_mcpOption | Environment variable | Default | Meaning |
|
|
| Bind address ( |
|
|
| HTTP port for web UI and MCP |
|
|
| Location of |
|
|
|
|
Web UI: http://localhost:8800/
MCP endpoint: http://localhost:8800/mcp
Docker (Linux)
Slim image based on python:3.13-alpine (multi-stage, no pip, runs as a non-root user).
PyVISA-py needs no drivers, so the image contains only Python and the packages.
docker compose up -d --buildor without Compose:
docker build -t sds800xhd-mcp .
docker run -d --name sds800xhd-mcp --restart unless-stopped -p 8800:8800 -v sds-data:/data sds800xhd-mcpWeb UI:
http://<docker-host>:8800/, MCP:http://<docker-host>:8800/mcpThe configuration lives in the
/datavolume (config.json) and survives container updates.Inside the container the server listens on
0.0.0.0. To make it reachable only locally, map the port with-p 127.0.0.1:8800:8800.The scope must be reachable from the Docker host (TCP 5025). The default bridge network is sufficient.
If a host directory is mounted instead of the volume, it must be writable for UID
10001:sudo chown 10001 ./data.Append options such as
--log-level DEBUG:docker run ... sds800xhd-mcp --log-level DEBUG.
Web UI
Enter IP/hostname and port (the VISA string is built from them but can also be entered directly),
choose VISA backend, timeout and auto-connect, then click Save & connect. The settings are stored in
data/config.json and loaded on server start. With auto-connect enabled, the server connects on startup
and re-establishes the connection on the next tool call after a drop (e.g. a scope restart).
The Screenshot button verifies the connection with an image of the display.
MCP client setup
Claude Code: copy examples/mcp.json to .mcp.json in your project folder and adjust
the URL (the local .mcp.json is listed in .gitignore):
{
"mcpServers": {
"siglent-sds800xhd": { "type": "http", "url": "http://localhost:8800/mcp" }
}
}or via the CLI:
claude mcp add --transport http siglent-sds800xhd http://localhost:8800/mcpTools
Tool | Function |
| Connection (without parameters, the saved configuration is used) |
|
|
| V/div, offset, coupling, BW limit, probe, invert, unit, label, on/off |
| Run/stop/single/force, timebase, memory depth, acquisition type, edge trigger |
| Auto setup |
| One or more measurements (slots P1..P12) or |
| Turn statistics on/off, reset or read them |
| Waveform data (12 bit, WORD), decimated on the device, in volts with t0/dt and statistics |
| Display as PNG ( |
| Arbitrary SCPI commands |
Development and tests
sds800xhd_mcp/ Package: server, tools, VISA connection, web UI (static/index.html)
scripts/mock_scope.py SCPI simulator of an SDS824X HD (for tests without hardware)
scripts/smoke_http.py Calls all tools against a running server
tests/ pytest: unit tests and an end-to-end test with the simulator
examples/mcp.json Template for the MCP client configurationpip install -e ".[dev]"
pytest # starts simulator and server itselfManually without hardware:
python scripts/mock_scope.py # simulates an SDS824X HD on 127.0.0.1:5025
sds800xhd-mcp # enter 127.0.0.1 in the web UI
python scripts/smoke_http.py # calls all tools over HTTPscripts/smoke_http.py also works against a real scope, but changes channel 1, timebase and trigger there.
Security
The web UI and MCP endpoint have no authentication and allow arbitrary SCPI commands.
By default the server listens only on 127.0.0.1. Use --host 0.0.0.0 only in a trusted lab network.
Note
The tools are tested with the included simulator. Connecting to a real SDS824X HD
(firmware 3.8.12.1.1.6.5) works; the individual tools have not yet been systematically verified on the device.
If the firmware differs for individual commands, they can be checked via scpi_query / scpi_command and
adjusted in sds800xhd_mcp/tools.py.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
QuLab MCP remote server (Streamable HTTP) for computational science and lab tools.
Documentation for the Spektralwerk spectrometer SCPI API as a streamable HTTP MCP Server
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for controlling Hantek DSO2D15 and other DSO2000-family oscilloscopes via USB and SCPI, enabling waveform acquisition, measurements, and screen captures.1MIT
- AlicenseAqualityDmaintenanceMCP server for controlling and reading Rigol DHO800/DHO900 oscilloscopes over LAN via SCPI commands.112MIT
- AlicenseNot gradedqualityDmaintenanceConnects test and measurement instruments (oscilloscope, logic analyzer, multimeter, power supply) to AI via MCP, enabling natural language control and automated analysis.MIT
- AlicenseAqualityBmaintenanceEnables MCP clients to discover tools, configure a Rigol oscilloscope over LAN, take measurements, and retrieve waveform captures via a containerized stdio server.21MIT