CircuitMCP
An MCP server that allows AI assistants to create, modify, and simulate electronic circuits with features for circuit creation, component management, simulation analyses, and schematic generation.
README
CircuitMCP
Circuit simulation capabilities exposed through Anthropic's Model Context Protocol (MCP).
Overview
This project implements an MCP server for circuit simulation, allowing AI assistants to create, modify, and simulate electronic circuits. It uses PySpice for simulation and SchemDraw for generating schematic diagrams.
Features
- Circuit Creation: Create circuits with various electronic components
- Component Management: Add, remove, and update components
- Circuit Simulation: Run operating point, DC, AC, and transient analyses
- Schematic Generation: Generate visual representations of circuits
- UVX Components: Support for Universal Verification Xcomponents (op-amps, etc.)
Installation
Quick Setup (Recommended)
We provide setup scripts that handle all installation steps automatically:
- Linux/macOS:
./setup_circuitmcp.sh - Windows (CMD):
setup_circuitmcp.bat - Windows (PowerShell):
.\setup_circuitmcp.ps1
These scripts will:
- Install required dependencies
- Install NGSpice (or guide you through installation)
- Set up a virtual environment (if desired)
- Install CircuitMCP
- Configure UVX for Cursor and Claude Desktop integration (if available)
Using UVX in Cursor or Claude Desktop
The easiest way to install CircuitMCP is using UVX directly in Cursor or Claude Desktop:
# Install the package from GitHub
uvx install git+https://github.com/amzsaint/circuitmcp.git
# Or install by name once registered
uvx install circuitmcp
# Verify installation
uvx list | grep circuitmcp
Claude Desktop Integration
To use CircuitMCP with Claude Desktop:
-
Install the UVX package:
uvx install circuitmcp -
Create an MCP configuration file (
mcp_config.json):{ "servers": [ { "name": "Circuit Simulator", "command": ["circuitmcp-server", "--host", "127.0.0.1", "--port", "8000"] } ] } -
Start Claude Desktop with MCP configuration:
claude-desktop --mcp-config=mcp_config.json -
In Claude Desktop, you can now use circuit simulation capabilities:
Please create a simple voltage divider circuit with a 9V source and two 10kΩ resistors.
Manual Installation
You can also install manually:
-
Clone the repository:
git clone https://github.com/amzsaint/circuitmcp.git cd circuitmcp -
Install Python dependencies:
pip install -r requirements.txt -
Install the package in development mode:
pip install -e . -
Install NGSpice (required for simulation):
- macOS:
brew install ngspice - Ubuntu:
apt-get install ngspice - Windows: Download from the NGSpice website
- macOS:
Usage
Running the Server
# Using the command-line script
circuitmcp-server
# With options
circuitmcp-server --debug --host 0.0.0.0 --port 8000
Or in Python:
# Import the server
from circuitmcp import mcp
# Run the server
mcp.run(host="127.0.0.1", port=8000)
Client Example
# See examples/mcp_client.py for full examples
from examples.mcp_client import CircuitMCPClient
import asyncio
async def main():
client = CircuitMCPClient()
await client.connect()
# Create a circuit
circuit = await client.create_circuit("My Circuit")
circuit_id = circuit["id"]
# Add components
await client.add_component(circuit_id, "V", ["in", "0"], 5.0)
await client.add_component(circuit_id, "R", ["in", "out"], 1000.0)
# Generate schematic
schematic = await client.generate_schematic(circuit_id)
print(f"Schematic generated: {schematic['filepath']}")
await client.close()
if __name__ == "__main__":
asyncio.run(main())
Cursor Integration
When installed via UVX, CircuitMCP can be used directly in Cursor:
- Open Cursor and type
/install circuitmcpor/install git+https://github.com/amzsaint/circuitmcp.git - Use the package in your Python code:
from circuitmcp import mcp, Circuit - Run the server with
/run circuitmcp-server
Testing
Run the test script to verify functionality:
python -m circuitmcp.test_mcp
Project Structure
circuitmcp/: Main packagemcp_server.py: MCP server implementationcircuit.py: Circuit class implementationmock_mcp.py: Mock MCP SDK implementationtest_mcp.py: Test script
examples/: Example client and usageschematics/: Generated circuit schematics
License
MIT
Note on NGSpice
This project requires NGSpice to be installed on your system for simulation capabilities. The schematic generation will work without NGSpice, but simulation features will be unavailable.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.