oscilloscope-mcp
Allows probing clock and reset nets on KiCad designs after board bring-up, using the kicad-mcp partner MCP server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oscilloscope-mcpcapture a waveform on channel A"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
oscilloscope-mcp
AI-driven USB oscilloscope control via FastMCP 3.2. Connect screenless PC scopes (PicoScope, Hantek) or run the built-in simulator for dry-runs. Capture waveforms, export CSV, and compute frequency, Vpp, duty cycle, and rise time from your agent.
How it runs
Mode | Hardware | When |
Simulator (default) | None | Development, CI, agent dry-runs |
PicoScope | PicoScope 2000/3000/5000/6000 USB | Production bench with PicoSDK + pyPicoSDK |
Hantek | Hantek 6022BE/BL | Budget USB scope with PyHT6022 + libusb |
The MCP server never bundles oscilloscope drivers or PicoSDK. Install vendor software separately, then point the backend at your device.
Hands-in / Hands-out
Direction | Artifacts | Notes |
Hands-in |
| Via |
Hands-out | Waveform preview (downsampled JSON) |
|
Hands-out | CSV + JSON summary files |
|
Hands-out | Measurements (Vpp, freq, duty, rise) |
|
Fleet pipelines
Partner MCP | Workflow |
Probe clock/reset nets after bring-up | |
Verify power rails and oscillators | |
Discover USB devices before connect |
Quick Start
Set-Location D:\Dev\repos\oscilloscope-mcp
uv sync --extra dev
just webapp
# Open http://localhost:10937STDIO-only (Cursor MCP):
just serveDry-run without hardware:
scope_device(operation="connect", device_id="sim-001")
scope_capture(operation="single", sample_rate_hz=100000, sample_count=2000)
scope_measure(operation="all", channel_id="A")Cursor MCP config
Add to C:\Users\sandr\.cursor\mcp.json:
"oscilloscope-mcp": {
"command": "C:/Users/sandr/.local/bin/uv.exe",
"args": [
"--directory",
"D:/Dev/repos/oscilloscope-mcp",
"run",
"python",
"-m",
"oscilloscope_mcp",
"--stdio"
],
"env": {
"FASTMCP_BANNER": "0",
"FASTMCP_UPDATE_CHECK": "0",
"PYTHONUNBUFFERED": "1",
"OSCILLOSCOPE_MCP_BACKEND": "auto"
}
}Table of Contents
Tools Overview
Tool | Operations | Purpose |
| list, connect, disconnect, status, capabilities, backends | Device discovery and session |
| channel, get, simulator_profile | Voltage range, coupling, sim waveform |
| set, get, arm, force | Trigger source, threshold, edge |
| single, preview, export_csv, export_summary, last | Acquire and export waveforms |
| all, vpp, frequency, duty, rise_time, fresh | Timing and voltage metrics |
| discover, tool_help, quickstart, faq, hardware_guide | Discovery and buying guide |
Recommended Hardware
Tier | Model | Price | Backend |
Best value | PicoScope 2204A | ~$130-190 |
|
Swiss army knife | Analog Discovery 3 | ~$200-400 | planned ( |
Budget hack | Hantek 6022BE | ~$40-80 |
|
See docs/HARDWARE.md for the full buying guide.
Webapp
Fleet SOTA console: Dashboard, Waveform viewer, Tools hub, Settings, Help.
just webappPort | Service |
10936 | FastAPI backend ( |
10937 | Vite React frontend |
License
MIT - see LICENSE.
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/oscilloscope-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server