# mcltspice MCP server for LTspice circuit simulation automation on Linux (via Wine) and native macOS. Drives LTspice in batch mode, parses binary `.raw` results, and exposes 37 tools for end-to-end circuit design workflows. > **Note:** macOS (native, no Wine) support is new and under active validation. The Linux/Wine path is the mature, battle-tested one. ## Quick Start ```bash # Install and run uvx mcltspice # Add to Claude Code claude mcp add mcltspice -- uvx mcltspice # Local development claude mcp add mcltspice -- uv run --directory /path/to/mcltspice mcltspice ``` ## Requirements - **Linux** with Wine installed, OR **macOS** (Apple Silicon or Intel) with LTspice.app - **LTspice** — on Linux, extracted from the Windows installer; on macOS, the native app (see [Setup](#ltspice-setup)) - **Python 3.11+** ## Tools ### Simulation | Tool | Description | |------|-------------| | `simulate` | Run simulation on a `.asc` schematic | | `simulate_netlist` | Run simulation on a `.cir` / `.net` netlist | | `parameter_sweep` | Sweep a parameter across a range of values | | `temperature_sweep` | Run simulations at different temperatures | | `monte_carlo` | Monte Carlo analysis with component tolerances | | `optimize_circuit` | Automatically optimize component values to hit target specs | | `tune_circuit` | Measure performance and suggest parameter adjustments | ### Waveform Extraction & Visualization | Tool | Description | |------|-------------| | `get_waveform` | Extract signal data from a `.raw` file | | `list_simulation_runs` | List runs in a stepped/Monte Carlo simulation | | `evaluate_waveform_expression` | Evaluate math expressions on waveforms (V*I, dB, etc.) | | `export_csv` | Export waveform data to CSV | | `plot_waveform` | Generate SVG plots from simulation results | ### Signal Analysis | Tool | Description | |------|-------------| | `analyze_waveform` | FFT, THD, RMS, settling time, and more | | `measure_bandwidth` | Measure -3dB bandwidth from AC analysis | | `get_operating_point` | Extract DC operating point (.op) results | | `get_transfer_function` | Extract .tf (transfer function) results | ### Noise Analysis | Tool | Description | |------|-------------| | `analyze_noise` | Comprehensive noise analysis from .noise simulation | | `get_spot_noise` | Noise spectral density at a specific frequency | | `get_total_noise` | Integrated RMS noise over a frequency band | ### Stability & Power | Tool | Description | |------|-------------| | `analyze_stability` | Gain margin and phase margin from AC loop gain | | `analyze_power` | Power metrics from voltage and current waveforms | | `compute_efficiency_tool` | Power conversion efficiency | ### Schematic & Netlist | Tool | Description | |------|-------------| | `read_schematic` | Parse schematic components and nets | | `edit_component` | Modify component values in a schematic | | `diff_schematics` | Compare two schematics and show changes | | `run_drc` | Design rule checks on a schematic | | `create_netlist` | Build a SPICE netlist programmatically | | `create_from_template` | Create a circuit from a pre-built template | | `generate_schematic` | Generate a graphical `.asc` schematic from a template | | `read_touchstone` | Parse Touchstone S-parameter files (.s1p, .s2p) | ### Library & Templates | Tool | Description | |------|-------------| | `list_templates` | Available circuit templates with parameters and defaults | | `list_symbols` | Browse LTspice's 6500+ component symbols | | `list_examples` | Browse 4000+ example circuits | | `get_symbol_info` | Pin details and attributes for a component symbol | | `search_spice_models` | Search `.model` definitions in the library | | `search_spice_subcircuits` | Search `.subckt` definitions (op-amps, ICs, etc.) | | `check_installation` | Verify LTspice installation (Wine on Linux, native on macOS) | ## Resources | URI | Description | |-----|-------------| | `ltspice://symbols` | All component symbols by category | | `ltspice://examples` | All example circuits | | `ltspice://status` | Installation status | | `ltspice://templates` | All circuit templates with parameters | | `ltspice://template/{name}` | Detail for a specific template | ## Prompts | Prompt | Description | |--------|-------------| | `design_filter` | Walk through filter design (type, topology, specs) | | `analyze_power_supply` | Guide through power supply analysis | | `debug_circuit` | Systematic circuit debugging workflow | | `optimize_design` | Iterative design optimization | | `monte_carlo_analysis` | Statistical yield analysis | | `circuit_from_scratch` | Build a circuit from a description | | `troubleshoot_simulation` | Diagnose simulation errors | ## LTspice Setup ### Linux (Wine) Extract LTspice from the Windows MSI installer: ```bash # 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 `LTSPICE_DIR` to point at your extracted directory, or use the default `~/claude/ltspice/extracted/ltspice`. ### macOS (native) macOS has a native universal LTspice build, so no Wine is involved. Install LTspice.app from the Mac App Store or [analog.com](https://www.analog.com/en/resources/design-tools-and-calculators/ltspice-simulator-software.html). The binary lives at: ``` /Applications/LTspice.app/Contents/MacOS/LTspice ``` The component library lives *outside* the app bundle, at `~/Library/Application Support/LTspice/`, with `lib/{sym,sub,cmp}` underneath. This is unpacked from `lib.zip` the first time you launch LTspice.app from the GUI, so **launch the app once interactively** before running batch simulations. Set `LTSPICE_BIN` to override the binary path (it defaults to the path above). This mirrors how `LTSPICE_DIR` works on Linux. > **GUI-session requirement:** Mac LTspice is an Aqua GUI application. It runs batch simulations, but it needs an active login/GUI session to do so — it will not run over a bare SSH connection with no logged-in desktop. This differs from the Linux/Wine path, which runs fully headless. ## Repository [git.supported.systems/MCP/mcltspice](https://git.supported.systems/MCP/mcltspice) ## License MIT