kicad-workbench
Enables AI agents to work with KiCad projects, including reading schematics, boards, and libraries; running ERC/DRC; generating netlists and BOMs; inspecting symbols, footprints, tracks, and zones; editing schematics; and exporting STEP, Gerber, and 3D image outputs.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
KiCad Workbench
KiCad Workbench is an MCP server that lets an AI agent work with KiCad projects. The agent reads schematics, boards and libraries, runs the checks of KiCad, makes the bill of materials (BOM), and writes changes to the schematic. It supports KiCad 8, 9 and 10.
The server gives the results that KiCad gives. Where KiCad has an interface, the
server uses KiCad itself. kicad-cli makes the netlist, the BOM, the ERC and DRC
reports and the exports. The Python module pcbnew of KiCad reads boards and
footprints. Where KiCad has no interface, the server uses the rules of the KiCad
source code for the installed version of KiCad, and reads a file as that KiCad loads
it. It tells when a result can be incomplete. We compare these rules with KiCad 8.0.9,
9.0.9 and 10.
Design review. The agent gets the components, nets, pins and sheets of a schematic, and the footprints, tracks and zones of a board. It runs ERC and DRC, and finds pins with no pad, symbols with no footprint and missing 3D models.
Libraries. The agent searches the symbol and footprint libraries of KiCad and of the project, reads a symbol or a footprint as KiCad places it, and gets PNG images of it for a visual check.
BOM and parts. The agent makes the BOM as kicad-cli makes it (also for each variant of KiCad 10), checks the MPN fields of the symbols, and writes the confirmed fields into the schematic.
Status: in development (version 0.1). The tools work and have tests. The interfaces can change.
Datasheets of the project with datasheet-lens
datasheet-lens is an MCP server for the datasheets of electronic components. With the two servers, the agent keeps the datasheets of a design equal to its BOM, and checks the design against the original datasheets:
The datasheets follow the BOM.
export_bomgives the parts of the design with their MPN and Datasheet fields as a CSV file.project_checkof datasheet-lens compares this file with the project filedatasheet-lens.toml, and gives the parts that are missing, extra or different. The project file and the datasheets go into the repository of the design, the same for each person of the team.Confirmed MPNs. The Value field holds the general value (
2N7002), the field MPN the orderable MPNs (2N7002LT1G, BSS138LT1G), and the hidden fields Value_Confirmed and MPN_Confirmed the copies that the user confirmed. datasheet-lens finds the changes, andset_symbol_fieldswrites the confirmed fields into the schematic, as KiCad writes them. Without datasheet-lens,check_symbol_fieldsdoes the same check with the same messages.Checks against the datasheet. The agent compares the pins of a symbol with the pin table of the datasheet, a footprint with the package drawing, and the circuit with the absolute maximum ratings and the application circuit. datasheet-lens gives the original pages as images, not a text conversion.
See docs/datasheet-lens.md for the procedure.
Related MCP server: KiCad MCP Server
Features
Schematics. Components, nets, symbols and fields, the sheet hierarchy, and the connections across sheets.
Netlist. The netlist of kicad-cli, and the connections of each pin.
Boards. Footprints, tracks, vias and zones, the statistics and the design rules (through
pcbnew), a 3D view as PNG or JPEG (KiCad 9 or later), and the STEP and Gerber exports.Checks. ERC (with the annotation check of the ERC dialog, which kicad-cli does not run) and DRC through kicad-cli, the pin and pad check of "Update PCB from Schematic", the pin conflicts of the netlist, and the links to the libraries and the 3D models.
Libraries. The library tables of KiCad and of the project, a search as in the choosers of KiCad, the content of symbols and footprints, and PNG images.
BOM. The BOM of kicad-cli with the fields, the groups, the DNP filter and the variants of KiCad 10.
Edits. New projects, symbols from the libraries, wires, labels and junctions as the schematic editor makes them, and the fields of placed symbols. The server writes the format of the file version, and refuses a file that KiCad has open.
File versions. Each KiCad opens a file of an older version, and its next save writes the file in its own version. The server does not convert files: the user converts them in KiCad. A schematic, a board or a library of an older version than the installed KiCad gives a warning with the step for the user (for a library:
kicad-cli sym upgradeorkicad-cli fp upgrade). A tool that writes refuses an older schematic or board, because KiCad saves an edit of it in its own version. A file of a newer version than the installed KiCad is an error, as in KiCad: the output tells the user to install a newer KiCad.Parts registry. A search in an open registry of KiCad parts (PartReel), and the download of their symbols and footprints (on request also their 3D models).
All tools are in docs/tools.md.
Requirements
KiCad 8, 9 or 10, with kicad-cli.
Python 3.10 or later.
For exact board data: a Python that can import the module
pcbnewof KiCad. Without it, the board tools (footprints, statistics, tracks, nets, zones) read the board file as text, with no design rules and no board outline.
Installation
Install the server into a Python that can import pcbnew.
Linux (the KiCad package of the distribution installs pcbnew for the system
Python):
pipx install --python /usr/bin/python3 --system-site-packages kicad-workbench
claude mcp add --scope user kicad -- kicad-workbenchWindows and macOS: install the server into the Python of KiCad, and give that Python to the MCP client. The steps are in docs/installation.md. We did not test them on Windows and macOS yet.
For a different MCP client, set the command kicad-workbench with no arguments. The
server tells the agent about a newer release on PyPI. See
docs/installation.md for the configuration, the environment
variables and the troubleshooting.
Quick start
Ask the agent in natural language, and give the path of the schematic or the board:
Give the components and the nets of
~/boards/sensor/sensor.kicad_sch.
Run ERC and DRC on the sensor board, and explain each error.
Do the pins of U3 agree with the pads of its footprint?
Make the BOM with the MPN field, and save it as CSV for datasheet-lens.
Show the footprint
Package_SO:SOIC-8_3.9x4.9mm_P1.27mmas an image.
The agent selects the tools. Close the files in KiCad before the agent edits them: KiCad does not read a change to a file that it has open.
Documentation
Document | Content |
Requirements, installation on Linux, Windows and macOS, MCP clients, environment variables, release notices, troubleshooting, upgrade | |
All tools, with their arguments and limits | |
The datasheets of a project with datasheet-lens: BOM, confirmed MPNs, checks against the datasheet | |
The schematic edits: the rules of KiCad that they use, and their limits | |
Development setup, tests, rules for code and text | |
The changes of each release |
Development
python3 -m venv --system-site-packages .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytest tests/ -qSee docs/development.md.
Acknowledgments
Thanks to all contributors and to the feedback of the community:
@raffaeler for the tests and feedback for KiCad 10 (kicad-mcp-server#9)
@shivam5594 for the report of the install problem with Python 3.14 (kicad-mcp-server#11)
@derekc00 for lint fixes (kicad-mcp-server#10)
@befedo for the report and the patch of the SchematicComponent bug (kicad-mcp-server#13)
License
MIT, see LICENSE. KiCad Workbench started as a fork of Seeed-Studio/kicad-mcp-server (MIT, copyright Seeed Studio). The history of this repository starts on 2026-11-04 with the state of that fork.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP servers for KiCad schematic, PCB, symbol, footprint, and project automation, enabling AI-assisted electronic design via tools for read/write, analysis, and exports.109426 PyPI16GPL 3.0
- AlicenseBqualityBmaintenanceAn MCP server that enables AI assistants to analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code for KiCad projects.39177MIT
- AlicenseNot gradedqualityBmaintenanceKiCad MCP Pro is an MCP server for KiCad EDA workflows. It lets AI agents automate schematic and PCB tasks, ERC/DRC validation, DFM review, and manufacturing export.4,188 PyPI184MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents end-to-end control of KiCad 9+ for rule checks, manufacturing exports, production-readiness certification, and live PCB editor control.MIT