项目简介
KiCAD MCP(Model Context Protocol)服务器是一个基于MCP协议的应用后端实现,旨在为大型语言模型(LLMs)提供与KiCAD PCB设计软件直接交互的能力。通过将KiCAD的功能封装为标准化的资源、工具和Prompt模板,它允许AI助手通过自然语言控制复杂的PCB设计操作,极大地提高了设计效率。
主要功能点
- 项目管理: 创建、打开、保存和获取KiCAD项目信息。
- 电路板设计: 设置板框尺寸、添加板框轮廓(矩形、圆形、多边形等)、添加安装孔、文本标注等。
- 元件操作: 放置、移动、旋转、删除、编辑、查找元件,获取元件属性和列表,支持元件阵列放置和对齐分布。
- 布线和覆铜: 添加网络(Net)、布线(单线或差分对)、添加过孔(Via)、创建覆铜区域(Zone)。
- 设计规则: 设置设计规则(如间距、线宽、过孔尺寸),运行设计规则检查(DRC),获取DRC违规列表。
- 导出功能: 导出各种格式的文件,包括Gerber文件、PDF、SVG、3D模型(STEP, VRML)、BOM(物料清单)、网表等。
- 上下文信息: 提供关于当前项目、电路板、元件、布线、设计规则等信息的资源,供LLM读取和理解。
- 引导式交互: 定义Prompt模板,引导LLM进行元件选型、布局策略、布线策略、设计规则开发、设计优化等任务。
安装步骤
-
安装 KiCAD 9.0 或更高版本:
- 从KiCAD官方网站下载并安装。
- 确保在安装过程中选中并安装了Python模块(通常是默认选项)。
-
安装 Node.js 和 npm:
- 从Node.js官方网站下载并安装 Node.js v18 或更高版本(npm 会随Node.js一起安装)。
-
克隆并设置 KiCAD MCP 仓库:
- 使用 Git 克隆仓库到本地:'git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git'
- 进入仓库目录:'cd KiCAD-MCP-Server'
- 安装Node.js依赖:'npm install'
- 构建项目:'npm run build'
-
配置 MCP 客户端 (例如 Cline):
- 安装兼容MCP协议的客户端(如 VSCode 扩展 Cline)。
- 找到客户端的MCP设置文件(Cline的路径示例在README中)。
- 添加 KiCAD MCP 服务器的配置信息。配置通常包含服务器名称、启动命令和参数、传输协议等。
服务器配置 (MCP客户端配置)
MCP客户端需要配置如何启动和连接 KiCAD MCP 服务器。以下是一个典型的 JSON 配置片段(以 Cline 为例,具体路径需根据您的系统安装位置调整):
// 示例 MCP 客户端配置 (JSON格式) { "kicad": { // 服务器名称,客户端用于识别 "autoApprove": [], // 自动批准的工具列表,通常为空或特定工具 "disabled": false, // 是否启用此服务器 "timeout": 60, // 请求超时时间 (秒) "command": "C:\\Program Files\\nodejs\\node.exe", // 启动服务器的可执行文件路径 "args": [ // 传递给启动命令的参数 "C:/path/to/KiCAD-MCP-Server/dist/kicad-server.js" // 服务器主脚本路径 (构建后在 dist 目录) ], "env": { // 传递给服务器进程的环境变量 "PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages", // KiCAD Python库路径 "DEBUG": "mcp:*" // 可选的调试输出 }, "transportType": "stdio" // 传输协议,此处使用标准输入输出 } }
配置完成后,重启您的MCP客户端(如VSCode)。
基本使用方法
通过配置好的MCP客户端与AI助手进行交互。使用自然语言描述您希望在KiCAD中执行的设计操作。AI助手会根据您的指令调用KiCAD MCP服务器提供的工具。
例如,您可以尝试以下指令:
- 'Create a new KiCAD project named 'MyFirstPCB' in my Documents folder.' (创建一个名为 'MyFirstPCB' 的新项目)
- 'Set the board size to 50mm x 30mm.' (设置板框大小为 50mm x 30mm)
- 'Place a component 'LED_0603' at position x=10mm, y=10mm, reference 'D1'.' (放置一个 LED 元件)
- 'Route a trace from D1 pad 2 to a point at x=40mm, y=20mm on layer B.Cu.' (进行布线)
- 'Run the Design Rule Check.' (运行DRC)
- 'Export Gerber files to the './gerber' directory.' (导出Gerber文件)
- 'Tell me about the current board size and layers.' (获取板框信息,通过读取资源实现)
服务器会执行相应的KiCAD操作,并将结果或错误信息返回给AI助手,助手再以自然语言形式反馈给您。
信息
分类
桌面与硬件