
Brings KiCad EDA workflows into Claude through the Model Context Protocol. Built for KiCad 10.x with compatibility back to version 8, it exposes schematic and PCB operations you'd typically run through KiCad's GUI or CLI. The project ships as part of a monorepo that includes a VS Code extension and shared test harness, with stdio transport for direct integration. Reach for this when you're doing board reviews, manufacturing prep, or design validation and want Claude to interact with your .kicad_pcb and .kicad_sch files directly. The repository includes worked examples for LED circuits, USB-C power, buck converters, and differential pairs. Actively maintained with CI coverage for compatibility gates and security scanning.
Drive KiCad schematic, PCB, DRC/ERC, DFM, and manufacturing review from any MCP-capable AI agent.
Documentation · Installation · Quick Start · Tool Reference · AI Agent Setup · AI discovery
KiCad MCP Pro is a Model Context Protocol server for KiCad EDA workflows. It exposes tools, resources, and prompts for schematic, PCB, validation, DFM, and manufacturing export automation.
The server now starts with the bounded default profile: 24 read-only review tools instead of the complete 377-tool expert catalog. Use build with write mode for controlled edits, release with manufacturing mode for human-gated handoff, or expert/full only for advanced trusted clients. See docs/agents/progressive-disclosure.md.
Telemetry and error reporting are disabled by default. Opt-in OpenTelemetry
configuration is documented in
docs/configuration.md, and privacy rules
are documented in docs/privacy.md.
KiCad MCP Pro is a professional first-pass design and review assistant, not an
automated sign-off authority. ERC/DRC and the export pipeline drive KiCad's own
engines. The signal-integrity, power-integrity, EMC, and thermal tools are
first-order, closed-form estimates (typically ~5–10% accuracy) — fast first-pass
review, not a substitute for a 2D/3D field solver, EM/FEA simulation, or formal
sign-off. Live component sourcing uses the JLCPCB public catalog by default; Nexar,
DigiKey, and Mouser are available only when their API credentials are configured. What
fraction of KiCad's programmatic surface the server drives is tracked openly in the
capability-parity matrix. Raw tool count and
capability coverage are inventory metrics, not the headline product-quality measure. End-to-end
task outcome, mutation recovery, corruption, required DRC execution, and manufacturing
reproducibility are the outcome KPIs. The committed
native-live example evidence
intentionally reports insufficient_evidence; representative-corpus target attainment remains
separate until the qualification work in #730 is complete.
| Field | Value |
|---|---|
| Canonical repository | oaslananka/kicad-mcp-pro |
| PyPI package | kicad-mcp-pro |
| npm wrapper | kicad-mcp-pro |
| MCP Registry name | io.github.oaslananka/kicad-mcp-pro |
| Version | 3.33.3 |
| OSS maturity report | docs/repo-maturity-report.md |
| OpenSSF evidence | docs/openssf-evidence.md |
Download the latest installer from the
GitHub releases page.
The Tauri desktop app starts the Python dashboard server automatically and opens
the GUI at http://127.0.0.1:3334/ui. Desktop releases launch the matching exact
backend version and verify its desktop compatibility handshake before use; see
Installation.
uvx kicad-mcp-pro init
uvx kicad-mcp-pro tray
uvx kicad-mcp-pro dashboard --open
uvx kicad-mcp-pro --transport streamable-http --port 3334
uvx kicad-mcp-pro dashboard --host 127.0.0.1 --port 3334 --open
# http://127.0.0.1:3334/ui
The documentation is organized from setup to operation:
The kicad_capability_parity() tool reports, per workflow domain, what fraction of
KiCad's programmatically reachable surface this server can drive (currently 76.3%),
keeping genuine gaps distinct from gui-only-no-api items that KiCad exposes no
headless API for.
The published documentation site is available at https://oaslananka.github.io/kicad-mcp-pro/.
KiCad MCP Pro supports stdio and Streamable HTTP. Streamable HTTP is served at
/mcp by default and can be moved with KICAD_MCP_MOUNT_PATH.
uvx kicad-mcp-pro --transport streamable-http --host 127.0.0.1 --port 3334
Streamable HTTP clients must send:
Accept: application/json, text/event-streamContent-Type: application/jsonMCP-Protocol-Version: 2025-11-25 after initializationMCP-Session-Id on follow-up requests when KICAD_MCP_STATEFUL_HTTP=1By default Streamable HTTP is stateless, so ChatGPT-style connectors can
initialize and call tools/list without a session-header injection proxy. Set
KICAD_MCP_STATEFUL_HTTP=1 to require session IDs after initialize.
The deprecated HTTP+SSE fallback routes are disabled by default. Set
KICAD_MCP_LEGACY_SSE=1 only for older clients that cannot use Streamable HTTP.
Published packages:
uvx kicad-mcp-pro --help
npx kicad-mcp-pro --help
Fresh source checkout on supported Linux hosts:
./scripts/bootstrap-dev.sh
source .dev-env.sh
pnpm run dev:doctor -- --ci
The repository bootstrap installs checksum-pinned Python, uv/uvx, Node.js,
pnpm, Task, and Rust tooling into ignored checkout-local roots and performs
frozen dependency installation. It does not modify global tool directories.
See the reproducible bootstrap guide
for --core-only, --check, cleanup, upgrade, and KiCad capability modes.
The canonical metadata inputs are pyproject.toml for package version and repository identity, and compatibility.yaml for KiCad and MCP support policy. server.json is the generated registry manifest. pnpm run metadata:sync renders the public surfaces, and pnpm run metadata:check verifies them in CI and release validation.
Use kicad-mcp-pro --help to inspect CLI commands and
docs/client-configuration.md to configure an
MCP client. The generated tool catalog is available in
docs/tools-reference.generated.md.
This repository owns the product-level agent plugin and KiCad-specific skills for
KiCad MCP Pro. The central agent-tools
repository should catalog this plugin, but the manifest and workflow instructions live
here so they stay synchronized with the actual MCP server tools.
| File | Purpose |
|---|---|
.claude-plugin/plugin.json | Product-level plugin manifest for compatible agent runtimes and marketplace catalogs. |
.mcp.json | Claude Code project-local MCP server configuration. |
.codex/config.example.toml | Codex CLI MCP configuration example. |
.vscode/mcp.example.json | VS Code / GitHub Copilot workspace MCP configuration example. |
opencode.example.jsonc | OpenCode project MCP configuration example. |
.opencode/skills/ | OpenCode-native mirrored skill definitions. |
docs/agent-runtime-config.md | Agent runtime setup and validation matrix. |
skills/kicad-design-review/SKILL.md | Comprehensive KiCad design review skill. |
skills/pcb-design/SKILL.md | PCB design, layout inspection, placement, routing, stackup, and board-quality workflow. |
skills/drc-check/SKILL.md | ERC/DRC execution, triage, waiver review, and revalidation workflow. |
skills/fabrication-output/SKILL.md | Manufacturing export, DFM, release evidence, and fabrication-package workflow. |
skills/schematic-review/SKILL.md | Schematic inspection, ERC, connectivity, power, symbol, and readability workflow. |
KiCad MCP Pro can be launched with the published Python package, npm wrapper, or the
container metadata declared in server.json. Common local starts are:
uvx kicad-mcp-pro --transport stdio
uvx kicad-mcp-pro --transport streamable-http --host 127.0.0.1 --port 3334
npx kicad-mcp-pro --help
For source checkouts, run the normal repository validation path before publishing plugin changes:
corepack pnpm run metadata:check
python3 -m json.tool .claude-plugin/plugin.json >/dev/null
Before listing this plugin as active from agent-tools, verify at least one compatible
agent runtime can:
.claude-plugin/plugin.json.kicad-mcp-pro over stdio or Streamable HTTP.kicad_get_server_info or kicad_get_project_info.skills/ and follow the workflow without referencing missing tools.KiCad MCP Pro is an engineering assistant, not an autonomous manufacturing sign-off authority. Generated PCB and fabrication outputs require qualified human review before fabrication or assembly.
New contributors should start with ARCHITECTURE.md, which maps
the five layers (transport → MCP protocol → orchestration → KiCad adapter seam →
pure domain) and shows exactly how to add a new tool. The runtime model and
quality-gate stack are documented in
docs/development/architecture.md.
The project uses a Taskfile.yml for common development commands. After
cloning the repository:
task install # Install all dependencies (pnpm + uv)
task verify # Run the local quality gate: lint → format → typecheck → test → build
task test # Run unit tests only
task lint # Run lint and metadata checks
task format # Auto-format the codebase
task typecheck # Run strict static type checking
task build # Build release artifacts
task ci # Run the local equivalent of the full CI pipeline
task hooks # Install local git hooks
All changes must pass task verify before opening a pull request.
Read CONTRIBUTING.md before opening a pull request. All
changes must pass the repository's format, lint, type-check, test, workflow,
security, and package metadata gates.
If you use KiCad MCP Pro in research or a technical publication, cite the
archived release via its DOI (see CITATION.cff for full
metadata):
@software{aslan_kicad_mcp_pro,
author = {Aslan, Osman},
title = {KiCad MCP Pro},
license = {MIT},
url = {https://github.com/oaslananka/kicad-mcp-pro},
doi = {10.5281/zenodo.21283791}
}
Every GitHub release is archived on Zenodo under this concept DOI, which always resolves to the most recent version.
KiCad MCP Pro is available under the MIT License.
KICAD_MCP_LOG_LEVELdefault: INFOLogging level (DEBUG, INFO, WARNING, ERROR)
KICAD_MCP_PRO_PYPI_VERSIONOverride the Python package version pinned by the npm wrapper