MCPVault

get_symbol_primitives

MCP tool from Altium MCP by coffeenmusic

Inventory a .SchLib (every symbol with per-type primitive counts) or dump one symbol's complete geometry (all graphics + pin details, in mils; symbolname="" dumps every symbol). Used to gap-analyze a library, to give the agent a reference example when drawing a new symbol, and to verify recreations.

How to use it

get_symbol_primitives is exposed by the Altium MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the get_symbol_primitives tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

FULL ALTIUM MCP LISTING

Other tools in Altium MCP (35)

check_orientation

Advisory check for 2-pad passives whose rotation could be improved (e.g. a decoupling cap with its GND pad facing away from the IC). Geometry only - review suggestions with judgement; parts like pull-ups don't care.

check_placement

Verify a placement - finds overlaps and clearance violations against every other component on the board using true primitive-to-primitive distances (designator text excluded). Run after placing; a screenshot is not verification.

create_footprints_batch

Create many footprints in one script run from a plain-text spec file: SMD + through-hole pads (holes, slots, plating, rotation, full pad stack), tracks, arcs, fills, texts, and regions on any layer. Round-trip verified against complete production SMD and through-hole libraries.

create_net_class

(YouTube): Create a net class from a list of nets

create_pcb_footprint

Create a new PCB footprint in the currently active .PcbLib document. Supports SMD pads (Rect, Round, Oval shapes) defined in mm relative to the component origin. Auto-generates a courtyard on Mech 15 and silkscreen with a pin 1 indicator (gap in the top-left corner), or accepts explicit courtyard di

create_schematic_symbol

(YouTube): Passes pin list with pin type & coordinates to Altium script. Supports multi-part symbols (e.g. quad op-amps) via a partcount parameter and an ownerpartid field on each pin (use 0 for shared power/GND pins), active-low pin name overbars by placing a backslash after each overbarred charact

create_symbols_batch

Create many symbols in one script run from a plain-text spec file (bulk imports/migrations) - far faster and more robust than one create call per symbol.

ensure_altium_script_skill

Check whether the altium-script skill (Altium DelphiScript API reference, examples, and conventions) is installed, and install it on request. Skills load at client startup, so a newly installed skill appears after a restart.

get_all_component_property_names

Get a list of all available component property names

get_all_designators

Get a list of all component designators in the current board

get_all_nets

Returns a list of unique nets from the pcb

get_component_data

Get detailed data for specific components by designator

get_component_pins

Get pin information for specified components

get_component_property_values

Get the values of a specific property for all components

get_footprint_primitives

Inventory a .PcbLib (per-footprint primitive counts) or dump complete footprint geometry - pads with full stack/hole detail, tracks, arcs, fills, texts, regions - in mils. The reference source when recreating or verifying footprints. 3D bodies are excluded as models.

get_library_symbol_reference

Create symbol's helper tool to use an open library symbol as an example to create the symbol

get_net_connections

For the nets touching a set of components, list every pad on each net board-wide with per-net airline (MST) lengths - the data behind connectivity-driven placement (shorten critical nets, see off-cluster loads and filter banks).

get_output_job_containers

Using currently open .OutJob file, reads all available output containers

get_pcb_layer_stackup

Gets stackup info like dielectric, layer thickness, etc.

get_pcb_layers

Get detailed layer information including electrical, mechanical, layer pairs, etc.

get_pcb_rules

Gets the rule descriptions for all pcb rules in layout.

get_schematic_data

Get schematic data for specified components

get_screenshot

Take a screenshot of the Altium PCB window or Schematic Window that is the current view, returned as a proper image the agent can see. For PCB views, an optional zoomto list of designators makes Altium zoom to those components before capture so they fill the frame. It should auto focus either docume

get_selected_components_coordinates

Get position, rotation, layer, and footprint information for currently selected components

get_server_status

Check the status of the MCP server, including paths to Altium and script files

get_symbol_placement_rules

Create symbol's helper tool that reads ~\AppData\Roaming\Claude\Claude Extensions\local.dxt.altium-mcp\server\symbolplacementrules.txt to get pin placement rules for symbol creation.

layout_duplicator

(YouTube): Starts layout duplication assuming you have already selected the source components on the PCB.

layout_duplicator_apply

Action #2 of layoutduplicator. Agent will use part info automatically to predict the match between source and destination components, then will send those matches to the place script.

move_components

Move specified components by X and Y offsets

place_components

Batch absolute placement - place any number of components (x, y, rotation, top/bottom layer) in a single transaction / one undo step. The workhorse for AI-driven placement.

run_altium_script

Run a DelphiScript snippet in an isolated sandbox script project and get back a step-by-step log, the script's result, and - when a script dies - the exact statement that killed it. Altium has no headless test mode: a runtime error leaves the script paused in the debugger with no dialog, after which

run_output_jobs

Pass a list of output job container names from the currently open .OutJob to run any number of them. .OutJob must be the currently focused document.

search_library_symbol

Search for a symbol by name in a schematic library (.SchLib) and navigate to it. Supports partial name matching. Will open the library file in Altium if a path is provided, or show a file picker if not.

set_component_position

Set one component's absolute position and rotation

set_pcb_layer_visibility

(YouTube): Turn on or off any group of layers. For example turn on inner layers. Turn off silk.