@intelligentelectron/universal-netlist
v1.4.0
Published
MCP server for netlist parsing and circuit analysis
Maintainers
Readme
Universal Netlist MCP Server
The Universal Netlist MCP Server gives AI agents the tools to understand and analyze your electrical schematics, for powerful and comprehensive design reviews through natural conversations.
It is compatible with Cadence, Altium, and KiCad, with plans to integrate more EDAs in the future. Note that the commercial EDAs (Cadence and Altium) require your own license to unleash the full capabilities of this MCP server; KiCad is free and open-source.
Supported Formats
| Format | Input Files | Description |
|--------|------------|-------------|
| Cadence (CIS / HDL) | .dat netlist files | Exported Allegro netlist files (pstxnet.dat, pstxprt.dat, pstchip.dat) from Cadence Capture CIS or HDL designs |
| Altium Designer | .SchDoc | Altium schematic documents (discovered via .PrjPcb project files) |
| KiCad | .kicad_pro (or root .kicad_sch) | Reads a resolved kicadsexpr netlist export: a committed .net beside the project if present, otherwise generated on demand via kicad-cli (requires KiCad installed; set KICAD_CLI_PATH for a non-standard location) |
Native Install (Recommended)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/IntelligentElectron/universal-netlist/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/IntelligentElectron/universal-netlist/main/install.ps1 | iexWhy use the native installer:
- No dependencies — standalone binary, no Node.js required
- Auto-updates — checks for updates on startup
- Signed binaries — macOS binaries are notarized by Apple
The installer downloads two files:
- Binary - For CLI usage and manual MCP client configuration
- Claude Desktop extension (.mcpb) - For easy Claude Desktop integration
| Platform | Install Directory |
|----------|-------------------|
| macOS | ~/Library/Application Support/universal-netlist/ |
| Linux | ~/.local/share/universal-netlist/ |
| Windows | %LOCALAPPDATA%\universal-netlist\ |
Update
The server checks for updates on startup. To update manually:
universal-netlist --updateAlternative: Install via npm
For developers who prefer npm:
npm install -g @intelligentelectron/universal-netlistOr use with npx (no installation required):
npx @intelligentelectron/universal-netlist --helpRequires Node.js 20+.
To update:
npm update -g @intelligentelectron/universal-netlistConnect the MCP with your favorite AI tool
After installing the MCP with one of the methods above, you can connect it to your AI agent of choice.
Claude Desktop
- Download the Claude Desktop app
- Open Claude Desktop and go to Settings (gear icon)
- Under Desktop app, click Extensions
- Click Advanced settings
- In the Extension Developer section, click Install Extension...
- Navigate to your install directory and select
universal-netlist.mcpb:- macOS:
~/Library/Application Support/universal-netlist/universal-netlist.mcpb - Windows:
%LOCALAPPDATA%\universal-netlist\universal-netlist.mcpb
- macOS:
The extension will be available immediately in your conversations.
Claude Code
Install Claude Code, then run:
claude mcp add --scope user universal-netlist -- universal-netlistOpenAI Codex
Install OpenAI Codex, then run:
codex mcp add universal-netlist -- universal-netlistSupported Platforms
| Platform | Binary |
|----------|--------|
| macOS (Universal) | universal-netlist-darwin-universal |
| Linux (x64) | universal-netlist-linux-x64 |
| Linux (ARM64) | universal-netlist-linux-arm64 |
| Windows (x64) | universal-netlist-windows-x64.exe |
Observability (OpenTelemetry)
The server can emit OpenTelemetry traces, metrics, and logs for every tool call, so you can integrate your own OTel service and see which tools are used, how long they take, and what fails. It is vendor-neutral and works with any OTLP-compatible backend (an OpenTelemetry Collector, Jaeger, Tempo, Prometheus, Honeycomb, Datadog, a managed cloud tracing service, etc.).
Telemetry is disabled by default with zero overhead, and is enabled and configured entirely through the standard OTEL_* environment variables — no code changes.
See Observability (OpenTelemetry) for setup, configuration, and the full list of emitted spans, metrics, and logs.
Documentation
See docs/ for API documentation and response schemas.
See CONTRIBUTING.md for development guidelines.
About
Created by Valentino Zegna
This project is hosted on GitHub under the IntelligentElectron organization.
Universal Netlist MCP Server and the universal netlist open standard are original works by Valentino Zegna.
Acknowledgments
The Cadence DSN binary parser is a TypeScript port of OpenOrCadParser by Dominik Wernberger. Their work reverse-engineering the OrCAD binary format made direct schematic parsing possible.
License
Apache License 2.0 - see LICENSE
