Integrations
Integrates with .env files for configuration, allowing users to customize KiCad project search paths and other server settings through environment variables.
Provides tools for KiCad PCB design projects including listing projects, viewing project details, running Design Rule Checks (DRC), generating PCB thumbnails, and launching KiCad applications with specific projects.
KiCad MCP 서버
이 가이드는 KiCad용 MCP(Model Context Protocol) 서버를 설정하는 데 도움을 드립니다. 이 가이드의 예제에서는 Claude Desktop을 자주 참조하지만, 이 서버는 모든 MCP 호환 클라이언트 와 호환됩니다. Claude Desktop, 사용자 지정 MCP 클라이언트 또는 MCP를 구현하는 다른 애플리케이션과 함께 사용할 수 있습니다.
목차
필수 조건
- macOS, Windows 또는 Linux
- Python 3.10 이상
- KiCad 9.0 이상
- Claude Desktop(또는 다른 MCP 클라이언트)
설치 단계
1. Python 환경 설정
먼저 종속성을 설치하고 환경을 설정해 보겠습니다.
지엑스피1
2. 환경 구성
KiCad 프로젝트를 서버가 찾는 위치를 사용자 지정하려면 .env
파일을 만드세요.
.env
파일에 사용자 정의 프로젝트 디렉터리를 추가합니다.
3. 서버 실행
환경이 설정되면 서버를 실행할 수 있습니다.
4. MCP 클라이언트 구성
이제 Claude Desktop이 MCP 서버를 사용하도록 구성해 보겠습니다.
- Claude Desktop 구성 파일을 생성하거나 편집합니다.
- 구성에 KiCad MCP 서버를 추가합니다.
/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp
프로젝트 디렉토리의 실제 경로로 바꾸세요.
5. MCP 클라이언트를 다시 시작하세요
MCP 클라이언트를 닫았다가 다시 열어서 새로운 구성을 로드하세요.
MCP 구성 요소 이해
모델 컨텍스트 프로토콜(MCP)은 기능을 제공하는 세 가지 주요 방법을 정의합니다.
리소스 대 도구 대 프롬프트
리소스는 LLM이 참조할 수 있는 읽기 전용 데이터 소스입니다.
- REST API의 GET 엔드포인트와 유사
- 중요한 계산을 수행하지 않고도 데이터를 제공합니다.
- LLM이 정보를 읽어야 할 때 사용됩니다.
- 일반적으로 클라이언트 애플리케이션에서 프로그래밍 방식으로 액세스합니다.
- 예:
kicad://projects
모든 KiCad 프로젝트 목록을 반환합니다.
도구는 작업이나 계산을 수행하는 기능입니다.
- REST API의 POST/PUT 엔드포인트와 유사
- 부작용이 있을 수 있습니다(응용 프로그램 열기 또는 파일 생성 등)
- LLM이 세계에서 작업을 수행해야 할 때 사용됩니다.
- 일반적으로 LLM에서 직접 호출(사용자 승인 필요)
- 예:
open_project()
특정 프로젝트로 KiCad를 시작합니다.
프롬프트 는 일반적인 상호작용을 위한 재사용 가능한 템플릿입니다.
- 미리 정의된 대화 시작 또는 지침
- 사용자가 일반적인 질문이나 작업을 명확하게 표현할 수 있도록 도와주세요
- 사용자 선택에 따라 호출됨(일반적으로 메뉴에서)
- 예:
debug_pcb_issues
프롬프트는 사용자가 PCB 문제를 해결하는 데 도움이 됩니다.
리소스, 도구, 프롬프트에 대한 자세한 내용은 MCP 문서를 참조하세요.
주요 기능
KiCad MCP 서버는 여러 가지 주요 기능을 제공하며, 각 기능에 대한 자세한 설명서가 제공됩니다.
- 프로젝트 관리 : KiCad 프로젝트 나열, 검토 및 열기
- 예: "최근 KiCad 프로젝트 모두 표시" → 수정 날짜별로 정렬된 모든 프로젝트 나열
- PCB 설계 분석 : PCB 설계 및 회로도에 대한 통찰력을 얻으세요
- 예: "온도 센서 보드의 구성 요소 밀도 분석" → 구성 요소 간격 분석 제공
- 넷리스트 추출 : 회로도에서 구성 요소 연결을 추출하고 분석합니다.
- 예: "내 Arduino 쉴드의 MCU에 어떤 구성 요소가 연결되어 있습니까?" → 마이크로컨트롤러에 대한 모든 연결을 표시합니다.
- BOM 관리 : BOM 분석 및 내보내기
- 예: "스마트 워치 프로젝트에 대한 BOM 생성" → 자세한 BOM을 생성합니다.
- 설계 규칙 검사 : KiCad CLI를 사용하여 DRC 검사를 실행하고 시간 경과에 따른 진행 상황을 추적합니다.
- 예: "전원 공급 보드에서 DRC를 실행하고 지난주와 비교" → 위반 사항 수정 진행 상황 표시
- PCB 시각화 : PCB 레이아웃의 시각적 표현을 생성합니다.
- 예: "내 오디오 증폭기 PCB의 썸네일을 보여주세요" → 보드의 시각적 렌더링을 표시합니다.
- 회로 패턴 인식 : 회로도에서 공통 회로 패턴을 자동으로 식별합니다.
- 예: "내 IoT 기기에서 어떤 전원 공급 토폴로지를 사용하고 있습니까?" → 벅, 부스트 또는 선형 레귤레이터를 식별합니다.
각 기능에 대한 더 많은 예시와 자세한 내용은 설명서의 전용 가이드를 참조하세요. LLM에 어떤 도구를 사용할 수 있는지 문의해 볼 수도 있습니다!
자연어 상호작용
우리 문서에는 종종 다음과 같은 예가 나와 있습니다.
파일의 전체 경로를 입력할 필요가 없습니다! LLM은 더 자연스러운 언어 요청을 이해할 수 있습니다.
예를 들어, 위의 공식적인 명령 대신 다음과 같이 간단히 질문할 수 있습니다.
또는:
LLM은 귀하의 의도를 파악하고 KiCad MCP 서버에 관련 정보를 요청할 것입니다. 귀하가 언급하는 프로젝트가 무엇인지 명확히 해야 하는 경우, LLM이 해당 정보를 요청할 것입니다.
선적 서류 비치
각 기능에 대한 자세한 설명서는 docs/
디렉토리에서 확인할 수 있습니다.
구성
KiCad MCP 서버는 환경 변수나 .env
파일을 사용하여 구성할 수 있습니다.
주요 구성 옵션
환경 변수 | 설명 | 예 |
---|---|---|
KICAD_SEARCH_PATHS | KiCad 프로젝트를 검색할 디렉토리의 쉼표로 구분된 목록 | ~/pcb,~/Electronics,~/Projects |
KICAD_USER_DIR | 기본 KiCad 사용자 디렉토리 재정의 | ~/Documents/KiCadProjects |
KICAD_APP_PATH | 기본 KiCad 애플리케이션 경로를 재정의합니다. | /Applications/KiCad7/KiCad.app |
자세한 내용은 구성 가이드를 참조하세요.
개발 가이드
프로젝트 구조
KiCad MCP 서버는 모듈형 구조로 구성됩니다.
새로운 기능 추가
KiCad MCP 서버에 새로운 기능을 추가하려면 다음 단계를 따르세요.
- 기능에 대한 범주(리소스, 도구 또는 프롬프트)를 식별하세요.
- 적절한 모듈에 구현을 추가하세요
- 해당 등록 기능에 기능을 등록하세요
- 개발 도구를 사용하여 변경 사항을 테스트하세요
자세한 내용은 개발 가이드를 참조하세요.
문제 해결
문제가 발생하는 경우:
- MCP 클라이언트에 서버가 나타나지 않음:
- 클라이언트의 구성 파일에서 오류를 확인하세요.
- 프로젝트와 Python 인터프리터의 경로가 올바른지 확인하세요.
- Python이
mcp
패키지에 액세스할 수 있는지 확인하세요. - KiCad 설치가 감지되는지 확인하세요
- 서버 오류:
- 개발 모드에서 서버를 실행할 때 터미널 출력을 확인하세요.
- Claude 로그를 확인하세요:
~/Library/Logs/Claude/mcp-server-kicad.log
(서버별 로그)~/Library/Logs/Claude/mcp.log
(일반 MCP 로그)
- 작업 디렉토리 문제:
- 클라이언트 구성을 통해 시작된 서버의 작업 디렉토리는 정의되지 않을 수 있습니다.
- 구성 및 .env 파일에서는 항상 절대 경로를 사용하세요.
- 명령줄을 통해 서버를 테스트하는 경우 작업 디렉토리는 명령을 실행하는 위치입니다.
자세한 내용은 문제 해결 가이드를 참조하세요.
여전히 문제를 해결할 수 없는 경우 Github 이슈를 열어주세요.
기여하다
KiCad MCP 서버에 기여하고 싶으신가요? 이 프로젝트 개선에 도움을 주실 수 있는 방법은 다음과 같습니다.
- 저장소를 포크하세요
- 기능 브랜치 생성
- 변경 사항을 추가하세요
- 풀 리퀘스트 제출
기여할 수 있는 주요 분야:
- 회로 패턴 인식 시스템에서 더 많은 구성 요소 패턴에 대한 지원 추가
- 문서 및 예제 개선
- 새로운 기능 추가 또는 기존 기능 향상
- 버그 수정 및 오류 처리 개선
자세한 기여 지침은 CONTRIBUTING.md를 참조하세요.
미래 개발 아이디어
기여하고 싶으신가요? 향후 개발을 위한 몇 가지 아이디어를 소개합니다.
- 3D 모델 시각화 - PCB의 3D 모델을 시각화하는 도구 구현
- PCB 검토 도구 - 설계 검토를 위한 주석 기능 생성
- 제조 파일 생성 - Gerber 파일 및 기타 제조 출력 생성 지원 추가
- 구성 요소 검색 - KiCad 라이브러리 전반의 구성 요소에 대한 검색 기능 구현
- BOM 개선 - 구성 요소 소싱 및 가격 책정을 위한 공급업체 통합 추가
- 대화형 디자인 점검 - 디자인 품질 점검을 위한 대화형 도구 개발
- 웹 UI - 구성 및 모니터링을 위한 간단한 웹 인터페이스 만들기
- 회로 분석 - 자동 회로 분석 기능 추가
- 테스트 범위 - 코드베이스 전체에서 테스트 범위 개선
- 회로 패턴 인식 - 더 많은 구성 요소 유형과 회로 토폴로지로 패턴 데이터베이스 확장
특허
이 프로젝트는 MIT 라이선스에 따라 오픈 소스입니다.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
KiCad 전자 설계 프로젝트와의 상호작용을 가능하게 하는 모델 컨텍스트 프로토콜 서버로, 사용자는 프로젝트를 나열하고, PCB 설계를 분석하고, 설계 규칙 검사를 실행하고, 자연어를 통해 PCB 레이아웃을 시각화할 수 있습니다.
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables interaction with Shortcut (formerly Clubhouse) project management tool, allowing users to view and search projects, stories, epics, and objectives, as well as create new items through natural language.Last updated -3Python
- -security-license-qualityA specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.Last updated -1TypeScript
- -securityAlicense-qualityA Model Context Protocol server that enables users to create, check status, and get details of projects on Loveable.dev, a platform for quickly creating applications.Last updated -JavaScriptISC License
- -securityAlicense-qualityA Model Context Protocol server that integrates Claude with Blender, enabling users to analyze and interact with IFC (Industry Foundation Classes) building models through natural language commands.Last updated -5PythonMIT License