The .asc schematic templates had wrong pin offsets, causing LTspice to extract netlists with disconnected (NC_*) nodes and singular matrix errors. Fixed by reading pin positions from the .asy symbol files and applying the correct CCW rotation transform: R90 maps (px, py) → (-py, px). Pin offsets: voltage (+0,+16)/(+0,+96), res (+16,+16)/(+16,+96), cap (+16,+0)/(+16,+64). Added pin_position() helper and _PIN_OFFSETS table for reuse by all layout functions. Verified end-to-end: generate_rc_lowpass → simulate → bandwidth gives 1587.8 Hz vs theoretical 1591.5 Hz (0.24% error).
mcp-ltspice
MCP server for LTspice circuit simulation automation on Linux.
Features
- Run Simulations - Execute .asc schematics or .cir netlists in batch mode
- Extract Waveforms - Parse binary .raw files to get voltage/current data
- Modify Schematics - Programmatically edit component values
- Browse Libraries - Access 6500+ symbols and 4000+ example circuits
Requirements
- Linux with Wine installed
- LTspice extracted (see below)
- Python 3.11+
Installation
# From PyPI (once published)
uvx mcp-ltspice
# From source
uv pip install -e .
LTspice Setup
Extract LTspice from the Windows MSI installer:
# Download LTspice64.msi from analog.com
cd /path/to/downloads
7z x LTspice64.msi -oltspice
cd ltspice
7z x disk1.cab
# Set up Wine prefix
export WINEPREFIX=$PWD/.wine
export WINEARCH=win64
wineboot --init
Set the LTSPICE_DIR environment variable or use the default ~/claude/ltspice/extracted/ltspice.
MCP Tools
| Tool | Description |
|---|---|
simulate |
Run simulation on .asc schematic |
simulate_netlist |
Run simulation on .cir netlist |
get_waveform |
Extract signal data from .raw file |
read_schematic |
Parse schematic components and nets |
edit_component |
Modify component values |
list_symbols |
Browse component symbol library |
list_examples |
Browse example circuits |
get_symbol_info |
Get symbol pins and attributes |
check_installation |
Verify LTspice setup |
MCP Resources
ltspice://symbols- All available component symbolsltspice://examples- All example circuitsltspice://status- Installation status
Usage with Claude Code
claude mcp add mcp-ltspice -- uvx mcp-ltspice
Or for local development:
claude mcp add mcp-ltspice -- uv run --directory /path/to/mcp-ltspice mcp-ltspice
License
MIT
Languages
Python
100%