
Drive a live Altium Designer session: schematic, PCB and library tools. KiCad and EasyEDA too.
Public tool metadata for what this MCP can expose to an agent.
obj_queryGeneric primitive that queries almost any schematic or PCB object type via late-binding.Generic primitive that queries almost any schematic or PCB object type via late-binding.
No parameter schema in public metadata yet.
obj_modifyGeneric primitive that modifies almost any schematic or PCB object type via late-binding.Generic primitive that modifies almost any schematic or PCB object type via late-binding.
No parameter schema in public metadata yet.
obj_createGeneric primitive that creates almost any schematic or PCB object type via late-binding.Generic primitive that creates almost any schematic or PCB object type via late-binding.
No parameter schema in public metadata yet.
obj_deleteGeneric primitive that deletes almost any schematic or PCB object type via late-binding.Generic primitive that deletes almost any schematic or PCB object type via late-binding.
No parameter schema in public metadata yet.
obj_run_processGeneric primitive that runs Altium processes via late-binding.Generic primitive that runs Altium processes via late-binding.
No parameter schema in public metadata yet.
design_review_snapshotBundles 8 to 12 review reads (project info, components, nets, rules, diff, messages, stats, unrouted, BOM) into a single call.Bundles 8 to 12 review reads (project info, components, nets, rules, diff, messages, stats, unrouted, BOM) into a single call.
No parameter schema in public metadata yet.
design_lint_reportRuns 31 audit checks in one IPC pass and returns a structured violation list.Runs 31 audit checks in one IPC pass and returns a structured violation list.
No parameter schema in public metadata yet.
design_add_circuit_blockFolds a whole canonical circuit block into a DesignPlan in one call, allocating refdes and wiring pins to nets.Folds a whole canonical circuit block into a DesignPlan in one call, allocating refdes and wiring pins to nets.
No parameter schema in public metadata yet.
design_list_circuit_blocksReturns each circuit block's parameter contract.Returns each circuit block's parameter contract.
No parameter schema in public metadata yet.
obj_crossref_netCompares the schematic pin list against the PCB pad list for the same net.Compares the schematic pin list against the PCB pad list for the same net.
No parameter schema in public metadata yet.
sim_get_readinessAudits every component and partitions into ready, needs-primitive and needs-file.Audits every component and partitions into ready, needs-primitive and needs-file.
No parameter schema in public metadata yet.
sim_attach_primitivesSets SpicePrefix and Value on passives.Sets SpicePrefix and Value on passives.
No parameter schema in public metadata yet.
sim_attach_modelLinks a vendor .mdl or .ckt model to a component.Links a vendor .mdl or .ckt model to a component.
No parameter schema in public metadata yet.
sim_runDispatches the simulator.Dispatches the simulator.
No parameter schema in public metadata yet.
proj_force_recompileExplicit probe forcing a guaranteed-fresh netlist recompile.Explicit probe forcing a guaranteed-fresh netlist recompile.
No parameter schema in public metadata yet.
proj_get_compile_freshnessExplicit probe reporting compile freshness.Explicit probe reporting compile freshness.
No parameter schema in public metadata yet.
tool_catalogSearches tools by name, category, maturity or interaction and returns parameters with with_schema=True.Searches tools by name, category, maturity or interaction and returns parameters with with_schema=True.
No parameter schema in public metadata yet.
tool_guideAnswers in plain words what a task needs, which tool to use, and what is impossible.Answers in plain words what a task needs, which tool to use, and what is impossible.
No parameter schema in public metadata yet.
tool_invokeRuns any tool by name with an arguments dict.Runs any tool by name with an arguments dict.
No parameter schema in public metadata yet.
app_attachAttaches to the running Altium session.Attaches to the running Altium session.
No parameter schema in public metadata yet.
app_pingKeep-alive ping to the attached session.Keep-alive ping to the attached session.
No parameter schema in public metadata yet.
app_detachSaves edited documents and detaches the polling loop.Saves edited documents and detaches the polling loop.
No parameter schema in public metadata yet.
Sponsors
EDA_AGENT_BACKENDdefault: altiumThe EDA tool to drive; both = Altium and KiCad
EDA_AGENT_TOOLSETdefault: fullfull lists every tool; minimal lists two meta-tools that reach them all
MCP server that lets an AI (or any MCP-compatible client) interact with a live Altium Designer session, with KiCad and EasyEDA Pro available as additional backends. It exposes around 600 tools on Altium, covering schematic, PCB, library, project, and design-agent operations, over a persistent DelphiScript bridge. The AI reads the design you currently have open, asks questions about it, and can modify it in place while you watch. The backend is selected at startup, so each user sees only their own tool set.
⚠️ Experimental. Not all tools are extensively tested. Some can crash the Altium DelphiScript engine. See Known limitations before using on any design you haven't backed up.
eda-agent