Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for KiCad PCB design
Konnect connects KiCad 10 to AI agents through MCP so they can edit schematics, place and route footprints, run ERC and DRC, and export manufacturing files. It uses a Rust server, KiCad IPC, direct `.kicad_sch` editing, and on-demand toolsets to keep the agent focused on the right tools.
Builders who want an AI client to work directly with KiCad boards and schematics.
You can have an agent make PCB edits, run checks, and produce production files inside your KiCad workflow.
What it does
Schematic editing
Edits `.kicad_sch` files with a Rust S-expression engine, atomic writes, and UUID preservation.
PCB layout tools
Places, moves, rotates, and routes footprints through KiCad 10's IPC API with undo and redo support.
Checks and review
Runs ERC, DRC, connectivity validation, decoupling audits, power-rail review, and BOM health checks.
Manufacturing exports
Exports Gerbers, drill files, BOMs, pick-and-place data, 3D models, and PDFs through `kicad-cli`.
Part search and reference circuits
Looks up JLCPCB parts and provides reference circuits such as USB-C, LDO, buck, STM32, I2C, and LED starts.
Client guidance install
Installs shared skills and agents for Claude or Codex with `konnect init`, `konnect status`, and `konnect uninstall`.
How to get it
- 1Run
# protoc is required (protobuf code generation), and cmake (the nng crate # compiles the NNG C library with it). # Windows: choco install protoc cmake # macOS: brew install protobuf cmake # Linux: apt install protobuf-compiler cmake cargo build --release -p konnect
- 2Konnect bundles shared KiCad skills for Claude and Codex. Select the client when…
# Existing behavior remains the default: Claude skills, agents, and hooks konnect init # Codex installs only the shared skills under ~/.agents/skills konnect init --client codex konnect status --client codex konnect uninstall --client codex
- 3MCP server startup never installs or restores guidance. Run konnect init explicitly when…
codex mcp add konnect -- /path/to/konnect --client codex
- 4The Releases page ships standalone server binaries for both Apple Silicon…
tar xzf konnect-v*-aarch64-apple-darwin.tar.gz xattr -d com.apple.quarantine ./konnect # only needed for browser downloads ./konnect --help
- 5After a PCM install, the server binary lives in your KiCAD documents folder
C:\Users\<YOU>\Documents\KiCad\10.0\3rdparty\plugins\com_github_mixelpixx_konnect\bin\konnect.exe
README
Konnect *BETA Release
AI-assisted PCB design for KiCAD 10. Konnect is a native KiCAD plugin — a single Rust binary — that lets Claude and other AI assistants design schematics and PCBs through the Model Context Protocol (MCP).
226 tools across 21 on-demand toolsets. Schematic capture, PCB layout and routing, ERC/DRC, design-review audits, JLCPCB part search, reference circuits, and a full manufacturing export pipeline — with bundled skills and agents that teach Claude KiCAD conventions out of the box.
Status: beta. The core toolchain is tested and working, but this is a young release and it wants real-world mileage and review. Issues and PRs are welcome — see CONTRIBUTING.md and the naming conventions.
Add realtime research to KiCAD MCP and Konnect. Introducing Nimrod
Nimrod is our web-research MCP server: quality-scored Google search, clean webpage extraction, and deep multi-source research. Design the board with Konnect while Nimrod pulls live parts availability, datasheets, and errata — no more guessing from year-old training data
- Works with claude.ai, Claude Desktop, Claude Code, VS Code, and any MCP client
- 1 credit = 1 search · extraction always free · free 50-credit trial, no card
- Official MCP Registry:
ai.orchis/nimrod
Why Konnect exists
Konnect is the successor to KiCAD-MCP-Server, a Python/TypeScript project that proved AI-driven PCB design works — and, in the process, showed exactly where that architecture runs out of road. Konnect was built to fix those specific problems:
The call path was too long. In the original server, a single tool call travels through TypeScript, schema validation, a spawned Python subprocess, JSON over stdin/stdout, a command router, and finally SWIG-generated C++ proxy objects before anything touches your board. That's four language and serialization boundaries, each with its own failure modes — subprocess lifecycle management, stdout parsing that filters out warnings KiCAD leaks into the stream, chunked-JSON reassembly. In Konnect, a tool call is a function call. One process, one language, no plumbing.
The dependency surface was enormous. Running the original means carrying Node.js and its npm tree, Python and its pip packages, wxPython, kicad-skip, and KiCAD's SWIG bindings — two package ecosystems plus a binding layer, every one of them a moving target that can break an install. Konnect is a single static binary — 20–25 MB depending on platform, a ~9 MB download. There is nothing to install alongside it and nothing to version-match.
SWIG is a dead end. The original's PCB backend depends on KiCAD's SWIG Python bindings, which KiCAD is deprecating in favor of its IPC API. SWIG also carried real operational scars: a zone-fill call that can segfault the backend, proxy-object comparison bugs, and a fallback path that can silently swap backends mid-session. Konnect talks to KiCAD 10 through the official IPC API (protobuf over NNG) — the interface KiCAD is investing in — with real-time board edits that integrate with KiCAD's own undo/redo.
Schematic edits should not corrupt files. Konnect edits .kicad_sch files
through its own S-expression engine with atomic writes (write, fsync, rename), UUID
preservation, and round-trip tests — no third-party schematic library with known
gaps, no text-manipulation workarounds.
Context economy is a feature. Exposing all 226 tools to an LLM costs roughly 23K
tokens of context on every listing. Konnect's router loads a starter kit (~2K
tokens) and lets the model pull in toolsets on demand — plus built-in observability
(get_recent_calls, server_stats, JSONL call logs) so the model can diagnose its
own tool failures.
The result is smaller, faster to install, aligned with where KiCAD is going, and built for production use rather than experimentation. The original project remains open, maintained, and useful — see the comparison below.
What it does
Instead of describing changes and applying them by hand, the AI works your project directly:
- Place and wire schematic components — add resistors, ICs, connectors; wire them together by pin name
- Lay out the PCB — place, move, rotate, and route footprints in real time via KiCAD's IPC API, with full undo/redo integration
- Run design checks — ERC, DRC, connectivity validation, decoupling audits, power-rail review, BOM health checks
- Export production files — Gerbers, drill, BOM, pick-and-place, 3D models, PDF
- Search JLCPCB parts — find in-stock components in a local 2.5M-part catalog and suggest alternatives
- Start from reference circuits — USB-C, LDO, buck converter, STM32, I2C, LED templates with verified component values
- Watch it happen — a live schematic viewer auto-refreshes as the AI edits
The full tool catalog is documented in tool-directory.md.
How it works
| Layer | Mechanism |
|---|---|
| Schematic editing | Direct .kicad_sch S-expression editing with atomic writes (no KiCAD required) |
| PCB editing | KiCad 10 IPC API (NNG + protobuf) — real-time and undo-aware; single-footprint placement has a safe headless fallback |
| Specctra routing | Revision-bound Rust DSN export, local Freerouting MCP routing, and strict one-transaction SES import; an authenticated KiCad 10 native-export bridge is explicit opt-in |
| Exports & checks | kicad-cli subprocess (Gerber, PDF, ERC, DRC, …) |
| Transport | MCP JSON-RPC over stdio (default), or Streamable HTTP (transport = "http" / "both") |
Installation
From the KiCAD Plugin Manager (recommended)
- Download the package for your OS from Releases:
konnect-pcm-v<version>-windows.zip,-macos.zip, or-linux.zip. Each bundles that platform's server binary — the macOS package is a universal build, so one download covers Apple Silicon and Intel. (Thekonnect-pcm-*assets are the KiCAD plugin packages; the other archives are standalone server binaries.) - Open KiCAD 10 → Plugin and Content Manager
- Click Install from File and select the zip
- Restart KiCAD
Verify: open the PCB Editor → Tools → External Plugins → you should see Konnect.
For KiCad 10, the Konnect settings dialog also offers an optional native
Specctra bridge. When enabled, export_specctra_dsn can ask the active PCB
Editor to generate its native DSN while Konnect still binds the export to the
exact IPC snapshot and creates the strict reverse manifest used during SES
import. The bridge is local-only, authenticated, disabled by default, and not
the KiCad 11 integration path. Konnect uses its Rust exporter by default;
native_bridge_mode: "prefer" enables fallback to Rust when the bridge is
unavailable, while "require" refuses instead.
For end-to-end autorouting, run check_freerouting, then
export_specctra_dsn → route_specctra_dsn →
plan_specctra_ses_import / apply_specctra_ses. Readiness reports engine
discovery, native-MCP compatibility, and complete bridge availability
separately. The owned Java child is loopback-only and is reaped on success,
failure, timeout, or cancellation. The first supported profile preserves fixed
straight tracks and through vias; unlocked routing, arcs, zones, and unsupported
geometry are rejected before mutation.
Build from source
# protoc is required (protobuf code generation), and cmake (the nng crate
# compiles the NNG C library with it).
# Windows: choco install protoc cmake
# macOS: brew install protobuf cmake
# Linux: apt install protobuf-compiler cmake
cargo build --release -p konnect
Install guidance for your AI client
Konnect bundles shared KiCad skills for Claude and Codex. Select the client when installing, checking, or removing that guidance:
# Existing behavior remains the default: Claude skills, agents, and hooks
konnect init
# Codex installs only the shared skills under ~/.agents/skills
konnect init --client codex
konnect status --client codex
konnect uninstall --client codex
MCP server startup never installs or restores guidance. Run konnect init
explicitly when you want those files installed; after konnect uninstall,
starting the server leaves them removed. --client remains accepted in server
commands for compatibility. For example, register a standalone binary with the
Codex CLI using:
codex mcp add konnect -- /path/to/konnect --client codex
Claude remains the default when --client is omitted. The installer tracks the
two clients independently, and a Codex install does not create or modify
~/.claude.
--help on any subcommand prints that subcommand's usage and writes nothing —
konnect init --help describes the installer rather than running it. An
argument Konnect does not recognise is an error rather than being ignored, so a
typo such as --cleint codex stops instead of quietly installing for the
default client.
To verify which Konnect process an MCP client is actually using, call the
always-visible get_installation_info tool. It reports the serving build,
executable path, verified installation source when one can be proven, KiCad
CLI and IPC detection, and restart guidance. A missing build commit or an
unknown installation source means the available evidence was insufficient;
it is not silently guessed from a directory name.
macOS
The Releases page ships
standalone server binaries for both Apple Silicon (aarch64-apple-darwin) and
Intel (x86_64-apple-darwin). They are not yet code-signed, so if you download
one through a browser, clear the quarantine flag before first launch:
tar xzf konnect-v*-aarch64-apple-darwin.tar.gz
xattr -d com.apple.quarantine ./konnect # only needed for browser downloads
./konnect --help
Or build from source as above (verified on Apple Silicon; the same
target/release/konnect binary is the MCP server).
KiCad on macOS keeps its tools inside the app bundle and they are not on
PATH, so point Konnect at them in ~/Library/Application Support/konnect/config.toml:
kicad_cli = "/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli"
kicad_binary = "/Applications/KiCad/KiCad.app/Contents/MacOS/kicad"
# KiCad 10's IPC socket on macOS (enable it in KiCad:
# Preferences → Plugins → "Enable KiCad API")
ipc_address = "ipc:///tmp/kicad/api.sock"
Claude Desktop's config lives at
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"konnect": {
"command": "/path/to/konnect"
}
}
}
For Claude Code, put the same snippet in a .mcp.json in your project root.
The macOS PCM package (konnect-pcm-v<version>-macos.zip) bundles a universal
server binary, so one download covers Apple Silicon and Intel. The schematic
viewer compiles and launches on macOS (Tauri 2 uses the system WKWebView —
WebView2 is only a Windows requirement) but hasn't had the same mileage as
the Windows build yet.
Setup with Claude Desktop
After a PCM install, the server binary lives in your KiCAD documents folder:
C:\Users\<YOU>\Documents\KiCad\10.0\3rdparty\plugins\com_github_mixelpixx_konnect\bin\konnect.exe
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"konnect": {
"command": "C:\\Users\\<YOU>\\Documents\\KiCad\\10.0\\3rdparty\\plugins\\com_github_mixelpixx_konnect\\bin\\konnect.exe"
}
}
}
Restart Claude Desktop and the Konnect tools appear. For Claude Code, drop the same
snippet into a .mcp.json in your project root (see examples/).
Schematic viewer
A standalone viewer that auto-refreshes as the schematic file changes:
schematic-viewer.exe path\to\your\root_schematic.kicad_sch
Point it at the root sheet of a hierarchical design and every sub-sheet is rendered
too, with a depth-indented sheet selector in the toolbar. Edits saved from KiCAD (or
made by the AI through the schematic tools) re-render only the sheets that changed
and refresh the view live — rendering runs against temp-folder snapshots, so the
viewer never blocks KiCAD from saving. Pan with click-drag, zoom with the wheel,
0 to fit, R to refresh, drag-and-drop to open a different file. Also launchable
by the AI via the open_schematic_viewer tool.
Needs the WebView2 runtime (pre-installed on Windows 10/11) and a KiCAD install for
kicad-cli (auto-discovered, or pass --kicad-cli <path>). Built separately from
the main workspace — see DEV.md for build steps.
Requirements
- KiCAD 10 (Windows is the most-tested platform; macOS works from the release binaries or a source build — see the macOS section above. Linux compiles and passes tests in CI but hasn't had per-platform QA yet; both are tracked on the roadmap)
kicad-cli(ships with KiCAD — used for exports, ERC, DRC)- For most PCB tools: KiCAD running with the target board open (IPC API).
place_component,move_component, androtate_componentcan safely fall back to a closed board file when IPC is unreachable.flip_componentintentionally requires a closed board because KiCAD IPC has no native footprint-flip command.
License: free for the little guys
Konnect is licensed under the GNU AGPL-3.0.
If you're a hobbyist, student, freelancer, or open-source project: use it freely, no strings attached. Design boards, ship them, sell them.
If you're a business: the AGPL requires that anything you build on or around Konnect — including software provided over a network — be open-sourced under the same license. If that doesn't work for you, commercial licenses are available: see COMMERCIAL.md.
Relationship to KiCAD-MCP-Server
The original Python/TypeScript project remains fully open (MIT) and maintained. Konnect is where new development happens — the architecture it proved, rebuilt for production:
| KiCAD-MCP-Server | Konnect | |
|---|---|---|
| Runtime | Node.js + Python + SWIG bindings | Single static binary (20–25 MB) |
| Tool call path | TS → subprocess → Python → SWIG C++ | Direct function call |
| PCB backend | SWIG (deprecated by KiCAD) + experimental IPC | KiCAD 10 IPC API |
| Schematic backend | kicad-skip + custom loaders | Native S-expression engine, atomic writes |
| Context cost | Router pattern | Load/unload toolsets + observability |
| Skills / agents | — | 6 skills + 2 agents bundled |
| License | MIT | AGPL-3.0 + commercial |
Troubleshooting
Plugin doesn't appear in KiCAD — install via the Plugin and Content Manager (not manual copy), then restart KiCAD.
PCB tools return "KiCAD must be running with the board loaded" — open KiCAD
with that board first; most PCB tools talk to the running PCB editor. Only an
unreachable KiCAD produces that message: if KiCAD is running and the tool
refuses anyway, the error is the tool's own reason for refusing.
place_component, move_component, and rotate_component can fall back to a
closed board file when no KiCAD process is reachable; flip_component
requires one, and refuses while KiCAD holds that board open.
See docs/TROUBLESHOOTING.md for socket setup, tools
that don't appear after load_toolset, and transaction recovery.
"kicad-cli not found" — common install paths are auto-detected; set the path
explicitly in the plugin settings dialog, in a settings.json beside the binary,
or in a konnect.toml in the working directory. (A file under any other name
works only when passed with --config.)
Support
- Community Discord: join the Konnect community for installation help, AI-client setup, design-workflow discussion, contributor coordination, and live project-status updates
- Issues & feature requests: GitHub Issues
- Roadmap: ROADMAP.md
- Contributing: CONTRIBUTING.md
Files in the repo
- .cargo
- .github
- crates
- docs
- examples
- packaging
- plugin
- resources
- xtask
- .gitattributes
- .gitignore
- Cargo.lock
- Cargo.toml
- COMMERCIAL.md
- CONTRIBUTING.md
- deny.toml
- DEV.md
- flake.lock
- flake.nix
- GOVERNANCE.md
- KiCAD-MCP-Server-rust.svg
- LICENSE
- README.md
- ROADMAP.md
- rust-toolchain.toml
- THIRD_PARTY.md
- tool-directory.md
Discussion (0)
Ask about usage, or say what you built with itSign 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.

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
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.
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.
x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros