KiCAD 10용 AI 지원 PCB 설계 도구 Konnect
요약
Konnect는 Claude 및 기타 AI 어시스턴트가 Model Context Protocol(MCP)을 통해 회로도와 PCB를 설계할 수 있도록 하는 네이티브 KiCAD 플러그인입니다. 이 Rust 바이너리는 228개의 도구셋과 에이전트를 제공하며, 실시간 리서치 기능을 갖춘 Nimrod 서버를 통합하여 최신 부품 정보까지 반영합니다.
핵심 포인트
- AI가 PCB 설계에 직접 참여하는 네이티브 플러그인입니다.
- Rust 기반으로 단일 프로세스에서 도구 호출을 처리하여 안정성을 높였습니다.
- Nimrod를 통해 실시간 웹 리서치 및 데이터시트 접근이 가능합니다.
<a name="top"></a>
<div align="center"> <img src="https://raw.githubusercontent.com/mixelpixx/Konnect/HEAD/resources/images/KiCAD-MCP-Server-rust.svg" alt="KiCAD-MCP-Server 로고" height="240" />Konnect *BETA 릴리스
</div>KiCAD 10용 AI 지원 PCB 설계. Konnect는 Claude 및 기타 AI 어시스턴트가 Model Context Protocol (MCP)을 통해 회로도(schematics)와 PCB를 설계할 수 있도록 하는 네이티브 KiCAD 플러그인입니다 — 단일 Rust 바이너리 형태입니다.
21개 온디맨드 툴셋에 걸친 228개 도구. 회로도 작성, PCB 레이아웃 및 라우팅, ERC/DRC, 설계 검토 감사(design-review audits), JLCPCB 부품 검색, 참조 회로(reference circuits), 그리고 전체 제조 내보내기 파이프라인을 제공하며, Claude에게 KiCAD 관례를 즉시 가르치는 번들된 기술 및 에이전트를 갖추고 있습니다.
상태: 베타. 핵심 툴체인은 테스트되었고 작동하지만, 아직 초기 버전이라 실제 사용 경험과 검토가 필요합니다. 이슈와 PR은 환영하며 — CONTRIBUTING.md 및 명명 규칙을 참고하십시오.
KiCAD MCP 및 Konnect에 실시간 리서치 추가. Nimrod 소개
Nimrod는 우리의 웹 리서치 MCP 서버입니다: 품질 점수가 매겨진 Google 검색, 깨끗한 웹페이지 추출, 그리고 심층적인 다중 출처 리서치를 제공합니다. Konnect로 보드를 설계하는 동안 Nimrod가 실시간 부품 가용성, 데이터시트 및 에라타를 가져와 — 더 이상 오래된 훈련 데이터에서 추측할 필요가 없습니다.
- claude.ai, Claude Desktop, Claude Code, VS Code 및 모든 MCP 클라이언트와 작동합니다
- 1 크레딧 = 1 검색 · 추출은 항상 무료 · 카드 없이 50크레딧 체험판 제공
- 공식 MCP 레지스트리:
ai.orchis/nimrod
Konnect가 존재하는 이유
Konnect는 KiCAD-MCP-Server의 후속작입니다. 이 프로젝트는 AI 기반 PCB 설계가 가능하다는 것을 증명한 Python/TypeScript 프로젝트였지만, 그 과정에서 해당 아키텍처가 정확히 어디서 한계를 보이는지 보여주었습니다. Konnect는 이러한 특정 문제들을 해결하기 위해 구축되었습니다:
호출 경로가 너무 길었습니다. 기존 서버에서는 단일 도구 호출이 TypeScript를 거쳐 스키마 유효성 검사, 생성된 Python 서브프로세스, stdin/stdout을 통한 JSON, 명령어 라우터, 그리고 마침내 보드에 어떤 것이 닿기 전에 SWIG로 생성된 C++ 프록시 객체를 거칩니다. 이것은 네 가지 언어 및 직렬화 경계이며, 각각 자체적인 실패 모드를 가지고 있습니다 — 서브프로세스 생명주기 관리, KiCAD가 스트림으로 누설하는 경고를 필터링하는 stdout 파싱, 청크형 JSON 재조립 등입니다. Konnect에서는 도구 호출이 함수 호출과 같습니다. 하나의 프로세스, 하나의 언어, 배관(plumbing)이 없습니다.
의존성 표면이 엄청났습니다. 기존 것을 실행하려면 Node.js와 그 npm 트리, Python과 그 pip 패키지, wxPython, kicad-skip, 그리고 KiCAD의 SWIG 바인딩 — 두 개의 패키지 생태계에 바인딩 계층까지 더해져서, 이 모든 것이 설치를 망가뜨릴 수 있는 변화하는 목표물입니다. Konnect는 단일 정적 바이너리입니다 — 플랫폼에 따라 20~25MB이며, 다운로드 크기는 약 9MB입니다. 함께 설치할 것이 없고 버전 일치시킬 것도 없습니다.
SWIG는 막다른 길입니다. 기존의 PCB 백엔드는 KiCAD의 SWIG Python 바인딩에 의존하는데, KiCAD는 이를 IPC API를 선호하며 사용 중단하고 있습니다. SWIG는 또한 실제 운영상의 흉터를 가지고 있었습니다: 백엔드를 세그멘테이션 오류(segfault)로 만들 수 있는 영역 채우기 호출, 프록시 객체 비교 버그, 그리고 세션 중간에 백엔드를 조용히 전환할 수 있는 폴백 경로 등이었습니다. Konnect는 KiCAD가 투자하는 공식 IPC API (NNG를 통한 protobuf)를 통해 KiCAD 10과 통신하며, KiCAD 자체의 실행 취소/다시 실행 기능과 통합되는 실시간 보드 편집 기능을 제공합니다.
회로도 편집은 파일을 손상시켜서는 안 됩니다. Konnect는 원자적 쓰기(write, fsync, rename), UUID 보존, 그리고 왕복 테스트를 통해 자체 S-expression 엔진으로 .kicad_sch 파일을 편집하며 — 알려진 격차가 있는 타사 회로도 라이브러리나 텍스트 조작 우회책이 없습니다.
컨텍스트 경제(Context economy)는 하나의 기능입니다. 228개의 모든 도구를 LLM에 노출하는 것은 목록 작성 시마다 약 23K 토큰의 컨텍스트를 소모합니다. Konnect의 라우터는 스타터 키트(~2K 토큰)만 로드하고, 모델이 필요할 때 도구 세트를 가져오도록 합니다. 또한 내장된 관측 가능성 기능(get_recent_calls, server_stats, JSONL 호출 로그)을 통해 모델 스스로 도구 실패를 진단할 수 있습니다.
그 결과는 더 작고, 설치가 빠르며, KiCAD의 방향성과 일치하고, 실험보다는 실제 사용에 적합하게 구축되었습니다. 원래 프로젝트는 열려 있고 유지보수되며 유용합니다. 아래 비교를 참조하세요.
기능 설명 (What it does)
AI가 변경 사항을 설명하고 수동으로 적용하는 대신, 사용자의 프로젝트에 직접 작동합니다:
- 회로도 구성 요소 배치 및 배선 — 저항기, IC, 커넥터 추가; 핀 이름별로 연결
- PCB 레이아웃 작업 — KiCAD의 IPC API를 통해 실시간으로 풋프린트(footprints) 배치, 이동, 회전 및 라우팅을 수행하며, 전체 되돌리기/다시 실행 기능이 통합됨
- 설계 검사 실행 — ERC (Electrical Rule Check), DRC (Design Rule Check), 연결성 유효성 검사, 디커플링 감사(decoupling audits), 전원 레일 검토, BOM 건강 검사
- 생산 파일 내보내기 — Gerbers, 드릴, BOM, 픽앤플레이스(pick-and-place), 3D 모델, PDF
- JLCPCB 부품 검색 — 로컬 250만 개 부품 카탈로그에서 재고가 있는 부품을 찾고 대안을 제안
- 참조 회로 시작 — USB-C, LDO, 버크 컨버터(buck converter), STM32, I2C, LED 템플릿에 검증된 부품 값 제공
- 작동 과정 관찰 — AI가 편집함에 따라 실시간 회로도 뷰어가 자동 새로고침됨
전체 도구 카탈로그는 tool-directory.md에서 확인할 수 있습니다.
작동 방식 (How it works)
| 레이어 | 메커니즘 |
|---|---|
| 회로도 편집 | 원자적 쓰기(atomic writes)를 사용한 직접적인 .kicad_sch S-expression 편집 (KiCAD 불필요) |
| ... | |
| 대화형 아키텍처 다이어그램에서 요청 경로와 안전 경계를 탐색하세요. 이 문서는 독립적인 문서 저장소에서 게시되었으며 Konnect에 의존성을 추가하지 않습니다. |
설치
KiCAD 플러그인 매니저에서 다운로드 (권장)
- Releases에서 사용 중인 OS용 패키지를 다운로드합니다:
konnect-pcm-v<version>-windows.zip,-macos.zip, 또는-linux.zip. 각 파일은 해당 플랫폼의 서버 바이너리를 번들로 제공하며, macOS 패키지는 범용 빌드이므로 하나의 다운로드로 Apple Silicon과 Intel 모두를 커버합니다. (konnect-pcm-*자산이 KiCAD 플러그인 패키지이며, 다른 아카이브는 독립형 서버 바이너리입니다.) - KiCAD 10을 열고 → **플러그인 및 콘텐츠 매니저(Plugin and Content Manager)**로 이동합니다.
- **파일에서 설치(Install from File)**를 클릭하고 zip 파일을 선택합니다.
- KiCAD를 재시작합니다.
확인: PCB 편집기(PCB Editor) → 도구(Tools) → **외부 플러그인(External Plugins)**으로 이동하면 Konnect가 보이는지 확인합니다.
KiCad 10의 경우, Konnect 설정 대화 상자에서 선택적 **네이티브 Specctra 브릿지(native Specctra bridge)**도 제공됩니다. 이 기능을 활성화하면 export_specctra_dsn이 현재 PCB 편집기에게 네이티브 DSN을 생성하도록 요청할 수 있으며, Konnect는 여전히 내보내기를 정확한 IPC 스냅샷에 바인딩하고 SES 가져오기 시 사용되는 엄격한 역(reverse) 매니페스트를 생성합니다. 이 브릿지는 로컬 전용이며 인증이 필요하고 기본적으로 비활성화되어 있으며 KiCad 11 통합 경로는 아닙니다. Konnect는 기본적으로 Rust 익스포터를 사용하며, native_bridge_mode: "prefer"는 브릿지가 사용할 수 없을 때 Rust로 폴백(fallback)하도록 활성화하는 반면, `
AI 클라이언트 설치 안내
Konnect는 Claude와 Codex를 위한 공유 KiCad 스킬을 묶어 제공합니다. 가이드를 설치, 확인 또는 제거할 때 해당 클라이언트를 선택하세요:
# 기존 동작은 기본값으로 유지됩니다: Claude 스킬, 에이전트 및 후크
konnect init
...
MCP 서버 시작 시에는 가이드를 설치하거나 복원하지 않습니다. 해당 파일들을 설치하고 싶을 때 명시적으로 konnect init을 실행하세요. konnect uninstall 이후에 서버를 시작하면 파일들이 제거된 상태로 남습니다.
이전의 konnect init으로 작성된 가이드는 바이너리를 업그레이드해도 업데이트되지 않습니다. konnect status는 설치된 모든 스킬, 에이전트 및 후크를 실행하는 바이너리의 번들과 비교하여 각각 current(현재), different(다름), 또는 missing(누락)으로 표시합니다. 서버는 각 설치된 버전에 대해 동일한 확인을 수행합니다: konnect init 이후의 첫 시작은 파일을 비교하고, 그 결과를 ~/.konnect에 기록하며, 가이드가 동기화되지 않은 경우 initialize 명령어에 한 줄 공지를 추가합니다. 이후 시작 시에는 이 기록을 재사용하므로, 유지하기로 선택한 가이드는 다시 보고되지 않습니다. get_installation_info를 사용하면 결과를 확인할 수 있습니다. 업데이트하려면 konnect init을 다시 실행하세요. 이는 다른 파일들을 덮어쓰므로, 편집했던 모든 파일은 사본을 보관해 두세요. --client는 호환성을 위해 서버 명령어에서 계속 허용됩니다. 예를 들어, 다음과 같이 Codex CLI를 사용하여 독립적인 바이너리를 등록할 수 있습니다:
codex mcp add konnect -- /path/to/konnect --client codex
--client가 생략되면 Claude가 기본값으로 유지됩니다. 설치 프로그램은 두 클라이언트를 독립적으로 추적하며, Codex 설치는 ~/.claude를 생성하거나 수정하지 않습니다.
모든 하위 명령어에 대한 --help는 해당 하위 명령어의 사용법을 출력할 뿐 아무것도 쓰지 않습니다 — konnect init --help는 실행하는 대신 설치 프로그램을 설명합니다. Konnect가 인식하지 못하는 인수는 무시되는 것이 아니라 오류이므로, --cleint codex와 같은 오타는 조용히 기본 클라이언트를 설치하는 대신 중단됩니다.
MCP 클라이언트가 실제로 어떤 Konnect 프로세스를 사용하는지 확인하려면 항상 보이는 get_installation_info 도구를 호출하세요. 이 도구는 제공되는 빌드, 실행 파일 경로, 증명 가능한 경우 검증된 설치 출처, KiCad CLI 및 IPC 감지, 그리고 재시작 가이드를 보고합니다. 누락된 빌드 커밋이나 unknown 설치 출처는 사용 가능한 증거가 불충분하다는 의미이며, 디렉터리 이름에서 조용히 추측하는 것이 아닙니다.
macOS
Releases 페이지에서는 Apple Silicon (aarch64-apple-darwin)과 Intel (x86_64-apple-darwin)용 독립형 서버 바이너리를 제공합니다. 이들은 아직 코드 서명(code-signed)되지 않았으므로, 브라우저를 통해 다운로드한 경우 첫 실행 전에 격리 플래그(quarantine flag)를 지워야 합니다:
tar xzf konnect-v*-aarch64-apple-darwin.tar.gz
xattr -d com.apple.quarantine ./konnect # 브라우저 다운로드 시에만 필요
./konnect --help
또는 위와 같이 소스에서 빌드할 수 있습니다(Apple Silicon에서 검증됨; 동일한 target/release/konnect 바이너리가 MCP 서버입니다).
macOS의 KiCad는 도구를 앱 번들(app bundle) 내부에 보관하며, 이는 PATH에 포함되어 있지 않으므로, Konnect가 이들을 참조하도록 ~/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"
# macOS의 KiCad 10 IPC 소켓 (KiCad에서 활성화하세요: ...
Claude Desktop의 설정 파일은 ~/Library/Application Support/Claude/claude_desktop_config.json에 있습니다:
{
"mcpServers": {
"konnect": {
...
Claude Code의 경우, 동일한 스니펫을 프로젝트 루트의 .mcp.json 파일에 넣으세요.
macOS PCM 패키지(konnect-pcm-v<version>-macos.zip)는 범용 서버 바이너리를 번들로 제공하므로, 한 번 다운로드하면 Apple Silicon과 Intel 모두를 커버합니다. 스키매틱 뷰어는 macOS에서 컴파일 및 실행되지만(Tauri 2는 시스템 WKWebView를 사용하며 — WebView2는 Windows 전용 요구 사항임), 아직 Windows 빌드만큼 많이 사용된 이력은 없습니다.
Claude Desktop으로 설정하기
PCM 설치 후, 서버 바이너리는 KiCAD 문서 폴더에 위치합니다:
C:\Users\<YOU>\Documents\KiCad\10.0\3rdparty\plugins\com_github_mixelpixx_konnect\bin\konnect.exe
%APPDATA%\Claude\claude_desktop_config.json을 편집합니다:
{
"mcpServers": {
"konnect": {
...
Claude Desktop을 재시작하면 Konnect 도구가 나타납니다. Claude Code의 경우, 동일한 스니펫을 프로젝트 루트에 있는 .mcp.json 파일에 붙여넣으세요 (examples/)를 참조하세요.
회로도 뷰어 (Schematic viewer)
회로도 파일이 변경될 때마다 자동 새로고침되는 독립형 뷰어입니다:
schematic-viewer.exe path\to\your\root_schematic.kicad_sch
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기