Metadata-Version: 2.4
Name: mcltspice
Version: 2026.2.10
Summary: MCP server for LTspice circuit simulation automation
Project-URL: Repository, https://git.supported.systems/MCP/mcltspice
Author-email: Ryan Malloy <ryan@supported.systems>
License-Expression: MIT
License-File: LICENSE
Keywords: circuit,electronics,ltspice,mcp,simulation,spice
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Python: >=3.11
Requires-Dist: fastmcp>=2.0.0
Requires-Dist: numpy>=1.24.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: plot
Requires-Dist: matplotlib>=3.7.0; extra == 'plot'
Description-Content-Type: text/markdown

# mcltspice

MCP server for LTspice circuit simulation automation on Linux. Drives LTspice via Wine in batch mode, parses binary `.raw` results, and exposes 37 tools for end-to-end circuit design workflows.

## 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
- **LTspice** extracted from the Windows installer (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 and Wine setup |

## 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

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`.

## Repository

[git.supported.systems/MCP/mcltspice](https://git.supported.systems/MCP/mcltspice)

## License

MIT
