
Ngspice-MCP
Un servidor MCP para interactuar con el simulador de circuitos NGSPICE
1
Github Watches
0
Github Forks
0
Github Stars
ngspice-mcp
A Model Context Protocol (MCP) server that provides access to ngspice circuit simulation functionality through a standardized protocol interface. This server enables AI language models to interact with ngspice in a controlled and structured way.
Features
- Integration with ngspice's shared library interface
- Standardized MCP protocol implementation
- Synchronous operation with structured data access
- Comprehensive output capture and redirection
- Vector data handling with multiple representation formats
- Support for both server and library usage modes
- Built-in test suite
Requirements
- D compiler (DMD/LDC)
- ngspice shared library
- MCP server library (d-mcp-server)
- D build system (dub)
Installation
- Ensure system requirements are installed
- Clone the repository
- Build using dub:
dub build --config=server
Usage
The server can be started with:
./ngspice-mcp [options]
Command Line Options
-
--working-dir
,-d
: Set the working directory for circuit files (default: current directory)
Available Tools
Circuit Loading
-
loadCircuit
: Load circuit netlists directly -
loadNetlistFromFile
: Load netlists from files
Example netlist:
RC Circuit
R1 in out 1k
C1 out 0 1u
.end
Simulation
-
runSimulation
: Execute simulation commands
Common commands:
-
op
: DC operating point -
dc source start stop step
-
ac dec points fstart fend
-
tran step tstop
Data Access
-
getPlotNames
: List available simulation plots -
getVectorNames
: List vectors in a specific plot -
getVectorData
: Retrieve vector data with options for:- Magnitude-phase representation
- Rectangular (real-imaginary) representation
- Both representations
- Optional interval selection
Resources
-
stdout://
: Standard output stream from ngspice -
stderr://
: Error output stream from ngspice -
usage://
: Comprehensive usage guide
Development
Project Structure
ngspice-mcp/
├── source/
│ ├── app.d # Main application
│ ├── bindings/ # ngspice C API bindings
│ ├── database/ # SQLite database handling
│ ├── parser/ # Netlist parsing
│ └── server/ # MCP server implementation
├── resources/ # Resource files
└── bin/ # Build outputs
Build Configurations
- Server Mode
dub build --config=server
- Library Mode
dub build --config=library
- Unit Tests
dub test --config=unittest
Testing
Run the test suite:
dub test
Tests cover:
- ngspice bindings
- Server functionality
- Tool validation
- Resource handling
- Error cases
Technical Details
Architecture
The server implements several key components:
-
NgspiceServer: Core server implementation
- Tool registration and handling
- Resource management
- Output stream capture
- Vector data processing
-
Output System
- Stdout/stderr capture
- Stream buffering
- Resource notification
-
Vector Processing
- Complex number handling
- Scientific notation formatting
- Interval selection
- Multiple representation formats
Database System
- Model parameter storage
- Efficient indexing and querying
- Transaction support
- Concurrent access handling
License
MIT License - see dub.json for details.
Copyright © 2024, Garret Noble
Contributing
Contributions are welcome! Please ensure:
- Code follows project style and standards
- Tests are included for new functionality
- Documentation is updated as needed
- Commit messages are clear and descriptive
相关推荐
I find academic articles and books for research and literature reviews.
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.
Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx
La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.
Un poderoso complemento Neovim para administrar servidores MCP (protocolo de contexto del modelo)
Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.
Puente entre los servidores Ollama y MCP, lo que permite a LLM locales utilizar herramientas de protocolo de contexto del modelo
Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.
Reviews

user_F89qS5MO
I've been using ngspice-mcp for a while now, and it’s simply amazing! This tool by gtnoble is a must-have for anyone working with spice simulations. It's user-friendly and tremendously enhances productivity. Check it out on GitHub for an incredible experience!