Lets an AI read, write and edit Altium Designer .PcbLib/.SchLib component libraries byte-exactly.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Let an AI build your Altium libraries β it does the engineering, this tool writes the files.
An MCP server that gives AI assistants (Claude Code, Claude Desktop, Cursor, Antigravity, VS Code Copilot β any MCP client) file I/O
and primitive-placement tools for Altium Designer .PcbLib (footprint) and .SchLib (symbol)
libraries β so the AI can create and maintain any component, not just pre-programmed packages.
Building Altium component libraries by hand is slow and repetitive β every footprint means
looking up IPC-7351B pad sizes, courtyards, and silkscreen, then placing each primitive by
hand. AI assistants are excellent at exactly that reasoning, but they cannot write Altium's
binary .PcbLib/.SchLib files β an undocumented OLE compound format that is easy to
corrupt, and Altium silently refuses to open a malformed file.
| Approach | Problem |
|---|---|
| Draw every footprint by hand in Altium | Slow and repetitive; the AI can't touch the file |
| Ask an AI to emit the binary file directly | It produces a corrupt file Altium won't open |
| Pre-programmed footprint generators | Only the package types someone coded in advance |
The AI handles the intelligence. The tool handles file I/O.
| Responsibility | Owner |
|---|---|
| IPC-7351B calculations | AI |
| Package layout decisions | AI |
| Style choices | AI |
| Datasheet interpretation | AI |
| Reading/writing Altium files | This tool |
| Primitive placement | This tool |
| STEP model attachment | This tool |
This means the AI can create any footprint β not just pre-programmed package types. See docs/VISION.md for the full architectural rationale.
Anyone who builds or maintains Altium component libraries and uses an MCP-capable AI
assistant. The AI does the engineering (datasheet β dimensions β style); this server lets it
read and write the actual .PcbLib / .SchLib files.
| If you⦠| Then⦠|
|---|---|
| Use Claude Code, Claude Desktop, Cursor, Antigravity, VS Code + Copilot β any MCP client β and design in Altium | β This is for you |
| Want pre-baked generators for a fixed set of packages | β Not this β the point is any component |
| Don't use Altium | β Not applicable |
Client Setup β verified configuration for Claude Code, Claude Desktop, Google Antigravity, Cursor, VS Code, GitHub Copilot CLI, Windsurf, Cline, Roo Code, Kiro, JetBrains, Zed, Gemini CLI, Codex CLI, Continue, Goose, OpenCode and any other stdio MCP client, plus troubleshooting β on Windows, Linux, and macOS.
Using the server β what to ask for once it is connected: example workflows, prompts and tips, identical for every client.
The server exposes 34 tools, working on both .PcbLib (footprints) and
.SchLib (symbols). Every tool's full parameters and examples live in
docs/TOOLS.md β this is the categorised overview.
| Tool | Purpose |
|---|---|
read_pcblib | Read footprints from a .PcbLib. |
write_pcblib | Write footprints to a .PcbLib. |
read_schlib | Read symbols from a .SchLib. |
write_schlib | Write symbols to a .SchLib. |
| Tool | Purpose |
|---|---|
list_components | List component names (paginated). |
get_component | Get one component's full data. |
search_components | Search across libraries by regex/glob. |
component_exists | Check whether components exist. |
render_footprint | ASCII-art preview of a footprint. |
render_symbol | ASCII-art preview of a symbol. |
extract_style | Extract styling from an existing library. |
| Tool | Purpose |
|---|---|
diff_libraries | Compare two library files. |
compare_components | Diff two specific components. |
| Tool | Purpose |
|---|---|
update_component | Update a component, preserving its position. |
update_pad | Update one pad's properties. |
update_primitive | Update one primitive (track/arc/text/fill/region). |
batch_update | Batch updates across all components. |
reorder_components | Reorder components in a library. |
manage_schlib_parameters | List/get/set/remove SchLib parameters. |
manage_schlib_footprints | Manage footprint links in SchLib symbols. |
| Tool | Purpose |
|---|---|
delete_component | Delete one or more components. |
copy_component | Duplicate a component within a library. |
rename_component | Rename a component (atomic). |
copy_component_cross_library | Copy a component to another library. |
bulk_rename | Pattern-based multi-rename. |
| Tool | Purpose |
|---|---|
merge_libraries | Merge multiple libraries into one. |
write_libpkg | Write a .LibPkg project grouping libraries for IntLib compilation. |
export_library | Export to JSON/CSV. |
import_library | Import from JSON (inverse of export). |
validate_library | Validate for common issues. |
repair_library | Remove orphaned data. |
extract_step_model | Extract embedded STEP 3D models. |
| Tool | Purpose |
|---|---|
list_backups | List automatic backups. |
restore_backup | Restore from a backup. |
| Primitive | Description |
|---|---|
| Pad | SMD or through-hole pad with designator, position, size, shape, layer (see Pad Shapes below) |
| Via | Vertical interconnect with layer span, hole size, and thermal relief |
| Track | Line segment on any layer (silkscreen, assembly, etc.) |
| Arc | Arc or circle on any layer |
| Region | Filled polygon (courtyard, copper pour) |
| Text | Text string with font, size, position, layer |
| Fill | Filled rectangle on any layer |
| ComponentBody | 3D model reference (embedded STEP models) |
The shape property on pads controls the copper shape. Use this to indicate pin 1:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/altium-designer-mcp)<a href="https://allmcps.com/mcp/altium-designer-mcp"><img src="https://allmcps.com/api/badge/altium-designer-mcp?style=directory" alt="Altium Designer MCP on AllMCPs" /></a>