Skip to main content
Glama

KiCAD-MCP-Server

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

  1. KiCAD 官方网站下载 KiCAD 9.0
  2. 运行安装程序并选择默认安装选项
  3. 确保已安装 Python 模块(包含在默认安装中)

步骤 2:克隆并设置 KiCAD MCP 存储库

git clone https://github.com/kicad-ai/kicad-mcp.git cd kicad-mcp npm install npm run build

步骤3:配置Cline(VSCode Claude扩展)

  1. 如果尚未安装 VSCode,请从官方网站安装
  2. 从 VSCode 市场安装 Cline 扩展(Claude for VSCode)
  3. 编辑 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
  4. 将此配置添加到文件(根据系统需要更新路径):
"kicad": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "C:\\Program Files\\nodejs\\node.exe", "args": [ "C:/path/to/kicad-mcp/dist/kicad-server.js" ], "env": { "PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages", "DEBUG": "mcp:*" }, "transportType": "stdio" }
  1. 重新启动 VSCode 或重新加载窗口以使更改生效。

步骤 4:验证安装

  1. 使用 Cline 扩展打开 VSCode
  2. 与 Claude 开始新的对话
  3. 要求 Claude 创建一个新的 KiCAD 项目:
    Create a new KiCAD project named 'TestProject' in the 'test' directory.
  4. Claude 应该使用 KiCAD MCP 创建项目并报告成功

使用示例

以下是您可以要求 Claude 使用 KiCAD MCP 执行的操作的一些示例:

项目管理

Create a new KiCAD project named 'WiFiModule' in my Documents folder.
Open the existing KiCAD project at C:/Projects/Amplifier/Amplifier.kicad_pro

方案设计

Create a new schematic named 'PowerSupply'.
Add a 10kΩ resistor and 0.1µF capacitor to the schematic.
Connect the resistor's pin 1 to the capacitor's pin 1.

电路板设计

Set the board size to 100mm x 80mm.
Add a rounded rectangle board outline with 3mm corner radius.
Add mounting holes at each corner of the board, 5mm from the edges.

元件放置

Place a 10uF capacitor at position x=50mm, y=30mm.
Create a grid of 8 LEDs, 4x2, starting at position x=20mm, y=10mm with 10mm spacing.
Align all resistors horizontally and distribute them evenly.

路由

Create a new net named 'VCC' and assign it to the power net class.
Route a trace from component U1 pin 1 to component C3 pin 2 on layer F.Cu.
Add a copper pour for GND on the bottom layer.

设计规则和导出

Set design rules with 0.2mm clearance and 0.25mm minimum track width.
Export Gerber files to the 'fabrication' directory.

按类别划分的功能

项目管理

  • 使用可自定义的设置创建新的 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 的用户具有目录的访问权限

获取帮助

如果您遇到本故障排除部分未涵盖的问题:

  1. 检查控制台输出的错误消息
  2. 在 GitHub 存储库的“问题”部分中查找类似问题
  3. 打开一个新问题,提供有关问题的详细信息

贡献

欢迎为本项目做出贡献!您可以通过以下方式提供帮助:

  1. 报告错误:打开一个问题,描述出了什么问题以及如何重现它
  2. 建议功能:有想法?通过问题分享
  3. 提交 PR :修复了 bug 或添加了新功能?那就提交 PR 吧!
  4. 改进文档:帮助澄清或扩展文档

请遵循现有的代码风格并包含新功能的测试。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mixelpixx/KiCAD-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server