링크된 문서
역링크
KiCad MCP
KiCad MCP
KiCad MCP는 KiCad 전자 설계 자동화(EDA) 소프트웨어와 Claude AI를 연결하는 Model Context Protocol(MCP) 서버입니다. 이 서버를 통해 LLM은 KiCad 프로젝트를 분석하고, 회로도를 검증하며, PCB 설계를 시각화하고, 설계 규칙 검사(DRC)를 수행할 수 있습니다. 자연어 명령을 통해 복잡한 PCB 설계 작업을 자동화하고, AI 기반 회로 패턴 인식을 제공하여 설계 품질을 향상시키는 도구입니다.
특징
- 프로젝트 관리: KiCad 프로젝트 목록화, 검사, 열기 기능
- 회로도 분석: 회로도 구성요소 검색 및 연결 관계 분석
- PCB 시각화: PCB 디자인 시각화 및 레이어별 정보 제공
- 설계 규칙 검사(DRC): 자동 DRC 실행 및 위반 사항 보고
- 회로 패턴 인식: 일반적인 회로 블록 자동 식별 및 분석
- 부품 목록(BOM) 관리: 부품 목록 생성 및 분석
- 다중 플랫폼 지원: Mac, Windows, Linux 환경에서 작동
- 자연어 명령: 자연어 기반 PCB 설계 워크플로우 지원
- KiCad CLI 통합: KiCad 명령줄 도구를 활용한 자동화
API
도구
프로젝트 관리
- list_projects: 사용 가능한 KiCad 프로젝트 목록 조회
- 입력: 검색 경로(선택적)
-
출력: 프로젝트 경로 및 이름 목록
-
open_project: KiCad에서 프로젝트 열기
- 입력: 프로젝트 경로
-
출력: 열기 성공 여부
-
get_project_info: 프로젝트 정보 조회
- 입력: 프로젝트 경로
- 출력: 프로젝트 메타데이터(파일, 회로도, PCB 등)
회로도 분석
- analyze_schematic: 회로도 분석
- 입력: 프로젝트 경로
-
출력: 회로도 구성요소 및 연결 정보
-
identify_circuit_patterns: 회로 패턴 인식
- 입력: 프로젝트 경로
-
출력: 식별된 회로 패턴 목록 및 설명
-
get_component_info: 특정 부품 정보 조회
- 입력: 프로젝트 경로, 부품 참조 지정자
- 출력: 부품 상세 정보
PCB 및 설계 규칙
- analyze_pcb: PCB 레이아웃 분석
- 입력: 프로젝트 경로
-
출력: PCB 레이어, 트레이스, 비아 등의 정보
-
run_drc: 설계 규칙 검사(DRC) 실행
- 입력: 프로젝트 경로
-
출력: DRC 위반 사항 목록 및 설명
-
generate_bom: 부품 목록(BOM) 생성
- 입력: 프로젝트 경로
- 출력: 부품 목록 및 분류
사용 방법
설치
# 저장소 복제
git clone https://github.com/lamaalrajih/kicad-mcp.git
# 가상 환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 의존성 설치
pip install -r requirements.txt
구성
KiCad 프로젝트 경로 설정:
# 환경 설정 파일 복사
cp .env.example .env
# 환경 설정 파일 편집
# KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects/KiCad
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정합니다:
{
"mcpServers": {
"kicad": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/kicad-mcp/main.py"]
}
}
}
필요 조건
- KiCad: 7.0 이상
- Python: 3.8 이상
- kicad-cli: KiCad 명령줄 도구
- OS: macOS, Windows, Linux 지원
사용 예시
// 사용 가능한 KiCad 프로젝트 목록 조회
const projects = await list_projects();
console.log(`사용 가능한 프로젝트: ${projects.length}개`);
// 특정 프로젝트 정보 조회
const projectInfo = await get_project_info("/path/to/project.kicad_pro");
console.log(`프로젝트 이름: ${projectInfo.name}`);
console.log(`회로도 파일: ${projectInfo.schematic_files.join(", ")}`);
// 회로도 분석
const schematicAnalysis = await analyze_schematic("/path/to/project.kicad_pro");
console.log(`총 부품 수: ${schematicAnalysis.component_count}`);
console.log(`총 연결 수: ${schematicAnalysis.connection_count}`);
// 회로 패턴 인식
const patterns = await identify_circuit_patterns("/path/to/project.kicad_pro");
patterns.forEach(pattern => {
console.log(`패턴: ${pattern.name}, 위치: ${pattern.location}`);
console.log(`설명: ${pattern.description}`);
});
// 설계 규칙 검사 실행
const drcResults = await run_drc("/path/to/project.kicad_pro");
console.log(`DRC 위반 사항: ${drcResults.violation_count}개`);
drcResults.violations.forEach(violation => {
console.log(`- ${violation.type}: ${violation.description}, 위치: ${violation.location}`);
});
// 부품 목록 생성
const bom = await generate_bom("/path/to/project.kicad_pro");
console.log(`총 부품 종류: ${bom.unique_parts}개`);
console.log(`총 부품 수량: ${bom.total_parts}개`);
연결된 구성 요소
- Arduino - 아두이노 하드웨어 구현과 연계
- Github - 설계 파일 버전 관리 및 공유
- Everything Search - 프로젝트 및 라이브러리 파일 검색