Atlas / MCP servers / seeed-studio / KiCad

KiCadSAFE

mcp/seeed-studio/kicad-3

🔌 MCP server for KiCad EDA - Analyze schematics & PCBs, trace pin-level connections, automate design editing. Works with any MCP-compatible AI tool

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
47 39r · 8w · 0d
Transport
stdio
License
—
Stars
140
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A Model Context Protocol (MCP) server for KiCad 9.0+ that lets AI assistants analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code.

Features

  • Schematic Analysis - Components, nets, symbols, hierarchical sheets
  • PCB Analysis - Footprints, tracks, routing quality, signal/power integrity via pcbnew API
  • Netlist Tracing - 100% accurate pin-level connection tracking
  • Design Validation - ERC/DRC via kicad-cli (headless, CI friendly)
  • Pin Analysis - Pin function detection, conflict analysis, pinmux config
  • Code Generation - Device tree (.dts) and hardware test code generation
  • Project Management - Create KiCad projects from templates
  • Parts Registry - Search 21,000+ verified parts on an open, no-login registry (PartReel by default, PARTS_REGISTRY_URL to change) and download footprints/symbols/3D into the project; downloads are host-allowlisted, extension-checked and size-capped

Requirements

  • KiCad 8.0+ (9.0 or 10.0 recommended)
  • kicad-cli in PATH (included with KiCad)

Installation

Recommended: Install into KiCad Python (Full PCB Analysis)

KiCad ships with its own Python that includes the pcbnew module. Installing into this Python gives you full PCB analysis capabilities (precise track lengths, via statistics, signal integrity, power integrity).

Step 1: Find your KiCad Python path:

Step 2: Install the package into KiCad Python:

# Windows example (KiCad 10.0)
"C:\Program Files\KiCad\10.0\bin\python.exe" -m pip install fastmcp
"C:\Program Files\KiCad\10.0\bin\python.exe" -m pip install -e .

# macOS example
/Applications/KiCad/KiCad.app/Contents/Frameworks/python3
Read from source at commit 8f49b21dcffcOBSERVED · 2026-10-07
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add kicad-mcp-server -- uvx kicad-mcp-server
claude-desktop
{
  "mcpServers": {
    "kicad-mcp-server": {
      "command": "uvx",
      "args": [
        "kicad-mcp-server"
      ]
    }
  }
}
03

Exposed tools (47)

39 read · 8 write · 0 destructive.

ToolRiskDescription
add_component_from_librarywriteAdd a component from KiCad
add_global_labelwriteAdd a global label on a component pin (project-wide connection).
add_hierarchical_labelwriteAdd a hierarchical label on a component pin (cross-sheet connection).
add_labelwriteAdd a local label (text label) to the schematic.
add_wirewriteAdd a wire (connection line) to the schematic.
analyze_hierarchical_netsreadAnalyze all nets in hierarchical schematic design.
analyze_pcb_netsreadAnalyze nets in a KiCad PCB file.
analyze_pcb_power_integrityreadAnalyze power integrity: copper zones, power net routing, GND coverage.
analyze_pcb_signal_integrityreadAnalyze signal integrity: diff pair matching, RF traces, critical nets.
analyze_pin_functionsreadAnalyze pin functions and detect conflicts.
create_kicad_projectwriteCreate a new KiCad project.
detect_pin_conflictsreadDetect pins with conflicting electrical connections.
download_registry_partreadDownload a registry part
export_drc_reportreadExport DRC report to file.
export_erc_reportreadExport ERC report to file.
export_gerberreadExport a PCB to Gerber + drill files for fabrication via kicad-cli.
export_pcb_3dreadExport the PCB as a STEP 3D model for mechanical CAD handoff.
export_schematic_svgreadExport schematic pages to SVG images.
extract_gpio_configreadExtract GPIO pin configurations from schematic.
extract_i2c_devicesreadExtract I2C bus and device configurations.
extract_pinmux_configreadExtract pin multiplexing configuration for MCUs.
extract_power_domainsreadExtract power domain and regulator configurations.
extract_spi_devicesreadExtract SPI bus and device configurations.
find_tracks_by_netreadFind track segments belonging to a specific net.
generate_device_treereadGenerate device tree source (.dts) file from schematic.
generate_netlistreadGenerate KiCad netlist from schematic file.
get_drc_violationsreadGet filtered DRC violations from PCB.
get_erc_violationsreadGet filtered ERC violations from schematic.
get_netlist_componentsreadGet all components from netlist with their network connections.
get_netlist_netsreadGet all nets from netlist file.
get_pcb_statisticsreadGet statistics about a KiCad PCB design.
get_registry_partreadGet the full registry record for one part.
get_schematic_inforeadGet general information about a schematic file.
get_symbol_detailsreadGet detailed information about a specific symbol/component.
list_pcb_footprintsreadList all footprints in a KiCad PCB file.
list_schematic_componentsreadList all components in a KiCad schematic file.
list_schematic_netsreadList all nets in a KiCad schematic.
render_pcbreadRender a 3D view of the PCB to a PNG image.
run_drcwriteRun Design Rules Check (DRC) on PCB.
run_ercwriteRun Electrical Rules Check (ERC) on schematic.
search_components_by_typereadSearch for components by type (OLED, sensor, display, etc.).
search_parts_registryreadSearch an open registry of 21,000+ verified KiCad parts (no login).
search_symbolsreadSearch for symbols/components matching a pattern.
setup_pcb_layoutreadInitialize an empty PCB with the specified board outline dimensions.
trace_hierarchical_connectionreadTrace component connections across hierarchical schematics.
trace_netlist_connectionreadTrace component connections using netlist file (most accurate).
validate_pin_configurationreadValidate pin configuration conflicts for device tree generation.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (4 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (5)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements-dev.txt
pytest, pytest-asyncio, pytest-cov, black, ruff, mypy, sphinx, sphinx-rtd-theme
Why it matters. 8 requirement(s) not pinned with ==
Fix. pin exact versions
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
mcp, fastmcp, kicad-skip, pydantic, python-dotenv, jinja2
Why it matters. 6 requirement(s) not pinned with ==
Fix. pin exact versions
LOWPrompt injection · prompt.persistence · CWE-94, CWE-1427
docs/INSTALLATION.md:113
# Add to ~/.bashrc or ~/.zshrc
Why it matters. instructs the agent to persist itself in the user's environment
LOWPrompt injection · prompt.persistence · CWE-94, CWE-1427
docs/VALIDATION.md:233
# Install KiCad or add to PATH
Why it matters. instructs the agent to persist itself in the user's environment

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 8f49b21dcffcfull audit observations/trust-audit/mcp-server/seeed-studio__kicad-3.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-078f49b21dcffcSAFEB89first audit
06

Questions

What is the KiCad MCP server?

🔌 MCP server for KiCad EDA - Analyze schematics & PCBs, trace pin-level connections, automate design editing. Works with any MCP-compatible AI tool

What tools does KiCad expose?

47 in total: 39 read-only, 8 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is KiCad safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does KiCad need?

No credential environment variables were found in its source, so it appears to need none.

How does KiCad run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as kicad-mcp-server.

How current is this page?

The grade is for one exact copy of the source (8f49b21dcffc), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement