Atlas / MCP servers / lamaalrajih / KiCad

KiCadCAUTION

mcp/lamaalrajih/kicad

Model Context Protocol server for KiCad on Mac, Windows, and Linux

Verdict
CAUTION
Grade
B
Trust score
83 /100
Exposed tools
18 17r · 1w · 0d
Transport
—
License
MIT
Stars
525
01

Overview

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

This guide will help you set up a Model Context Protocol (MCP) server for KiCad. While the examples in this guide often reference Claude Desktop, the server is compatible with any MCP-compliant client. You can use it with Claude Desktop, your own custom MCP clients, or any other application that implements the Model Context Protocol.

Table of Contents

  • Prerequisites
  • Installation Steps
  • Understanding MCP Components
  • Feature Highlights
  • Natural Language Interaction
  • Documentation
  • Configuration
  • Development Guide
  • Troubleshooting
  • Contributing
  • Future Development Ideas
  • License

Prerequisites

  • macOS, Windows, or Linux
  • Python 3.10 or higher
  • KiCad 9.0 or higher
  • uv 0.8.0 or higher
  • Claude Desktop (or another MCP client)

Installation Steps

1. Set Up Your Python Environment

First, let's install dependencies and set up our environment:

# Clone the repository
git clone https://github.com/lamaalrajih/kicad-mcp.git
cd kicad-mcp

# Install dependencies – `uv` will create a `.venv/` folder automatically
# (Install `uv` first: `brew install uv` on macOS or `pipx install uv`)
make install

# Optional: activate the environment for manual commands
source .venv/bin/activate

2. Configure Your Environment

Create a .env file to customize where the server looks for your KiCad projects:

# Copy the example environment file
cp .env.example .env

# Edit the .env file
vim .env

In the .env file, add your custom project directories:

# Add paths to your KiCad projects (comma-separated)
KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects/KiCad

3. Run the Server

Once the environment is set up, you can run the server:

Read from source at commit bd20e7b5fe0bOBSERVED · 2026-09-30
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 -- uvx kicad-mcp
claude-desktop
{
  "mcpServers": {
    "kicad-mcp": {
      "command": "uvx",
      "args": [
        "kicad-mcp"
      ]
    }
  }
}
03

Exposed tools (18)

17 read · 1 write · 0 destructive.

ToolRiskDescription
analyze_bomreadAnalyze a KiCad project
analyze_project_circuit_patternsreadIdentify circuit patterns in a KiCad project
analyze_schematic_connectionsreadAnalyze connections in a KiCad schematic.
export_bom_csvreadExport a Bill of Materials for a KiCad project.
extract_project_netlistreadExtract netlist from a KiCad project
extract_schematic_netlistreadExtract netlist information from a KiCad schematic.
find_component_connectionsreadFind all connections for a specific component in a KiCad project.
generate_pcb_thumbnailreadGenerate a thumbnail image of a KiCad PCB layout using kicad-cli.
generate_project_thumbnailreadGenerate a thumbnail of a KiCad project
generate_validation_reportreadGenerate a comprehensive validation report for a KiCad project.
get_drc_history_toolreadGet the DRC check history for a KiCad project.
get_project_structurereadGet the structure and files of a KiCad project.
identify_circuit_patternsreadIdentify common circuit patterns in a KiCad schematic.
list_projectsreadFind and list all KiCad projects on this system.
open_projectreadOpen a KiCad project in KiCad.
run_drc_checkwriteRun a Design Rule Check on a KiCad PCB file.
validate_projectreadBasic validation of a KiCad project.
validate_project_boundariesreadValidate component boundaries for an entire KiCad project.
04

Trust audit

CAUTIONgrade B · trust 83/100 Install with care. The audit found things worth knowing before you trust its output.

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

What the source does

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

Findings (10)

MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
kicad_mcp/tools/drc_impl/cli_drc.py:158
"/usr/local/bin/kicad-cli",
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
kicad_mcp/utils/kicad_api_detection.py:55
"/usr/local/bin/kicad-cli",
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
kicad_mcp/utils/kicad_cli.py:166
"/usr/local/bin/kicad-cli",
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
kicad_mcp/utils/kicad_cli.py:182
"/usr/local/bin/kicad-cli",
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
kicad_mcp/utils/component_utils.py:158
match = re.search(r'(\d+\.?\d*)([kKmMrRΩ]?)', value)
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
kicad_mcp/utils/component_utils.py:199
match = re.search(r'(\d+\.?\d*)([pPnNuUμF]+)', value)
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
kicad_mcp/utils/component_utils.py:210
elif "u" in unit or "μ" in unit or "uf" in unit or "μf" in unit:
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
kicad_mcp/utils/component_utils.py:211
unit = "μF"
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
kicad_mcp/utils/component_utils.py:220
match = re.search(r'(\d+)[pPnNuUμ](\d+)', value)
LOWFilesystem / path · fs.system_paths · CWE-22, CWE-59
tests/unit/utils/test_secure_subprocess.py:99
["sch", "export", "svg", "/etc/passwd"], input_files=["/etc/passwd"]

Gates applied: no_behavioural_pass.

Audited 2026-09-30 · audit v0.4.1 · source sha bd20e7b5fe0bfull audit observations/trust-audit/mcp-server/lamaalrajih__kicad.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-09-30bd20e7b5fe0bCAUTIONB83first audit
06

Questions

What is the KiCad MCP server?

Model Context Protocol server for KiCad on Mac, Windows, and Linux

What tools does KiCad expose?

18 in total: 17 read-only, 1 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?

With care. The audit graded it B (83/100) and found 10 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does KiCad need?

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

How current is this page?

The grade is for one exact copy of the source (bd20e7b5fe0b), read on 2026-09-30. The repository is watched and re-audited when it changes.

Advertisement