Spicebridge
MCP server that gives AI assistants direct access to ngspice circuit simulation β design, simulate, and verify circuits through natural language
Installation
npx spicebridgeAsk AI about Spicebridge
Powered by Claude Β· Grounded in docs
I know everything about Spicebridge. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
SPICEBridge
AI-powered circuit design through simulation β an MCP server that gives language models direct access to SPICE circuit simulation via ngspice. Describe a circuit in plain English and let the AI handle netlist generation, simulation, measurement, and spec verification.
Features
- 28 tools covering the full circuit design workflow
- 11 built-in templates with automatic component value calculation (E24 series)
- Simulation: AC sweep, transient, DC operating point
- Measurement: bandwidth, gain, DC levels, transient metrics, power
- Monte Carlo & worst-case analysis under component tolerances
- Multi-stage composition β connect circuit stages with automatic port mapping
- Model wizard β generate SPICE
.libmodels from datasheet parameters - KiCad export β output
.kicad_schschematics - Web viewer β interactive schematic viewer in the browser
- Cloud setup wizard β one-command deployment with Cloudflare tunnels (
spicebridge setup-cloud) - Spec verification β compare results against design targets
Install
pip install spicebridge
Requirements
- Python 3.10+
- ngspice installed and on PATH
Quick Start
Local (Claude Code / stdio)
Add to your .mcp.json:
{
"mcpServers": {
"spicebridge": {
"command": "spicebridge"
}
}
}
Cloud (Streamable HTTP)
spicebridge --transport streamable-http --port 8000
Cloud Setup Wizard
One command to go from a local install to a public MCP endpoint:
spicebridge setup-cloud # interactive (named tunnel, permanent URL)
spicebridge setup-cloud --quick # quick tunnel (temporary URL, no account needed)
The wizard handles the full deployment pipeline:
- Installs cloudflared automatically (macOS via Homebrew, Linux via APT) if not found
- Authenticates with Cloudflare (browser-based OAuth, named tunnel mode only)
- Creates or reuses a tunnel β prompts to pick an existing one or make a new one
- Configures DNS routing for your custom domain (named tunnel mode)
- Generates an API key for authentication
- Starts the SPICEBridge server and tunnel together
- Prints connection info with a ready-to-paste JSON config for Claude.ai
Quick tunnels give you a temporary trycloudflare.com URL instantly β no Cloudflare account required. Named tunnels give you a permanent custom domain (e.g. spicebridge.example.com).
Additional options:
spicebridge setup-cloud --domain mcp.example.com # specify custom domain
spicebridge setup-cloud --port 9000 # custom port
spicebridge setup-cloud --no-install # skip cloudflared installation
Example
1. load_template("rc_lowpass_1st", specs={"f_3dB_hz": 1000})
-> netlist with R=1.6k, C=100nF, circuit_id: "a1b2c3d4"
2. run_ac_analysis(circuit_id, start_freq=1, stop_freq=1e6)
-> frequency response data
3. measure_bandwidth(circuit_id)
-> f_3dB_hz: 995
4. compare_specs(circuit_id, specs={"f_3dB_hz": {"target": 1000, "tolerance_pct": 5}})
-> PASS
5. draw_schematic(circuit_id)
-> schematic SVG
Tools
Create & Configure
| Tool | Description |
|---|---|
create_circuit | Store a SPICE netlist, returns a circuit ID |
delete_circuit | Delete a stored circuit and clean up resources |
list_templates | List available circuit templates |
load_template | Load a template with parameter substitution |
calculate_components | Calculate component values from target specs |
modify_component | Change a component value in a stored circuit |
validate_netlist | Check a netlist for errors before simulation |
Simulate
| Tool | Description |
|---|---|
run_ac_analysis | AC frequency sweep |
run_transient | Transient (time-domain) analysis |
run_dc_op | DC operating point analysis |
Measure
| Tool | Description |
|---|---|
measure_bandwidth | Find -3 dB bandwidth from AC results |
measure_gain | Measure gain at a specific frequency |
measure_dc | Extract DC operating point values |
measure_transient | Measure time-domain characteristics |
measure_power | Calculate power dissipation |
Evaluate & Export
| Tool | Description |
|---|---|
get_results | Retrieve last simulation results |
compare_specs | Check measurements against target specs |
draw_schematic | Generate a schematic diagram (PNG/SVG) |
export_kicad | Export as KiCad 8 schematic (.kicad_sch) |
open_viewer | Start the interactive web schematic viewer |
Composition & Ports
| Tool | Description |
|---|---|
set_ports | Define port-to-node mappings for a circuit |
get_ports | Return port definitions (auto-detect if unset) |
connect_stages | Compose multiple stages into a single circuit |
Advanced Analysis
| Tool | Description |
|---|---|
run_monte_carlo | Monte Carlo analysis under component tolerances |
run_worst_case | Worst-case analysis at tolerance extremes |
auto_design | Full design loop in one call: template + simulate + verify |
Model Management
| Tool | Description |
|---|---|
create_model | Generate a SPICE .lib model from datasheet parameters |
list_models | List all saved models in the model library |
Development
git clone https://github.com/clanker-lover/spicebridge.git
cd spicebridge
pip install -e ".[dev]"
pytest
License
GPL-3.0-or-later
