Skip to main content

Production-grade MCP server for KiCad EDA—PCB design, DRC, simulation, BOM, DFM, and manufacturing.

Project description

KiCad MCP Pro

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

GUI Release PyPI Version npm Version Python Version MIT License

CI GUI CI Docs CodeQL OpenSSF Scorecard OpenSSF Best Practices: Silver

PyPI total downloads npm total downloads

KiCad programmatic parity

Documentation Ask DeepWiki Buy me a coffee

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.

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.

Scope and honesty

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.

Project identity

Field Value
Canonical repository oaslananka/kicad-mcp
PyPI package kicad-mcp-pro
npm wrapper kicad-mcp-pro
MCP Registry name io.github.oaslananka/kicad-mcp-pro
Version 3.17.0
OSS maturity report docs/repo-maturity-report.md
OpenSSF evidence docs/openssf-evidence.md

Quick Start

Desktop App

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.

CLI

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

Web Dashboard

uvx kicad-mcp-pro dashboard --host 127.0.0.1 --port 3334 --open
# http://127.0.0.1:3334/ui

Documentation

The documentation is organized from setup to operation:

  1. Installation
  2. Client configuration
  3. Runtime configuration
  4. Tool reference
  5. Workflows
  6. Release process
  7. Security and privacy
  8. KiCad capability parity — how much of KiCad's programmatic surface this server drives
  9. Error code catalog — stable error codes, retry classes, and recovery
  10. Work-order audit — current status of the hardening work order

The kicad_capability_parity() tool reports, per workflow domain, what fraction of KiCad's programmatically reachable surface this server can drive (currently 75.0%), 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/.

Transports

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-stream
  • Content-Type: application/json
  • MCP-Protocol-Version: 2025-11-25 after initialization
  • MCP-Session-Id on follow-up requests when KICAD_MCP_STATEFUL_HTTP=1

By 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.

Install

corepack pnpm run dev:doctor -- --ci
uvx kicad-mcp-pro --help
npx kicad-mcp-pro --help

For source checkouts, corepack pnpm run dev:doctor validates Node, pnpm, Python, uv, MCP server CLI startup/version reporting, fixture corpus, protocol schemas, common development ports, and optional Cloudflare tunnel tooling. If repository commands fail with a uv required-version mismatch before Python starts, run kicad-mcp-pro doctor --json and check the uv_version result. The checkout's uv.toml pins the supported uv release; switch to that version (for example uv self update 0.10.8 when required) and rerun uv sync --all-extras --frozen.

Package metadata

The canonical metadata source of truth is server.json, which defines the MCP server contract. It is synchronized with pyproject.toml and verified in CI via pnpm run metadata:check.

Usage

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.

Development

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.

Contributing

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.

License

KiCad MCP Pro is available under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kicad_mcp_pro-3.17.0.tar.gz (569.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kicad_mcp_pro-3.17.0-py3-none-any.whl (641.1 kB view details)

Uploaded Python 3

File details

Details for the file kicad_mcp_pro-3.17.0.tar.gz.

File metadata

  • Download URL: kicad_mcp_pro-3.17.0.tar.gz
  • Upload date:
  • Size: 569.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for kicad_mcp_pro-3.17.0.tar.gz
Algorithm Hash digest
SHA256 4abecbd22478be9f26d2126aa93affd91c3ebb07ff03bc5a438e8a9a1ac4d8f3
MD5 edd94fb1dc71140b1c63d4ce42f27806
BLAKE2b-256 dcb94715e4fcf4dc12f56f1b18b0051a1a0f5e00d72c292a3988e10776f71051

See more details on using hashes here.

Provenance

The following attestation bundles were made for kicad_mcp_pro-3.17.0.tar.gz:

Publisher: publish-python.yml on oaslananka/kicad-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kicad_mcp_pro-3.17.0-py3-none-any.whl.

File metadata

  • Download URL: kicad_mcp_pro-3.17.0-py3-none-any.whl
  • Upload date:
  • Size: 641.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for kicad_mcp_pro-3.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c077ea80bad2d23ace4410e4049f317bb6cb8ab9440a59c30ae0c6c730aace63
MD5 366148641a3e74503ead0a7fbd204f05
BLAKE2b-256 866e8a770720df20fd5f537563d0d29ab0cc73c16753800148c1f9ba8253b2fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for kicad_mcp_pro-3.17.0-py3-none-any.whl:

Publisher: publish-python.yml on oaslananka/kicad-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page