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
Install
Installing takes two steps: the universal-netlist binary, then the plugin for your agent. The plugin connects the MCP server to the agent, so there is no configuration to write.
1. Install the binary
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 installer provides:
- No dependencies: a standalone binary, with no Node.js required
- Auto-updates: the binary checks for updates on startup;
universal-netlist updateupdates it on demand - Signed binaries: macOS binaries are notarized by Apple
It places the binary in the bin/ folder of ~/Library/Application Support/universal-netlist/ (macOS), ~/.local/share/universal-netlist/ (Linux) or %LOCALAPPDATA%\universal-netlist\ (Windows), and adds that folder to your PATH in both your shell's startup file and its login profile, so apps started outside a terminal, such as the Claude desktop app, find it too. Restart your agent afterwards. If you installed before the login-profile entry existed, run the installer again: it adds only what is missing.
npm install -g @intelligentelectron/universal-netlist
Requires Node.js 22.15+. Update with npm update -g @intelligentelectron/universal-netlist.
Install the binary one way only: the plugin runs the first universal-netlist on your PATH.
2. Install the plugin
Claude Code
/plugin marketplace add IntelligentElectron/universal-netlist
/plugin install universal-netlist@universal-netlist
Local sessions in the Code tab of the Claude desktop app use Claude Code's plugins, so the server is available there too.
OpenAI Codex
codex plugin marketplace add IntelligentElectron/universal-netlist --sparse .agents/plugins --sparse plugins
codex plugin add universal-netlist@universal-netlist
The --sparse paths fetch only the plugin; Codex otherwise clones the whole repository, test fixtures included, which takes minutes. The plugin works in the Codex CLI and the Codex app.
Then ask the agent to review a schematic, trace a net, or check a design.
Other agents
Open Customize, choose Browse Marketplace, then Add Marketplace → Import from GitHub. Enter IntelligentElectron/universal-netlist and add the universal-netlist plugin.
copilot plugin marketplace add IntelligentElectron/universal-netlist
copilot plugin install universal-netlist@universal-netlist
Add this to the project's .claude/settings.json:
{
"extraKnownMarketplaces": {
"universal-netlist": {
"source": { "source": "github", "repo": "IntelligentElectron/universal-netlist" }
}
},
"enabledPlugins": { "universal-netlist@universal-netlist": true }
}
and this to the project's .codex/config.toml:
[marketplaces.universal-netlist]
source_type = "git"
source = "https://github.com/IntelligentElectron/universal-netlist.git"
sparse_paths = [".agents/plugins", "plugins"]
[plugins."universal-netlist@universal-netlist"]
enabled = true
Each person still installs the binary once.
If you registered the server yourself before, remove that registration so the agent does not run two copies:
claude mcp remove --scope user universal-netlist
codex mcp remove universal-netlist
Every MCP tool is also a shell command, for an agent in a sandbox or container that cannot connect an MCP server:
universal-netlist search_nets board.DSN --pattern '^VCC'
The plugin carries a skill that teaches an agent those commands, their flags and exit codes, and the parse cache; the agent uses it only when the MCP server is not connected. Agents that read Agent Skills can install the skill alone through the GitHub CLI:
gh skill install IntelligentElectron/universal-netlist universal-netlist --agent github-copilot --scope user
--agent takes opencode, amp, goose and the other names gh skill install --help lists. See docs/cli.md for the command line itself.
Supported Platforms
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, docs/library.md for calling the tools in-process from your own code, docs/parse-cache.md for how parses are reused between queries, 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
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