一款生产就绪的模型上下文协议(MCP)服务器,使像Claude这样的AI助手能够与KiCAD进行交互,实现PCB设计自动化。该服务器基于MCP 2025-06-18规范构建,提供了全面的工具模式和实时项目状态访问,以支持智能PCB设计工作流程。
模型上下文协议是由Anthropic提出的一个开放标准,允许AI助手安全地连接到外部工具和数据源。此实现提供了一个标准化的桥梁,连接AI助手和KiCAD,使得可以通过自然语言控制专业的PCB设计操作。
关键能力:
每个工具现在都包括完整的JSON模式定义,包括:
无需执行工具即可访问项目状态:
kicad://project/current/info - 项目元数据kicad://project/current/board - 板属性kicad://project/current/components - 组件列表(JSON)kicad://project/current/nets - 电气网络kicad://project/current/layers - 层堆栈配置kicad://project/current/design-rules - 当前DRC设置kicad://project/current/drc-report - 设计规则违规报告kicad://board/preview.png - 板预览图(PNG)服务器提供了52个工具,按功能类别组织:
create_project - 初始化新的KiCAD项目open_project - 加载现有项目文件save_project - 保存当前项目状态get_project_info - 获取项目元数据set_board_size - 配置PCB尺寸add_board_outline - 创建板边缘(矩形、圆形、多边形)add_layer - 向堆栈添加自定义层set_active_layer - 切换工作层get_layer_list - 列出所有板层get_board_info - 获取板属性get_board_2d_view - 生成板预览图像add_mounting_hole - 放置安装孔add_board_text - 添加文本注释place_component - 放置单个组件及其封装move_component - 移动现有组件rotate_component - 旋转组件delete_component - 从板上移除组件edit_component - 修改组件属性get_component_properties - 查询组件详情get_component_list - 列出所有已放置的组件place_component_array - 创建组件网格或图案align_components - 对齐多个组件duplicate_component - 复制现有组件add_net - 创建电气网络route_trace - 布设铜箔轨迹add_via - 放置过孔以过渡层delete_trace - 删除轨迹get_nets_list - 列出所有网络create_netclass - 定义具有规则的网络类add_copper_pour - 创建铜箔区域或填充route_differential_pair - 布设差分信号list_libraries - 列出可用的封装库search_footprints - 搜索封装list_library_footprints - 列出库中的封装get_footprint_info - 获取封装详情set_design_rules - 配置DRC参数get_design_rules - 获取当前规则run_drc - 执行设计规则检查get_drc_violations - 获取DRC错误报告export_gerber - 生成Gerber制造文件export_pdf - 导出PDF文档export_svg - 创建SVG矢量图形export_3d - 生成3D模型(STEP/VRML)export_bom - 生成物料清单create_schematic - 初始化新的原理图load_schematic - 打开现有原理图add_schematic_component - 放置符号add_schematic_wire - 连接组件引脚list_schematic_libraries - 列出符号库export_schematic_pdf - 导出原理图PDFcheck_kicad_ui - 检查KiCAD是否正在运行launch_kicad_ui - 启动KiCAD应用程序KiCAD 9.0 或更高版本
python3 -c "import pcbnew; print(pcbnew.GetBuildVersion())"
Node.js 18 或更高版本
node --version 和 npm --versionPython 3.10 或更高版本
MCP客户端 选择一个:
# 安装KiCAD 9.0
sudo add-apt-repository --yes ppa:kicad/kicad-9.0-releases
sudo apt-get update
sudo apt-get install -y kicad kicad-libraries
# 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 克隆并构建
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
npm install
pip3 install -r requirements.txt
npm run build
# 验证
python3 -c "import pcbnew; print(pcbnew.GetBuildVersion())"
自动化设置(推荐):
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
.\setup-windows.ps1
脚本将:
手动设置: 参见Windows安装指南获取详细步骤。
# 从kicad.org/download/macos下载KiCAD 9.0
# 安装Node.js
brew install node@20
# 克隆并构建
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
npm install
pip3 install -r requirements.txt
npm run build
编辑配置文件:
~/.config/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json配置:
{
"mcpServers": {
"kicad": {
"command": "node",
"args": ["/path/to/KiCAD-MCP-Server/dist/index.js"],
"env": {
"PYTHONPATH": "/path/to/kicad/python",
"LOG_LEVEL": "info"
}
}
}
}
特定平台的PYTHONPATH:
/usr/lib/kicad/lib/python3/dist-packagesC:\Program Files\KiCad\9.0\lib\python3\dist-packages/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages编辑:~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
使用与Claude Desktop相同的配置格式。
Claude Code会自动检测当前目录下的MCP服务器。不需要额外配置。
在我的文档文件夹中创建一个新的名为“LEDBoard”的KiCAD项目。
将板尺寸设置为50mm x 50mm,并添加一个矩形轮廓。
在每个角落放置一个安装孔,距离边缘3mm,直径3mm。
在前面丝印层的位置x=25mm,y=45mm处添加文本“LED控制器v1.0”。
使用封装LED_SMD:LED_0805_2012Metric在位置x=10mm,y=10mm处放置一个LED。
从位置x=20mm,y=20mm开始创建一个间距为5mm的4个电阻(R1-R4)网格。
水平对齐所有电阻并均匀分布它们。
创建一个名为“LED1”的网络,并从R1的第2个焊盘到LED1的阳极布设一条0.3mm宽的轨迹。
在底部层创建一个覆盖整个板的GND铜箔填充。
创建一个宽度为0.2mm,间隙为0.15mm的USB_P和USB_N差分对。
设置设计规则,最小间距为0.15mm,最小导线宽度为0.2mm。
执行设计规则检查并显示任何违规。
将Gerber文件导出到“fabrication”文件夹。
资源提供只读访问项目状态:
给我显示当前的组件列表。
当前的设计规则是什么?
显示板预览。
列出所有电气网络。
src/)python/)project.py - 项目操作board.py - 板操作component.py - 组件放置routing.py - 轨迹布线和网络design_rules.py - DRC操作export.py - 文件生成schematic.py - 原理图设计library.py - 封装库# 安装依赖项
npm install
pip3 install -r requirements.txt
# 构建TypeScript
npm run build
# 开发模式监视
npm run dev
# TypeScript测试
npm run test:ts
# Python测试
npm run test:py
# 包含覆盖率的所有测试
npm run test:coverage
# 检查TypeScript和Python代码
npm run lint
# 格式化代码
npm run format
症状: MCP服务器在Claude Desktop或Cline中未出现
解决方案:
ls dist/index.js症状: ModuleNotFoundError: No module named 'pcbnew'
解决方案:
python3 -c "import pcbnew"症状: 工具执行失败,错误信息不明确
解决方案:
~/.kicad-mcp/logs/kicad_interface.log症状: 服务器在Windows上无法启动
解决方案:
.\setup-windows.ps1C:\\Program Files\\KiCad\\9.0~/.kicad-mcp/logs/kicad_interface.logpython3 -c "import pcbnew; print(pcbnew.GetBuildVersion())")node --version)当前版本: 2.1.0-alpha
生产就绪功能:
开发中:
路线图:
详见ROADMAP.md获取详细的开发时间表。
欢迎贡献!请遵循以下指南: