Skip to main content

MCP server for controlling LeCroy oscilloscopes via SCPI/VXI-11

Project description

lecroy-mcp

MCP server for controlling LeCroy oscilloscopes via SCPI over LAN (VXI-11). Tested on a WaveSurfer 3024Z with MAUI firmware.

Requirements

  • Python 3.10+
  • A LeCroy oscilloscope connected over LAN
  • The scope's IP address

Installation

pip install -e .

Or without installing:

pip install -r requirements.txt

MCP configuration

Add to your MCP client config (e.g. Claude Code's .mcp.json):

{
  "mcpServers": {
    "lecroy-scope": {
      "type": "stdio",
      "command": "lecroy-mcp",
      "env": { "PYTHONUNBUFFERED": "1" }
    }
  }
}

If running without installing, point command at server_stdio.py directly:

{
  "mcpServers": {
    "lecroy-scope": {
      "type": "stdio",
      "command": "python",
      "args": ["server_stdio.py"],
      "env": { "PYTHONUNBUFFERED": "1" }
    }
  }
}

Usage

Once connected to your MCP client, start with:

  1. scope_list_resources — find the VISA address of your scope
  2. scope_connect("TCPIP0::192.168.1.x::inst0::INSTR") — connect
  3. scope_identify — confirm communication

From there you have tools for channel setup, trigger, timebase, measurements, waveform capture, screenshots, math functions, and the built-in WaveSource generator.

Supported models

The server detects the connected model and adjusts commands accordingly. Profiles are included for:

  • WaveSurfer 3000Z / 4000HD
  • HDO4000A / HDO6000B / HDO8000A
  • WaveRunner 6000 / 8000
  • WavePro HD
  • MDA800A, SDA

Unknown models fall back to conservative defaults.

Notes

  • Requires pyvisa-py backend — NI-VISA is not supported (breaks screenshot capture)
  • All VISA access is serialized via a threading lock; parallel MCP tool calls are safe

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lecroy_mcp-0.1.5.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lecroy_mcp-0.1.5-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file lecroy_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: lecroy_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lecroy_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ed24d1f645ed4f033bfd7307e4c141f5ca1138853f7a55301904cdef72dd0518
MD5 3387739abdda332f0db46f3bddf1ac08
BLAKE2b-256 0f764ae7c74d1f72b53b31ead0fe814d40311fa2ec77cd5e1d0765d71fb2530e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lecroy_mcp-0.1.5.tar.gz:

Publisher: release.yml on lucasgerads/lecroy-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lecroy_mcp-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: lecroy_mcp-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lecroy_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6f5e405018b1b55d0229ee837b780160d7f1d5d0d04fd8317a5d804c6ce08669
MD5 ff3444e38bcde0eb3868851142465f12
BLAKE2b-256 5fc693a2cd318320b92ce07f3b6152f2438f2bc3c29991a5eaceb11241e71910

See more details on using hashes here.

Provenance

The following attestation bundles were made for lecroy_mcp-0.1.5-py3-none-any.whl:

Publisher: release.yml on lucasgerads/lecroy-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page