eda-agent MCP

An MCP server that lets an agent edit an open project in Altium Designer, KiCad or EasyEDA Pro: schematics, boards, libraries, checks

  • 296 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Broad access

Why this level

  • The agent edits open schematics, boards and libraries and can save documents to disk
  • The `app_` tools simulate real keys and mouse, take focus and act inside the Altium window
  • The autonomous mode drives a project through stages on its own, so the changes can be many
All reasons and checks

salitronic/eda-agent

Install

Manual install

git clone https://github.com/salitronic/eda-agent && cd eda-agent && python -m pip install -e .

Prefer python -m pip over a bare pip: the package lands in the same Python you will run the server with.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent edits open schematics, boards and libraries and can save documents to disk
  • The `app_` tools simulate real keys and mouse, take focus and act inside the Altium window
  • The autonomous mode drives a project through stages on its own, so the changes can be many

This is third-party code. Review the repository files before installing.

What it does

eda-agent is a Python MCP server that lets Claude Code or any other MCP client work with a live Altium Designer session. The server talks to the editor through a DelphiScript polling loop and a file-based exchange, so the agent reads the open project, answers questions about it and edits the schematic or board while you watch. The default Altium backend exposes about 500 tools for schematics, PCBs, libraries, projects and design agents. KiCad 9 and EasyEDA Pro plug in as extra backends. For project review there is `design_review_snapshot`, which bundles several reads (components, nets, rules, messages, BOM) into one call. `design_lint_report` runs 31 checks: parameter visibility, power-port orientation, floating ports, duplicate designators and more. Schematic and PCB nets can be cross-checked after an ECO. Typical sections come as ready blocks: decoupling, pull-ups, dividers, crystals, LEDs, filters and MOSFET switches. The server never invents a SPICE model; it asks for the manufacturer file. The `autodesign` skill in `skills/autodesign` walks an agent from a requirement to a board through the `design_next_action` loop. The server owns the order of 13 stages, the checks and the journal, and the agent performs the suggested steps. The skill works with Altium and EasyEDA Pro; the KiCad backend does not register this mode. A local dashboard at `http://127.0.0.1:8766` shows datasheet coverage and the project issue queue.

Who it is for. For circuit and PCB engineers on Altium Designer for Windows or KiCad 9 who want an agent to handle reviews, bulk edits, BOMs and libraries.

Good fit when

  • Before release you need a check: components without an MPN or datasheet, duplicate designators, floating nets
  • You want to ask about the open project, for example which nets a resistor connects to
  • You need a draft schematic from a requirement, say a 12 V to 3.3 V step-down supply around a chosen IC, with the datasheet read
  • You need bulk edits: component parameters, net names, wires and ports placed in batches
  • After an ECO you need to compare schematic and PCB nets and find mismatches

Not a fit when

  • The project is unsaved and has no backup: the author calls the server experimental, and some tools can crash the Altium scripting engine
  • You run Altium outside Windows: the Altium backend works only there
  • You need a batch run without an open editor: the server keeps a live connection to the open program
  • You are doing other work at the computer: the UI tools take focus and can interrupt your typing

Example request

Review the open Altium project: find components without an MPN or datasheet and unconnected nets, make no edits

MCP

Transport
stdio
Authentication
not required

Environment variables

EDA_AGENT_BACKEND
Backend chosen at startup, altium by default
EDA_AGENT_UI_AUTOMATION
A value of 0 refuses every synthesised key press and mouse click

Limitations

The author calls the project experimental: not every tool is tested and some can crash the DelphiScript engine in Altium, so make a copy of the project and use the `app_checkpoint` checkpoint. The Altium backend works only on Windows and needs a one-time registration of the `Altium_API.PrjScr` script as a Global Project and a StartMCPServer run from `Dispatcher.pas`. KiCad needs version 9 or newer with the API server enabled and `python -m pip install -e .[kicad]`. Python 3.11 or newer is required. The `app_` tools send real keyboard and mouse input. Datasheets are fetched over the network.

How to disable. Remove the server from the client config, in Claude Code that is `claude mcp remove altium`, and stop the loop in Altium with the Detach button, which saves nothing. The variable `EDA_AGENT_UI_AUTOMATION=0` switches off the keyboard and mouse simulation.

FAQ

How do I connect eda-agent to Claude Code?

Install the package with `python -m pip install -e .` from the cloned repository, then register the server: `claude mcp add -s user altium -- python -m eda_agent`. You can verify it with /mcp: the altium server should be listed.

Do I need to install anything inside Altium?

Yes. `eda-agent install-scripts` drops the `Altium_API.PrjScr` script project, which you register in the scripting system as a Global Project. After that the polling loop starts from File, Run Script, `Dispatcher.pas`, StartMCPServer.

What does the autodesign skill do?

It walks the agent through the `design_next_action` loop from a requirement to a board. The server suggests the stage and its exit gate and keeps a journal, and after three failures on a stage the question goes to a human. A checkpoint is advised before risky stages such as routing.

Is KiCad supported?

Yes, as an extra backend, starting with KiCad 9 and its API server enabled. You need `pip install -e .[kicad]`. The autodesign mode is not registered on the KiCad backend.

Can I stop the agent from clicking menus and buttons?

Yes. The variable `EDA_AGENT_UI_AUTOMATION=0` refuses every synthesised event. Reading dialogs stays on, so the server still notices that Altium is waiting for an answer.

Discussion

No questions or reviews yet.

A skill, CLI and MCP server for EasyEDA Pro: the agent reads datasheets, draws schematics and boards and checks them with DRC

SkillBroad access881Repository stars

An MCP server for PCB design in KiCAD: the agent places components, routes connections, runs DRC and prepares manufacturing files

MCP serverExtended access3KRepository stars

The kct CLI and a Python library for agents: parse and edit KiCad schematics and PCBs with JSON output, run DRC and ERC without a running KiCad

CLIExtended access74Repository stars

MCP server that lets an agent write valid Altium Designer libraries: .PcbLib footprints and .SchLib symbols

MCP serverExtended access86Repository stars

MCP server for PCB design in KiCAD 10: schematic, routing, checks and manufacturing prep through an agent

MCP serverExtended access1.4KRepository stars

A CLI agent for circuit boards: edits KiCad schematics and boards from a description and checks itself with ERC and DRC

CLIBroad access667Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
eda-agent (this entry)nonot required296
easyeda-agentno881works with EasyEDA Pro: a skill, CLI and MCP server
KiCAD MCP Servernonot required3,027designs boards in KiCad only
altium-designer-mcpnonot required86writes Altium libraries but does not edit the open project

README in short

The README opens with an experimental-status warning and a video of an agent drawing a step-down converter from one sentence. It then covers how the file exchange works, features, requirements, installation, client setup and sections on limitations, backends and the safety of input simulation. Details live in the docs folder: tool reference, autonomous design, backend choice.

README badge

Report a problem

Foxx AIeda-agent
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.