# altium-designer-mcp

Gives AI agents file operations to generate and manage Altium Designer libraries. Helpful when turning datasheet specs into valid .PcbLib and .SchLib assets.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 84
- Author: embedded-society
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/embedded-society/altium-designer-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/altium-designer-mcp

## What it does

Drafting footprints manually in Altium Designer eats up engineering time. Direct file generation by language models fails because Altium uses an undocumented OLE compound structure. Any malformed byte causes Altium to reject the file silently. This server separates duties: the language model calculates geometries from datasheets, while the server handles low-level file storage.

The package includes 34 tools for inspecting, reading, and updating `.PcbLib` footprint and `.SchLib` schematic symbol files. Agents can position primitives, check existing entries with pattern matching, attach STEP geometry, and render ASCII footprint outlines.

Altium silently ignores damaged library files, so writing raw binary structures without dedicated file tools will break your workflow. The server runs via standard I/O streams across Windows, Linux, and macOS.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- Write `.PcbLib` and `.SchLib` library archives directly from an AI chat interface.
- Compute IPC-7351B pad margins and silkscreen outlines from raw component dimensions.
- Link STEP mechanical models to newly generated PCB footprints.
- Query component databases using regular expressions to prevent duplicate parts.
- Produce ASCII-based footprint previews to inspect pad geometry in the terminal.

## Example prompts
- "Create an IPC-7351B footprint for a 0603 resistor and append it to `components.PcbLib`"
- "Inspect `logic.SchLib` to verify if the gate symbol exists and update its pin layout"
- "Search `connectors.PcbLib` for header parts using a regex and render an ASCII preview"

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
