Skip to main content
Glama

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_bom gives the parts of the design with their MPN and Datasheet fields as a CSV file. project_check of datasheet-lens compares this file with the project file datasheet-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, and set_symbol_fields writes the confirmed fields into the schematic, as KiCad writes them. Without datasheet-lens, check_symbol_fields does 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 upgrade or kicad-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 pcbnew of 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-workbench

Windows 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.27mm as 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

docs/installation.md

Requirements, installation on Linux, Windows and macOS, MCP clients, environment variables, release notices, troubleshooting, upgrade

docs/tools.md

All tools, with their arguments and limits

docs/datasheet-lens.md

The datasheets of a project with datasheet-lens: BOM, confirmed MPNs, checks against the datasheet

docs/editing.md

The schematic edits: the rules of KiCad that they use, and their limits

docs/development.md

Development setup, tests, rules for code and text

CHANGELOG.md

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/ -q

See docs/development.md.

Acknowledgments

Thanks to all contributors and to the feedback of the community:

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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP servers for KiCad schematic, PCB, symbol, footprint, and project automation, enabling AI-assisted electronic design via tools for read/write, analysis, and exports.
    109
    426 PyPI
    16
    GPL 3.0
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables AI assistants to analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code for KiCad projects.
    39
    177
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    KiCad 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 PyPI
    184
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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