Sandbox
@oaslananka/kicad-mcp-pro

MCP server for KiCad design and review

KiCad MCP Pro connects MCP-capable agents to KiCad workflows for schematic, PCB, validation, DFM, and manufacturing export tasks. It exposes tools, resources, prompts, and skills so an agent can review and automate board work instead of only chatting about it.

82 stars14 forksPythonUpdated 6d ago
Who it's for

Builders who want their agent to inspect and automate KiCad schematics and boards.

What it delivers

You can have an agent check designs, run ERC/DRC, and prepare manufacturing outputs from the same workspace.

What it does

KiCad workflow tools

Exposes tools for schematic, PCB, validation, DFM, BOM, and manufacturing export automation.

Progressive disclosure profiles

Starts with a read-only default profile, with build, release, and expert modes for more capable clients.

Multi-agent support

Provides setup examples for Claude Code, Codex, Cursor, Gemini CLI, Copilot, Windsurf, and OpenCode.

Skills for board work

Includes reusable skills for schematic review, PCB design, DRC checks, and fabrication output.

Streamable HTTP and stdio

Runs over `stdio` or Streamable HTTP for local or remote MCP client setups.

Desktop dashboard

Includes a desktop app and web dashboard for starting the server and viewing the UI.

How to get it

  1. 1Run
    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
  2. 2Run
    uvx kicad-mcp-pro dashboard --host 127.0.0.1 --port 3334 --open
    # http://127.0.0.1:3334/ui
  3. 3Published packages
    uvx kicad-mcp-pro --help
    npx kicad-mcp-pro --help
  4. 4Fresh source checkout on supported Linux hosts
    ./scripts/bootstrap-dev.sh
    source .dev-env.sh
    pnpm run dev:doctor -- --ci
  5. 5KiCad MCP Pro can be launched with the published Python package, npm wrapper, or the…
    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
  6. 6For source checkouts, run the normal repository validation path before publishing plugin…
    corepack pnpm run metadata:check
    python3 -m json.tool .claude-plugin/plugin.json >/dev/null

README

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 · AI discovery

PyPI Version npm Version Python Version MIT License DOI

CI GUI CI CodeQL OpenSSF Scorecard OpenSSF Best Practices: Silver

PyPI total downloads npm total downloads

KiCad programmatic parity

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.

The server now starts with the bounded default profile: 24 read-only review tools instead of the complete 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. Current catalog counts and context-size estimates come from docs/evidence/progressive-disclosure-profile-snapshot.json; 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.

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

Project identity

FieldValue
Canonical repositoryoaslananka/kicad-mcp-pro
PyPI packagekicad-mcp-pro
npm wrapperkicad-mcp-pro
MCP Registry nameio.github.oaslananka/kicad-mcp-pro
Version3.34.4
OSS maturity reportdocs/repo-maturity-report.md
OpenSSF evidencedocs/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. Desktop releases launch the matching exact backend version and verify its desktop compatibility handshake before use; see Installation.

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

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

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.

Package metadata

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.

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.

Agent plugin and skills

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.

FilePurpose
.claude-plugin/plugin.jsonProduct-level plugin manifest for compatible agent runtimes and marketplace catalogs.
.mcp.jsonClaude Code project-local MCP server configuration.
.codex/config.example.tomlCodex CLI MCP configuration example.
.vscode/mcp.example.jsonVS Code / GitHub Copilot workspace MCP configuration example.
opencode.example.jsoncOpenCode project MCP configuration example.
.opencode/skills/OpenCode-native mirrored skill definitions.
docs/agent-runtime-config.mdAgent runtime setup and validation matrix.
skills/kicad-design-review/SKILL.mdComprehensive KiCad design review skill.
skills/pcb-design/SKILL.mdPCB design, layout inspection, placement, routing, stackup, and board-quality workflow.
skills/drc-check/SKILL.mdERC/DRC execution, triage, waiver review, and revalidation workflow.
skills/fabrication-output/SKILL.mdManufacturing export, DFM, release evidence, and fabrication-package workflow.
skills/schematic-review/SKILL.mdSchematic inspection, ERC, connectivity, power, symbol, and readability workflow.

Agent setup

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

Validation workflow

Before listing this plugin as active from agent-tools, verify at least one compatible agent runtime can:

  1. Discover .claude-plugin/plugin.json.
  2. Launch or connect to kicad-mcp-pro over stdio or Streamable HTTP.
  3. Call kicad_get_server_info or kicad_get_project_info.
  4. Load a skill from skills/ and follow the workflow without referencing missing tools.
  5. Report ERC, DRC, DFM, export artifacts, assumptions, and human-review requirements separately.

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.

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.

Cite this software

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.

License

KiCad MCP Pro is available under the MIT License.

Files in the repo

Repository payload68 top-level entries
  • .claude-plugin
  • .codex
  • .github
  • .opencode
  • .vscode
  • assets
  • docs
  • evals
  • examples
  • fuzz
  • integrations
  • packages
  • packaging
  • performance
  • scripts
  • skills
  • src
  • src-tauri
  • test-fixtures
  • tests
  • .bestpractices.json
  • .commitlintrc.json
  • .dockerignore
  • .editorconfig
  • .env.example
  • .gitattributes
  • .gitignore
  • .gitleaks.toml
  • .mcp.json
  • .mergify.yml
  • .node-version
  • .npmrc
  • .pre-commit-config.yaml
  • .python-version
  • .release-please-manifest.json
  • AGENTS.md
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CITATION.cff
  • CODE_OF_CONDUCT.md
  • codecov.yml
  • commitlint.config.cjs
  • compatibility.yaml
  • CONTRIBUTING.md
  • docker-compose.yml
  • docker-entrypoint.sh
  • Dockerfile
  • GOVERNANCE.md
  • LICENSE
  • MAINTAINERS.md
  • mkdocs.yml
  • opencode.example.jsonc
  • package.json
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • pyproject.toml
  • pyrightconfig.json
  • README.md
  • release-please-config.json
  • ROADMAP.md
  • rust-toolchain.toml
  • SECURITY.md
  • server.json
  • sonar-project.properties
  • SUPPORT.md
  • Taskfile.yml
  • uv.lock
  • uv.toml

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k