spicebridge
Health Gecti
- License — License: GPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 15 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
This MCP server acts as a bridge between AI assistants and ngspice, an open-source circuit simulator. It allows users to design, simulate, and verify electronic circuits using natural language prompts.
Security Assessment
Overall Risk: Medium. The server functions primarily by executing the ngspice binary on the local machine to run simulations, which constitutes shell execution. There are no hardcoded secrets in the codebase, but it does feature a "Cloud Setup Wizard." This functionality makes network requests, installs third-party software (cloudflared), and exposes a local server to the internet via Cloudflare tunnels. While the light code scan found no dangerous patterns, exposing a local control server remotely inherently increases the attack surface.
Quality Assessment
The project is actively maintained, with its most recent push occurring today. It is licensed under GPL-3.0, includes a thorough README, and possesses a solid foundation of community trust with 15 GitHub stars. A light code audit scanned 12 files and found no risky or malicious patterns, indicating a clean and well-documented codebase.
Verdict
Use with caution; it is safe for local circuit simulation, but its cloud deployment features should be used carefully to avoid unintentionally exposing your local server to the internet.
MCP server that gives AI assistants direct access to ngspice circuit simulation — design, simulate, and verify circuits through natural language
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
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi