KiCAD MCP:AI辅助PCB设计
KiCAD MCP 是一种模型上下文协议 (MCP) 实现,它使像 Claude 这样的大型语言模型 (LLM) 能够直接与 KiCAD 交互进行印刷电路板设计。它在 AI 助手和 KiCAD PCB 设计软件之间建立了标准化的通信桥梁,允许通过自然语言控制高级 PCB 设计操作。
🎉 新功能!原理图生成
**我们很高兴地宣布新增原理图生成功能!**现在,除了 PCB 设计之外,KiCAD MCP 还支持 AI 助手:
- 通过自然语言创建和管理 KiCAD 原理图
- 将电阻器、电容器和 IC 等元件添加到原理图
- 用电线连接组件以创建完整的电路
- 以 KiCAD 格式保存和加载原理图文件
- 将原理图导出为 PDF
这一强大的附加功能完善了 PCB 设计工作流程,允许 AI 助手在单一集成环境中帮助进行原理图捕获和 PCB 布局。
项目状态
该项目已完成并可供生产使用:
- 实现了与 KiCAD 9.0 的完全 Python 接口兼容性
- 创建了模块化且可维护的组件架构
- 实施用于电路板操作、元件放置和布线的综合工具
- 从项目创建到组件放置和布线,成功测试了操作
- 创建了一个精简的 MCP 服务器实现,可以可靠地将命令传递给 KiCAD
该服务器与 Cline/Claude 无缝协作,通过自然语言实现 AI 辅助 PCB 设计。
它的作用
KiCAD MCP 通过使 AI 助手能够执行以下操作,从而改变工程师和设计师使用 KiCAD 的方式:
- 通过自然语言请求创建和管理 KiCAD PCB 项目
- 创建包含组件和连接的原理图
- 操控电路板的几何形状、轮廓、层和属性
- 以各种模式(网格、圆形、对齐)放置和组织组件
- 布线、差分对和创建铜箔
- 实施设计规则并执行设计规则检查
- 生成各种格式的导出(Gerber、PDF、SVG、3D 模型)
- 向 AI 助手提供有关电路板的全面背景信息
这使得自然语言驱动的 PCB 设计工作流程成为可能,其中可以用简单的英语请求复杂的操作,同时仍然保持工程师的全面监督和控制。
核心架构
- TypeScript MCP 服务器:实现人因模型上下文协议规范,以便与 Claude 和其他兼容的 AI 助手进行通信
- 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
- 从KiCAD 官方网站下载 KiCAD 9.0
- 运行安装程序并选择默认安装选项
- 确保已安装 Python 模块(包含在默认安装中)
步骤 2:克隆并设置 KiCAD MCP 存储库
步骤3:配置Cline(VSCode Claude扩展)
- 如果尚未安装 VSCode,请从官方网站安装
- 从 VSCode 市场安装 Cline 扩展(Claude for VSCode)
- 编辑 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
- Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Windows:
- 将此配置添加到文件(根据系统需要更新路径):
- 重新启动 VSCode 或重新加载窗口以使更改生效。
步骤 4:验证安装
- 使用 Cline 扩展打开 VSCode
- 与 Claude 开始新的对话
- 要求 Claude 创建一个新的 KiCAD 项目:
- Claude 应该使用 KiCAD MCP 创建项目并报告成功
使用示例
以下是您可以要求 Claude 使用 KiCAD MCP 执行的操作的一些示例:
项目管理
方案设计
电路板设计
元件放置
路由
设计规则和导出
按类别划分的功能
项目管理
- 使用可自定义的设置创建新的 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 协议的主服务器
- 使用 STDIO 传输与 Cline 进行可靠通信
- 管理 KiCAD 操作的 Python 进程
- 处理命令排队、错误恢复和响应格式化
Python接口
- kicad_interface.py :主要的 Python 接口:
- 解析通过 stdin 接收的 JSON 命令
- 将命令路由到适当的专门处理程序
- 通过 stdout 返回 JSON 结果
- 使用详细信息优雅地处理错误
- 模块化指挥结构:
commands/project.py
:项目创建、打开、保存commands/schematic.py
:原理图创建和管理commands/component_schematic.py
:原理图组件操作commands/connection_schematic.py
:线路和连接管理commands/library_schematic.py
:符号库集成commands/board/
:模块化电路板操作功能size.py
:棋盘尺寸操作layers.py
:图层管理outline.py
:板轮廓创建view.py
:可视化功能
commands/component.py
元件放置和操作commands/routing.py
:跟踪路由和网络管理commands/design_rules.py
和规则配置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 是否指向正确的位置
- 尝试直接运行一个简单的 KiCAD Python 脚本,以确保 pcbnew 模块可访问
问题:Claude 无法找到或加载您的 KiCAD 项目
- 引用项目位置时使用绝对路径
- 确保运行 VSCode 的用户具有目录的访问权限
获取帮助
如果您遇到本故障排除部分未涵盖的问题:
- 检查控制台输出的错误消息
- 在 GitHub 存储库的“问题”部分中查找类似问题
- 打开一个新问题,提供有关问题的详细信息
贡献
欢迎为本项目做出贡献!您可以通过以下方式提供帮助:
- 报告错误:打开一个问题,描述出了什么问题以及如何重现它
- 建议功能:有想法?通过问题分享
- 提交 PR :修复了 bug 或添加了新功能?那就提交 PR 吧!
- 改进文档:帮助澄清或扩展文档
请遵循现有的代码风格并包含新功能的测试。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
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-MCP 服务器
Related MCP Servers
- Python
- MIT License
- -security-license-qualityVictoriaMetrics-mcp-serverLast updated -2JavaScript
- PythonMIT License