Altium MCP
UnclaimedAltium Model Context Protocol server and Altium API script
Set up this server
More in AI & ML
Browse the full directoryUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverSecurity profile
Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works
36 of 36 tools
Documented tools (36)
From project documentation. A server handshake does not verify each tool’s description or behavior.
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.
get_symbol_primitives
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.
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.
Tool change history
FAQ
Questions about Altium MCP Server
- How do I connect Altium MCP Server to Claude?
- The project does not publish a launch command that MCPVault could verify. Open the repository linked on this page for its install steps; the listing names Claude Desktop, Claude Code, Cursor as compatible clients.
- Is Altium MCP Server free?
- The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
- What can Altium MCP Server do?
- Altium MCP Server documents 36 tools to the agent, including check_orientation, check_placement, create_footprints_batch. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.