How mixelpixx/konnect works
Konnect is a native KiCad plugin/server that exposes PCB-design operations to AI assistants through MCP. The principal workflow is an assistant request entering through stdio or HTTP, being dispatched to an on-demand toolset, and then editing a schematic or live PCB or running a check/export before returning a result. The README also documents component search, reference circuits, live viewing, and Specctra autorouting, which appear as distinct branches. The excerpts support the server dispatch, IPC client, S-expression parser, and Freerouting orchestration; some tool wiring is documented but its implementation was not sampled.
Main entry points: mod.rs Tool router · pcb_routing.rs Specctra routing · tools PCB tools · main.rs Server entry
Components 22
MCP server
- stdio transport
crates/konnect/src/transport/stdio.rs - HTTP transport
crates/konnect/src/transport/http.rs - Server entry
crates/konnect/src/main.rs - MCP handler
crates/konnect-core/src/mcp/handler.rs - Tool router
crates/konnect-core/src/router/mod.rs
Schematic design
- Schematic tools
crates/konnect-core/src/tools - S-expression engine
crates/konnect-sexp/src/lib.rs
PCB design
- PCB tools
crates/konnect-core/src/tools - KiCad IPC client
crates/konnect-ipc/src/client.rs
Checks and production
- Design checks
crates/konnect-core/src/tools/verification.rs - Design review
crates/konnect-core/src/tools/design_review.rs - Manufacturing exports
crates/konnect-core/src/tools/manufacturing.rs
Integrations and support
- Parts catalog
crates/konnect-core/src/tools/library.rs - Reference circuits
crates/konnect-core/src/tools/templates.rs - Specctra routing
crates/konnect-core/src/tools/pcb_routing.rs - Live schematic viewer
crates/schematic-viewer/src/main.rs
Other components
- AI assistant
- KiCad editor
- KiCad CLI
- Freerouting MCP
- KiCad schematic files
- KiCad board files
Connections 26
- AI assistant → stdio transport: sends MCP
- AI assistant → HTTP transport: sends MCP
- stdio transport → Server entry: delivers requests
- HTTP transport → Server entry: delivers requests
- Server entry → MCP handler: starts handler
- MCP handler → Tool router: dispatches tools
- Tool router → Schematic tools: selects tool
- Tool router → PCB tools: selects tool
- Tool router → Design checks: selects tool
- Tool router → Design review: selects tool
- Tool router → Manufacturing exports: selects tool
- Tool router → Parts catalog: selects tool
- Tool router → Reference circuits: selects tool
- Schematic tools → S-expression engine: parses and edits
- S-expression engine → KiCad schematic files: reads and writes
- PCB tools → KiCad IPC client: sends commands
- KiCad IPC client → KiCad editor: edits live board
- Design checks → KiCad CLI: runs checks
- Design review → KiCad CLI: runs DRC
- Manufacturing exports → KiCad CLI: runs exports
- PCB tools → KiCad board files: edits board data
- Specctra routing → KiCad IPC client: reads board snapshot
- Specctra routing → Freerouting MCP: requests routing
- Specctra routing → KiCad board files: imports SES
- Live schematic viewer → KiCad schematic files: watches changes
- Reference circuits → KiCad schematic files: provides circuit content