About Universal Netlist
Universal Netlist is an MCP server published by IntelligentElectron in the Science category: give AI agents the power to read Cadence, Altium, and KiCad designs.
The repository has 56 stars and 10 forks, with the last commit 9 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
claude mcp add universal-netlist-e687 -- npx -y @intelligentelectron/universal-netlistnpx -y @intelligentelectron/universal-netlistThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Universal Netlist
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository yesterday. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
2 checks have not been run yet.
Releases
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 reads Cadence, Altium, and KiCad design files directly on macOS, Linux, and Windows, with no Cadence or Altium installation and no EDA license required.
Supported Formats
| Format | Input Files | Description |
|---|---|---|
| Cadence (OrCAD / CIS) | .DSN schematic |
Reads the binary schematic directly, including each part's own Do Not Stuff state and the selectable CIS BOM design variants |
| Altium Designer | .SchDoc |
Altium schematic documents, discovered via .PrjPcb project files; sheets are joined through ports, sheet entries and buses under the project's net identifier scope, with selectable design variants (Not Fitted rows, alternate parts, and parameter overrides) |
| KiCad | .kicad_pro (or root .kicad_sch) |
Reads a committed .net export, or generates one with kicad-cli, then applies a selected design variant from the schematic's own instance blocks |
| Universal Netlist Format | .netlist.json |
The open JSON format for netlists |
Native Install (Recommended)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/IntelligentElectron/universal-netlist/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/IntelligentElectron/universal-netlist/main/install.ps1 | iex
The native installer provides:
- No dependencies: a standalone binary, with no Node.js required
- Auto-updates: the binary checks for updates on startup
- Signed binaries: macOS binaries are notarized by Apple
The installer places the binary in the bin/ folder of:
| 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 update
Alternative: Install via npm
For developers who prefer npm:
npm install -g @intelligentelectron/universal-netlist
Or use with npx (no installation required):
npx @intelligentelectron/universal-netlist help
Requires Node.js 20+.
To update:
npm update -g @intelligentelectron/universal-netlist
Connect the server to an AI agent
After installing the server with one of the methods above, register it with the agent you use.
Claude Code and the Claude desktop app
Install the Claude Code CLI, then run:
claude mcp add --scope user universal-netlist -- universal-netlist
Local sessions in the Code tab of the Claude desktop app use the MCP servers Claude Code registers, so the server is available there too.
OpenAI Codex
Install OpenAI Codex, then run:
codex mcp add universal-netlist -- universal-netlist
Supported 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, which report which tools are used, how long they take, and what fails. Any OTLP-compatible backend receives them (an OpenTelemetry Collector, Jaeger, Tempo, Prometheus, Honeycomb, Datadog, or a managed cloud tracing service).
OpenTelemetry is disabled by default and is enabled and configured through the standard OTEL_* environment variables, with no code changes. Separately, the server keeps a local usage log on your disk.
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, docs/cli.md for the binary's command line, and docs/password-protected-designs.md for OrCAD designs saved with a password.
See CONTRIBUTING.md for development guidelines.
Privacy Policy
The server runs on your machine and sends the author nothing; it keeps a local usage log on your disk. The full policy is PRIVACY.md.
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
README fetched from the repository yesterday. The original is authoritative.