KiCAD MCP: AI 지원 PCB 설계
KiCAD MCP는 Claude와 같은 대형 언어 모델(LLM)이 인쇄 회로 기판 설계를 위해 KiCAD와 직접 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 구현입니다. AI 어시스턴트와 KiCAD PCB 설계 소프트웨어 간에 표준화된 통신 브리지를 구축하여 고급 PCB 설계 작업에 대한 자연어 제어를 가능하게 합니다.
🎉 새로운 기능! 스키매틱 생성
회로도 생성 기능 추가 소식을 알려드리게 되어 기쁩니다! 이제 KiCAD MCP는 PCB 설계 외에도 AI 어시스턴트를 통해 다음과 같은 작업을 수행할 수 있도록 지원합니다.
- 자연어를 통해 KiCAD 회로도를 생성하고 관리합니다.
- 저항기, 커패시터, IC와 같은 구성 요소를 회로도에 추가합니다.
- 전선으로 구성 요소를 연결하여 완전한 회로를 만듭니다.
- KiCAD 형식으로 회로도 파일 저장 및 로드
- 회로도를 PDF로 내보내기
이 강력한 추가 기능은 PCB 설계 워크플로를 완성하여 AI 어시스턴트가 단일 통합 환경에서 회로도 캡처와 PCB 레이아웃을 모두 지원할 수 있도록 합니다.
프로젝트 상태
이 프로젝트는 완료되었으며 생산에 사용할 준비가 되었습니다.
- KiCAD 9.0과 완전한 Python 인터페이스 호환성을 구현했습니다.
- 모듈식이고 유지 관리 가능한 구성 요소 아키텍처를 생성했습니다.
- 보드 조작, 구성 요소 배치 및 라우팅을 위한 포괄적인 도구 구현
- 프로젝트 생성부터 구성 요소 배치 및 라우팅까지 운영을 성공적으로 테스트했습니다.
- KiCAD에 명령을 안정적으로 전달하는 간소화된 MCP 서버 구현을 만들었습니다.
이 서버는 Cline/Claude와 원활하게 작동하여 자연어를 통한 AI 지원 PCB 설계를 가능하게 합니다.
그것이 하는 일
KiCAD MCP는 AI 도우미가 다음과 같은 작업을 수행할 수 있도록 하여 엔지니어와 설계자가 KiCAD를 사용하는 방식을 혁신합니다.
- 자연어 요청을 통해 KiCAD PCB 프로젝트를 생성하고 관리합니다.
- 구성 요소와 연결을 사용하여 회로도를 만듭니다 .
- 보드 형상, 윤곽선, 레이어 및 속성을 조작합니다.
- 다양한 패턴(격자형, 원형, 정렬형)으로 구성 요소를 배치하고 구성합니다.
- 경로 추적, 차동 쌍 및 구리 주입 생성
- 설계 규칙을 구현하고 설계 규칙 검사를 수행합니다.
- 다양한 형식(Gerber, PDF, SVG, 3D 모델)으로 내보내기를 생성합니다.
- AI 보조자에게 회로 기판에 대한 포괄적인 맥락을 제공합니다.
이를 통해 엔지니어의 전체 감독 및 제어를 유지하면서도 복잡한 작업을 쉬운 영어로 요청할 수 있는 자연어 기반 PCB 설계 워크플로가 가능합니다.
핵심 아키텍처
- TypeScript MCP 서버 : Claude 및 기타 호환 AI 어시스턴트와 통신하기 위해 Anthropic Model Context Protocol 사양을 구현합니다.
- Python KiCAD 인터페이스 : 포괄적인 오류 처리 기능을 갖춘 pcbnew Python API 및 kicad-skip 라이브러리를 통해 실제 KiCAD 작업을 처리합니다.
- 모듈식 설계 : 유지 관리 및 확장성을 위해 도메인(프로젝트, 회로도, 보드, 구성 요소, 라우팅)별로 기능을 구성합니다.
시스템 요구 사항
- KiCAD 9.0 이상 (완전히 설치되어야 함)
- Node.js v18 이상 및 npm
- pip가 포함된 Python 3.8 이상 (KiCAD 9.0과 함께 제공되는 버전이면 충분합니다)
- Cline (VSCode Claude 확장) 또는 다른 MCP 호환 클라이언트
- Windows 10/11 (현재 버전은 Windows에 최적화되어 있으며 Linux/Mac 지원 예정)
설치
1단계: KiCAD 9.0 설치
- 공식 KiCAD 웹사이트 에서 KiCAD 9.0을 다운로드하세요
- 설치 프로그램을 실행하고 기본 설치 옵션을 선택하세요
- Python 모듈이 설치되어 있는지 확인하세요(기본 설치에 포함되어 있음)
2단계: KiCAD MCP 저장소 복제 및 설정
지엑스피1
3단계: Cline(VSCode Claude 확장 프로그램) 구성
- 아직 설치되지 않았다면 공식 웹사이트 에서 VSCode를 설치하세요.
- VSCode 마켓플레이스에서 Cline 확장 프로그램(VSCode용 Claude)을 설치하세요.
- Cline MCP 설정 파일을 편집합니다.
- Windows:
%USERPROFILE%\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- 리눅스:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Windows:
- 다음 구성을 파일에 추가합니다(시스템에 맞게 경로를 업데이트하세요):
- 변경 사항을 적용하려면 VSCode를 다시 시작하거나 창을 다시 로드하세요.
4단계: 설치 확인
- Cline 확장 프로그램을 사용하여 VSCode를 엽니다.
- Claude와 새로운 대화를 시작하세요
- Claude에게 새로운 KiCAD 프로젝트를 만들어 달라고 요청하세요.
- Claude는 KiCAD MCP를 사용하여 프로젝트를 만들고 성공 사례를 보고해야 합니다.
사용 예
다음은 Claude에게 KiCAD MCP를 사용하여 수행할 수 있는 작업의 몇 가지 예입니다.
프로젝트 관리
회로 설계
보드 디자인
구성 요소 배치
라우팅
디자인 규칙 및 내보내기
카테고리별 특징
프로젝트 관리
- 사용자 정의 가능한 설정으로 새로운 KiCAD 프로젝트 만들기
- 파일 경로에서 기존 KiCAD 프로젝트 열기
- 선택적인 새 위치로 프로젝트 저장
- 프로젝트 메타데이터 및 속성 검색
회로 설계
- 사용자 정의 가능한 설정으로 새로운 회로도 만들기
- 심볼 라이브러리(저항기, 커패시터, IC 등)에서 구성 요소를 추가합니다.
- 전선으로 구성 요소를 연결하여 회로를 만듭니다.
- 회로도에 라벨, 주석 및 문서 추가
- KiCAD 형식으로 회로도 저장 및 로드
- 문서화를 위해 회로도를 PDF로 내보내기
보드 디자인
- 미터법 및 영국식 단위를 지원하여 정확한 보드 치수를 설정합니다.
- 사용자 정의 보드 윤곽선 추가(사각형, 모서리가 둥근 사각형, 원, 다각형)
- 다양한 구성으로 보드 레이어를 생성하고 관리합니다.
- 장착 구멍, 텍스트 주석 및 기타 보드 기능 추가
- 현재 보드 상태를 시각화합니다
구성 요소
- 지정된 발자국이 있는 구성 요소를 정확한 위치에 배치합니다.
- 그리드 또는 원형 패턴으로 구성 요소 배열을 만듭니다.
- 기존 구성 요소를 이동, 회전 및 수정합니다.
- 구성 요소를 균등하게 정렬하고 분배합니다.
- 사용자 정의 가능한 속성을 사용하여 구성 요소를 복제합니다.
- 자세한 구성 요소 속성 및 목록을 얻으세요
라우팅
- 특정 속성을 가진 네트 생성 및 관리
- 구성 요소 패드 또는 임의의 지점 사이의 경로 추적
- 블라인드 비아와 묻힌 비아를 포함한 비아 추가
- 고속 신호에 대한 차동 쌍 경로 생성
- 구리 퍼(접지 평면, 전원 평면) 생성
- 특정 디자인 규칙으로 네트 클래스를 정의합니다.
디자인 규칙
- 여유 공간, 트랙 너비 등에 대한 글로벌 설계 규칙을 설정합니다.
- 다양한 네트 클래스에 대한 특정 규칙 정의
- 설계를 검증하기 위해 DRC(설계 규칙 검사)를 실행합니다.
- DRC 위반 사항 보기 및 관리
내보내다
- 제조를 위한 산업 표준 Gerber 파일 생성
- PCB의 PDF 문서 내보내기
- 보드의 SVG 벡터 그래픽을 만듭니다
- STEP 또는 VRML 형식으로 3D 모델 생성
- 다양한 형식으로 BOM(재료 목록)을 생성합니다.
구현 세부 사항
KiCAD MCP 구현은 모듈식의 유지 관리 가능한 아키텍처를 사용합니다.
TypeScript MCP 서버(Node.js)
- kicad-server.ts : MCP 프로토콜을 구현하는 메인 서버
- Cline과의 안정적인 통신을 위해 STDIO 전송을 사용합니다.
- KiCAD 작업을 위한 Python 프로세스를 관리합니다.
- 명령 대기열, 오류 복구 및 응답 형식을 처리합니다.
파이썬 인터페이스
- kicad_interface.py : 다음을 담당하는 주요 Python 인터페이스:
- stdin을 통해 JSON으로 수신된 명령을 구문 분석합니다.
- 적절한 전문 핸들러에 명령을 라우팅합니다.
- stdout을 통해 JSON으로 결과를 반환합니다.
- 자세한 정보로 오류를 우아하게 처리합니다.
- 모듈식 명령 구조 :
commands/project.py
: 프로젝트 생성, 열기, 저장commands/schematic.py
: 회로도 생성 및 관리commands/component_schematic.py
: Schematic 구성 요소 작업commands/connection_schematic.py
: 와이어 및 연결 관리commands/library_schematic.py
: 심볼 라이브러리 통합commands/board/
: 모듈식 보드 조작 기능size.py
: 보드 크기 연산layers.py
: 레이어 관리outline.py
: 보드 개요 생성view.py
: 시각화 함수
commands/component.py
: PCB 부품 배치 및 조작commands/routing.py
: 라우팅 및 네트워크 관리 추적commands/design_rules.py
: DRC 및 규칙 구성commands/export.py
: 다양한 포맷으로 출력 생성
이 아키텍처는 깔끔하고 일관된 인터페이스 계층을 유지하면서 PCB 설계의 각 측면이 전문 모듈에 의해 처리되도록 보장합니다.
문제 해결
일반적인 문제 및 솔루션
문제: KiCAD MCP가 Claude의 도구에 표시되지 않습니다.
- Cline MCP 설정을 업데이트한 후 VSCode가 완전히 다시 시작되었는지 확인하세요.
- 구성의 경로가 시스템에 맞는지 확인하세요.
npm run build
성공적으로 완료되었는지 확인하세요
문제: 서버 시작 시 Node.js 오류 발생
- Node.js v18 이상을 사용하고 있는지 확인하세요.
- 모든 종속성이 제대로 설치되었는지 확인하려면
npm install
다시 실행해 보세요. - 특정 오류 메시지에 대한 콘솔 출력을 확인하세요.
문제: Python 오류 또는 KiCAD 명령 실패
- KiCAD 9.0이 제대로 설치되었는지 확인하세요
- 구성에서 PYTHONPATH가 올바른 위치를 가리키는지 확인하세요.
- pcbnew 모듈에 액세스할 수 있는지 확인하려면 간단한 KiCAD Python 스크립트를 직접 실행해 보세요.
문제: Claude가 KiCAD 프로젝트를 찾거나 로드할 수 없습니다.
- 프로젝트 위치를 참조할 때 절대 경로를 사용하세요.
- VSCode를 실행하는 사용자에게 디렉토리에 대한 액세스 권한이 있는지 확인하세요.
도움 받기
이 문제 해결 섹션에 포함되지 않은 문제가 발생하는 경우:
- 오류 메시지에 대한 콘솔 출력을 확인하세요.
- GitHub 저장소의 문제 섹션에서 유사한 문제를 찾아보세요.
- 문제에 대한 자세한 정보를 포함하여 새 이슈를 엽니다.
기여하다
이 프로젝트에 대한 여러분의 참여를 환영합니다! 참여 방법은 다음과 같습니다.
- 버그 보고 : 문제가 발생한 이유와 이를 재현하는 방법을 설명하는 문제를 엽니다.
- 기능 제안 : 아이디어가 있으신가요? 이슈를 통해 공유해 주세요.
- 풀 리퀘스트 제출 : 버그를 수정했거나 기능을 추가하셨나요? 풀 리퀘스트를 제출하세요!
- 문서 개선 : 문서를 명확히 하거나 확장하는 데 도움이 됩니다.
기존 코드 스타일을 따르고 새로운 기능에 대한 테스트를 포함하세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
Related MCP Servers
- Python
- TypeScriptApache 2.0
- TypeScriptMIT License
- RustMIT License