Ryan Malloy d2d33fff57 Fix schematic generator pin positions using actual .asy data
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).
2026-02-10 23:15:48 -07:00

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 symbols
  • ltspice://examples - All example circuits
  • ltspice://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

Description
MCP server for LTspice circuit simulation automation
Readme MIT 191 MiB
Languages
Python 100%