MCP server for Digilent WaveForms instruments (oscilloscope, AWG, logic analyzer).
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Digilent WaveForms MCP Server.
list_devicesList all connected Digilent WaveForms devices
device_infoGet detailed information about a specific device
analog_captureCapture analog waveform samples (oscilloscope); supports `action="single" / "start" / "read" / "stop"` for continuous capture across tool calls
generate_waveformGenerate an analog signal (AWG): sine, square, triangle, ...; supports `action="pulse" / "start" / "stop"` for persistent output
measureMeasure DC voltage, RMS, frequency, period, or peak-to-peak
power_supplyControl the programmable power supply (V+ / V-)
MCP Server for Digilent WaveForms
instruments — oscilloscope, arbitrary waveform generator (AWG), and logic analyzer.
Built on dwfpy, a Python binding for the
Digilent WaveForms SDK (libdwf).
libdwf.so is added
via a derived Dockerfile layer (see Installation).root:root 0664. If the container
cannot find any devices, add a udev rule on the host:
Then reload: sudo udevadm control --reload-rules && sudo udevadm triggerThe public Docker image does not bundle any Digilent proprietary software
(Adept 2 Runtime, WaveForms SDK / libdwf.so). You must create a derived image
that adds them.
Create a file named Dockerfile.dwf:
Add to claude_desktop_config.json:
Pass --privileged so the container can access USB devices.
If you have cloned this repository, copy the bundled example to a project-local
.mcp.json (which is gitignored) so Claude Code picks it up automatically when
opened against this directory:
Edit the resulting .mcp.json to match your local image tag or to add other
servers; the original .mcp.example.json stays clean and shareable.
| Tool | Description |
|---|---|
list_devices | List all connected Digilent WaveForms devices |
device_info | Get detailed information about a specific device |
analog_capture | Capture analog waveform samples (oscilloscope); supports action="single" / "start" / "read" / "stop" for continuous capture across tool calls |
generate_waveform | Generate an analog signal (AWG): sine, square, triangle, ...; supports action="pulse" / "start" / "stop" for persistent output |
measure | Measure DC voltage, RMS, frequency, period, or peak-to-peak |
power_supply | Control the programmable power supply (V+ / V-) |
digital_capture | Capture digital logic signals (logic analyzer); supports action="single" / "start" / "read" / "stop" for continuous capture across tool calls |
gpio_read | Read the logic level of a digital I/O pin |
gpio_write | Set the logic level of a digital I/O pin |
spi_transfer | Send and receive data over SPI using the digital protocol interface |
device_state | Report per-sub-instrument running/idle status (AWG, scope, LA, power supply) |
close_device | Close the persistent device session and stop all outputs |
device_session_status | Check whether the persistent device session is currently open |
See CLAUDE.md for development setup, coding conventions, and release procedures.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/digilent-waveforms-mcp-server)<a href="https://allmcps.com/mcp/digilent-waveforms-mcp-server"><img src="https://allmcps.com/api/badge/digilent-waveforms-mcp-server?style=directory" alt="Digilent WaveForms MCP Server on AllMCPs" /></a>