Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Pico

БесплатноНе проверен

Enables LLMs to control a PicoScope 5000A USB oscilloscope for signal generation, block capture, measurements, and frequency response sweeps.

GitHubEmbed

Описание

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_block returns 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

from github.com/Schimmilab/pico-mcp

Установка Pico

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/Schimmilab/pico-mcp

FAQ

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

Compare Pico with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development