Skip to main content
Glama

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 레이아웃을 모두 지원할 수 있도록 합니다.

Related MCP server: Kibana MCP Server

프로젝트 상태

이 프로젝트는 완료되었으며 생산에 사용할 준비가 되었습니다.

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

  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

회로 설계

Create a new schematic named 'PowerSupply'.
Add a 10kΩ resistor and 0.1µF capacitor to the schematic.
Connect the resistor's pin 1 to the capacitor's pin 1.

보드 디자인

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 프로젝트 열기

  • 선택적인 새 위치로 프로젝트 저장

  • 프로젝트 메타데이터 및 속성 검색

회로 설계

  • 사용자 정의 가능한 설정으로 새로운 회로도 만들기

  • 심볼 라이브러리(저항기, 커패시터, 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를 실행하는 사용자에게 디렉토리에 대한 액세스 권한이 있는지 확인하세요.

도움 받기

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

  1. 오류 메시지에 대한 콘솔 출력을 확인하세요.

  2. GitHub 저장소의 문제 섹션에서 유사한 문제를 찾아보세요.

  3. 문제에 대한 자세한 정보를 포함하여 새 이슈를 엽니다.

기여하다

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

  1. 버그 보고 : 문제가 발생한 이유와 이를 재현하는 방법을 설명하는 문제를 엽니다.

  2. 기능 제안 : 아이디어가 있으신가요? 이슈를 통해 공유해 주세요.

  3. 풀 리퀘스트 제출 : 버그를 수정했거나 기능을 추가하셨나요? 풀 리퀘스트를 제출하세요!

  4. 문서 개선 : 문서를 명확히 하거나 확장하는 데 도움이 됩니다.

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

특허

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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mixelpixx/KiCAD-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server