kicad-mcp

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Warn
  • fs module — File system access in .github/workflows/publish-npm.yml
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Standalone MCP server for KiCad — migrated from oaslananka/kicad-studio-kit monorepo. Package identity: kicad-mcp-pro (PyPI/npm). Provides LLM-controlled KiCad PCB design via the Model Context Protocol.

README.md

KiCad MCP Pro

GUI Release
PyPI - Version
PyPI - Python Version
npm - Version
License: MIT

CI
GUI CI
Docs
CodeQL
OpenSSF Scorecard

KiCad programmatic parity

Documentation
Ask DeepWiki

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 and
DigiKey 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.9.2

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

The kicad_capability_parity() tool reports, per workflow domain, what fraction of
KiCad's programmatically reachable surface this server can drive (currently 77%),
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 [email protected] --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 [email protected] --help
npx [email protected] --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.

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.

Reviews (0)

No results found