Pico
БесплатноНе проверенEnables LLMs to control a PicoScope 5000A USB oscilloscope for signal generation, block capture, measurements, and frequency response sweeps.
Описание
Enables LLMs to control a PicoScope 5000A USB oscilloscope for signal generation, block capture, measurements, and frequency response sweeps.
README
A lean MCP (Model Context Protocol) server for PicoScope 5000A USB oscilloscopes (developed and verified on a 5442B). It lets an LLM/agent drive the scope: discover the device, configure channels, run the built-in signal generator, capture blocks, take measurements, and sweep a frequency response.
Built because the existing third-party server was too buggy (a find_all_units() discovery
that crashes the process on the ps6000a driver, ctypes.byref errors on GetUnitInfo, a
device-handle leak, and an is_connected check on a field that is never set). This server
talks to the ps5000a driver directly; every code path was verified against real hardware.
macOS Apple Silicon note (important)
The PicoSDK C libraries shipped inside PicoScope 7 T&M.app are x86_64. An arm64
Python cannot load them (dlopen … incompatible architecture). The fix: run the server in
an x86_64 venv under Rosetta and point DYLD_LIBRARY_PATH at the app's libraries.
On Windows/Linux with a natively installed PicoSDK this is not needed.
Setup
git clone https://github.com/Schimmilab/pico-mcp.git
cd pico-mcp
# macOS Apple Silicon (Rosetta x86_64 venv):
uv venv --python cpython-3.11-macos-x86_64 .venv-x86
uv pip install --python .venv-x86/bin/python -e .
# Other platforms: a normal venv is fine:
# uv venv && uv pip install -e .
Quick hardware test (close the PicoScope desktop app first — a scope can only be opened by one program at a time):
DYLD_LIBRARY_PATH="/Applications/PicoScope 7 T&M.app/Contents/Resources" \
.venv-x86/bin/python -c "from pico_mcp.scope import probe_devices; print(probe_devices())"
Register in Claude Code
claude mcp add pico --scope user \
--env DYLD_LIBRARY_PATH="/Applications/PicoScope 7 T&M.app/Contents/Resources" \
-- /ABSOLUTE/PATH/TO/pico-mcp/.venv-x86/bin/pico-mcp
(Replace /ABSOLUTE/PATH/TO/ with your clone location. The DYLD_LIBRARY_PATH env is only
needed on macOS Apple Silicon.)
Tools
| Tool | Purpose |
|---|---|
list_devices |
Find connected scopes (model / variant / serial) |
connect / disconnect |
Open (resolution 8/12/14/15/16 bit) / release the device |
device_info |
Model, variant, serial, resolution, configured channels |
set_channel |
Channel A–D: enable, DC/AC, range (0.01–20 V), analog offset |
set_signal_generator / stop_signal_generator |
Built-in AWG: sine/square/triangle/ramp, frequency, amplitude |
capture_block |
Block capture of all enabled channels → Vpp/min/max/mean/rms, estimated frequency, downsampled waveform (≤240 points) |
frequency_sweep |
Frequency response: log-spaced AWG sweep, gain out/in per frequency (linear + dB), −3 dB band edges. Timebase chosen automatically per frequency |
Example: measuring a transformer
Connect AWG/GEN → channel A (input) → device-under-test → channel B (output), enable both
channels, then ask the agent to run a frequency_sweep. The server drives each frequency,
captures both channels and reports the gain B/A — yielding the −3 dB bandwidth, pass-band
flatness and any resonances. (This was the first real use: characterising a 1:1 audio
isolation transformer — flat 17 Hz–1.4 MHz, one mild resonance at 380 kHz.)
Notes
- Close the PicoScope desktop app before connecting — exclusive device access.
capture_blockreturns a downsampled waveform (no megasample dumps); measurements are computed from the full-resolution data.- Code changes take effect after the MCP host reloads the server (e.g. restart the session). The driver layer can be tested without a reload by running it directly in the venv.
License
MIT
Установка Pico
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Schimmilab/pico-mcpFAQ
Pico MCP бесплатный?
Да, Pico MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Pico?
Нет, Pico работает без API-ключей и переменных окружения.
Pico — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Pico в Claude Desktop, Claude Code или Cursor?
Открой Pico на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Pico with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
