KiCAD-MCP-Server

Integrations

  • Enables direct interaction with KiCAD PCB design software, allowing for natural language control of operations including project management, board design, component placement and manipulation, routing, design rule implementation, and exporting designs in various formats.

KiCAD MCP: AI 지원 PCB 설계

KiCAD MCP는 Claude와 같은 대형 언어 모델(LLM)이 인쇄 회로 기판 설계를 위해 KiCAD와 직접 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 구현입니다. AI 어시스턴트와 KiCAD PCB 설계 소프트웨어 간에 표준화된 통신 브리지를 구축하여 고급 PCB 설계 작업에 대한 자연어 제어를 가능하게 합니다.

또한 Google 검색 MCP가 출시되어 Google 검색을 수행하고 페이지를 볼 수 있습니다.

https://github.com/mixelpixx/Google-Search-MCP-Server

KiCAD MCP 프로젝트 상태

  • 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 작업을 처리합니다.
  • 모듈형 디자인 : 유지 관리 및 확장성을 위해 도메인(프로젝트, 보드, 구성 요소, 라우팅)별로 기능을 구성합니다.

시스템 요구 사항

  • 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 설치

  1. 공식 KiCAD 웹사이트 에서 KiCAD 9.0을 다운로드하세요
  2. 설치 프로그램을 실행하고 기본 설치 옵션을 선택하세요
  3. Python 모듈이 설치되어 있는지 확인하세요(기본 설치에 포함되어 있음)

2단계: KiCAD MCP 저장소 복제 및 설정

지엑스피1

3단계: Cline(VSCode Claude 확장 프로그램) 구성

  1. 아직 설치되지 않았다면 공식 웹사이트 에서 VSCode를 설치하세요.
  2. VSCode 마켓플레이스에서 Cline 확장 프로그램(VSCode용 Claude)을 설치하세요.
  3. 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
  4. 다음 구성을 파일에 추가합니다(시스템에 맞게 경로를 업데이트하세요):
"kicad": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "C:\\Program Files\\nodejs\\node.exe", "args": [ "C:/path/to/kicad-mcp/dist/kicad-server.js" ], "env": { "PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages", "DEBUG": "mcp:*" }, "transportType": "stdio" }
  1. 변경 사항을 적용하려면 VSCode를 다시 시작하거나 창을 다시 로드하세요.

4단계: 설치 확인

  1. Cline 확장 프로그램을 사용하여 VSCode를 엽니다.
  2. Claude와 새로운 대화를 시작하세요
  3. Claude에게 새로운 KiCAD 프로젝트를 만들어 달라고 요청하세요.
    Create a new KiCAD project named 'TestProject' in the 'test' directory.
  4. Claude는 KiCAD MCP를 사용하여 프로젝트를 만들고 성공 사례를 보고해야 합니다.

사용 예

다음은 Claude에게 KiCAD MCP를 사용하여 수행할 수 있는 작업의 몇 가지 예입니다.

프로젝트 관리

Create a new KiCAD project named 'WiFiModule' in my Documents folder.
Open the existing KiCAD project at C:/Projects/Amplifier/Amplifier.kicad_pro

보드 디자인

Set the board size to 100mm x 80mm.
Add a rounded rectangle board outline with 3mm corner radius.
Add mounting holes at each corner of the board, 5mm from the edges.

구성 요소 배치

Place a 10uF capacitor at position x=50mm, y=30mm.
Create a grid of 8 LEDs, 4x2, starting at position x=20mm, y=10mm with 10mm spacing.
Align all resistors horizontally and distribute them evenly.

라우팅

Create a new net named 'VCC' and assign it to the power net class.
Route a trace from component U1 pin 1 to component C3 pin 2 on layer F.Cu.
Add a copper pour for GND on the bottom layer.

디자인 규칙 및 내보내기

Set design rules with 0.2mm clearance and 0.25mm minimum track width.
Export Gerber files to the 'fabrication' directory.

카테고리별 특징

프로젝트 관리

  • 사용자 정의 가능한 설정으로 새로운 KiCAD 프로젝트 만들기
  • 파일 경로에서 기존 KiCAD 프로젝트 열기
  • 선택적인 새 위치로 프로젝트 저장
  • 프로젝트 메타데이터 및 속성 검색

보드 디자인

  • 미터법 및 영국식 단위를 지원하여 정확한 보드 치수를 설정합니다.
  • 사용자 정의 보드 윤곽선 추가(사각형, 모서리가 둥근 사각형, 원, 다각형)
  • 다양한 구성으로 보드 레이어를 생성하고 관리합니다.
  • 장착 구멍, 텍스트 주석 및 기타 보드 기능 추가
  • 현재 보드 상태를 시각화합니다

구성 요소

  • 지정된 발자국이 있는 구성 요소를 정확한 위치에 배치합니다.
  • 그리드 또는 원형 패턴으로 구성 요소 배열을 만듭니다.
  • 기존 구성 요소를 이동, 회전 및 수정합니다.
  • 구성 요소를 균등하게 정렬하고 분배합니다.
  • 사용자 정의 가능한 속성을 사용하여 구성 요소를 복제합니다.
  • 자세한 구성 요소 속성 및 목록을 얻으세요

라우팅

  • 특정 속성을 가진 네트 생성 및 관리
  • 구성 요소 패드 또는 임의의 지점 사이의 경로 추적
  • 블라인드 비아와 묻힌 비아를 포함한 비아 추가
  • 고속 신호에 대한 차동 쌍 경로 생성
  • 구리 퍼(접지 평면, 전원 평면) 생성
  • 특정 디자인 규칙으로 네트 클래스를 정의합니다.

디자인 규칙

  • 여유 공간, 트랙 너비 등에 대한 글로벌 설계 규칙을 설정합니다.
  • 다양한 네트 클래스에 대한 특정 규칙 정의
  • 설계를 검증하기 위해 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/board/ : 모듈식 보드 조작 기능
      • size.py : 보드 크기 연산
      • layers.py : 레이어 관리
      • outline.py : 보드 개요 생성
      • view.py : 시각화 함수
    • commands/component.py : 컴포넌트 배치 및 조작
    • 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를 실행하는 사용자에게 디렉토리에 대한 액세스 권한이 있는지 확인하세요.

도움 받기

이 문제 해결 섹션에 포함되지 않은 문제가 발생하는 경우:

  1. 오류 메시지에 대한 콘솔 출력을 확인하세요.
  2. GitHub 저장소의 문제 섹션에서 유사한 문제를 찾아보세요.
  3. 문제에 대한 자세한 정보를 포함하여 새 이슈를 엽니다.

기여하다

이 프로젝트에 대한 여러분의 참여를 환영합니다! 참여 방법은 다음과 같습니다.

  1. 버그 보고 : 문제가 발생한 이유와 이를 재현하는 방법을 설명하는 문제를 엽니다.
  2. 기능 제안 : 아이디어가 있으신가요? 이슈를 통해 공유해 주세요.
  3. 풀 리퀘스트 제출 : 버그를 수정했거나 기능을 추가하셨나요? 풀 리퀘스트를 제출하세요!
  4. 문서 개선 : 문서를 명확히 하거나 확장하는 데 도움이 됩니다.

기존 코드 스타일을 따르고 새로운 기능에 대한 테스트를 포함하세요.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

Related MCP Servers

View all related MCP servers

ID: mbakeskoz3