konnect
KiCad MCP server and guidance installer
TLDR
SYNOPSIS
konnect [subcommand] [options] [arguments]
DESCRIPTION
konnect is the command for Konnect, a Rust program that lets an AI assistant edit KiCad designs through the Model Context Protocol. Launched by an MCP client, with stdin piped, it speaks JSON-RPC on stdout. Schematic edits go through Konnect's own S-expression writer. PCB edits talk to KiCad 10 over its IPC API. Exports, ERC, and DRC call kicad-cli.Typed at a shell, the same binary is an installer and a recovery tool. init, status, and uninstall manage the skills Konnect bundles for Claude (under ~/.claude) or Codex (under ~/.agents/skills). skill and hook print bundled guidance. transaction inspects, finishes, or abandons write-ahead journals from multi-file schematic edits.Releases ship a standalone binary and a KiCad Plugin and Content Manager package. A source build is cargo build --release -p konnect and needs protoc and cmake.
CONFIGURATION
The server loads the first file that exists. Later files are ignored, not merged. A broken selected file is an error. Search order:
settings.json working directory
settings.json beside the executable
settings.json parent of the executable
~/.config/konnect/config.toml Linux
~/Library/Application Support/konnect/config.toml macOS
%APPDATA%\konnect\config.toml Windows
kicad_binary = "kicad"
ipc_address = "ipc:///tmp/kicad/api.sock"
transport = "stdio"
http_address = "127.0.0.1:3000"
log_level = "info"
COMMANDS
init [--client CLIENT]
Install Konnect's skills for CLIENT. For claude (the default) this also writes agents under ~/.claude/agents and hook entries in ~/.claude/settings.json. For codex it writes skills only. Re-running overwrites files that differ from this binary.uninstall [--client CLIENT]
Remove the skills, and for Claude the agents and hook entries, that Konnect installed for CLIENT. Other files in those directories are left in place.status [--client CLIENT]
Compare each installed skill, agent, and hook with the copy embedded in this binary. Each item is marked current, different, missing, or unreadable. Writes nothing.skill NAME
Print one bundled skill as text. Names include konnect, kicad-schematic, kicad-pcb, kicad-manufacture, kicad-review, and kicad-library. Writes nothing.hook NAME
Print one Claude hook response as a single JSON object. Hook names are pre-pcb-ipc, pre-pcb-fallback, pre-pcb-closed, and pre-pcb-conditional. Writes nothing.transaction status PROJECT-DIR
List active schematic transaction journals and whether each target file is pending, applied, or divergent. Journal contents are not printed. Writes nothing.transaction recover PROJECT-DIR
Complete active journals, applying the schematic writes they still owe.transaction abandon PROJECT-DIR ID --force
Drop a journal without changing its target files. The abandoned journal is kept and contains complete before-and-after schematic images.--client CLIENT
claude or codex. On init, uninstall, and status it selects the client. On a server launch it is accepted and does not install guidance.--config PATH
Load this configuration file and skip the search list. A .json file is parsed as JSON. Any other extension is parsed as TOML.-h, --help
Print help for the program, or for the named subcommand, and exit. Nothing is written. konnect help and konnect help SUBCOMMAND do the same.-V, --version
Print konnect and the version, then exit.
CAVEATS
With a terminal on stdin and no subcommand, konnect runs first-time Claude setup and waits for Enter. It does not start the MCP server. An MCP client has to launch the binary with stdin piped. The same is true of konnect --config: typed at a prompt, it still takes the terminal setup path.init overwrites differing skill files, including local edits. status only reports drift.Live PCB tools need KiCad 10 running with that board open and the KiCad API enabled. Schematic file edits and transaction do not need a running KiCad. kicad-cli must be on PATH, or named by kicad_cli, for exports and design checks.An argument this build does not recognise is an error. A typo such as --cleint stops the command.
HISTORY
Konnect is the Rust successor to KiCAD-MCP-Server, the Python and TypeScript MCP server from the same author. It is licensed under the GNU AGPL-3.0. Standalone binaries and KiCad plugin packages are published from the project repository.
