loading…
Search for a command to run...
loading…
Enables remote control of LeCroy oscilloscopes via SCPI commands over LAN to perform waveform capture, screenshots, measurements, channel configuration, and tri
Enables remote control of LeCroy oscilloscopes via SCPI commands over LAN to perform waveform capture, screenshots, measurements, channel configuration, and triggering through natural language. Supports multiple LeCroy models including WaveSurfer, HDO, WaveRunner, and WavePro series with automatic model detection.
MCP server for controlling LeCroy oscilloscopes via SCPI over LAN (VXI-11) or USB.

Add to your MCP client config (e.g. Claude Code's .mcp.json):
{
"mcpServers": {
"lecroy-scope": {
"type": "stdio",
"command": "uvx",
"args": ["lecroy-mcp"]
}
}
}
uvx will automatically download and run the server — no manual installation needed.
This server communicates over the standard VXI-11 protocol. Before connecting, enable it on the scope:
The scope's IP can be assigned via DHCP or configured statically under Utilities → Utility → Remote → Net Connections.
Note: The TCPIP (VICP) option shown in the same panel uses LeCroy's proprietary protocol and is currently not supported by this server. Only LXI (VXI11) is required.

Copy the MCP client config from above as-is and connect from within the Claude session:
scope_scan — auto-detect LeCroy scopes on the local networkscope_list_resources — list all VISA resources (LAN + USB)scope_connect("TCPIP0::192.168.1.111::inst0::INSTR") — connect directlyOptionally set LECROY_SUBNET to hint the scan range:
{
"mcpServers": {
"lecroy-scope": {
"type": "stdio",
"command": "uvx",
"args": ["lecroy-mcp"],
"env": {
"LECROY_SUBNET": "192.168.1.0/24"
}
}
}
}
Set LECROY_HOST in the env block and the server auto-connects on startup:
{
"mcpServers": {
"lecroy-scope": {
...
"env": {
"LECROY_HOST": "192.168.1.111"
}
}
}
}
Use LECROY_RESOURCE for full control, including USB connections:
{
"mcpServers": {
"lecroy-scope": {
...
"env": {
"LECROY_RESOURCE": "USB0::0x05FF::0x1023::12345::INSTR"
}
}
}
}
Once connected, you have tools for:
The server detects the connected model and adjusts commands accordingly. Profiles are included for:
Unknown models fall back to conservative defaults.
If you prefer not to use uvx:
pip install lecroy-mcp
Then use lecroy-mcp as the command in your MCP config instead of uvx lecroy-mcp.
With uvx, use the @latest tag to force the newest version:
uvx lecroy-mcp@latest
Or update the args in your .mcp.json to always pull the latest:
"args": ["lecroy-mcp@latest"]
With pip:
pip install --upgrade lecroy-mcp
pyvisa-py backend — NI-VISA is currently not supported (breaks screenshot capture)Diagnostic messages not appearing in MCP logs
If you are not seeing server log output (e.g. auto-connect status or errors) in your MCP client's log viewer, add PYTHONUNBUFFERED to the env block:
"env": {
"PYTHONUNBUFFERED": "1"
}
This disables Python's output buffering so log messages are flushed immediately. It is not required for normal operation.
| Component | Details |
|---|---|
| Oscilloscope | Teledyne LeCroy WaveSurfer 3024Z |
| Operating system | Windows 10, Windows 11, Linux Mint |
| MCP client | Claude Code |
This server should also work with other MCP-compatible clients such as OpenAI Codex and Google Gemini Code Assist, and on other operating systems such as macOS. Reports and contributions for additional configurations are welcome.
Teledyne LeCroy and LeCroy are registered trademarks of Teledyne LeCroy, Inc. This project is an independent open-source tool and is not affiliated with, endorsed by, or sponsored by Teledyne LeCroy, Inc. All product and company names are trademarks or registered trademarks of their respective holders.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"lecroy-oscilloscope-mcp": {
"command": "npx",
"args": []
}
}
}