KiCAD-MCP-Server

Integrations

  • Enables direct interaction with KiCAD PCB design software, allowing for natural language control of operations including project management, board design, component placement and manipulation, routing, design rule implementation, and exporting designs in various formats.

KiCAD MCP:AI辅助PCB设计

KiCAD MCP 是一种模型上下文协议 (MCP) 实现,它使像 Claude 这样的大型语言模型 (LLM) 能够直接与 KiCAD 交互进行印刷电路板设计。它在 AI 助手和 KiCAD PCB 设计软件之间建立了标准化的通信桥梁,允许通过自然语言控制高级 PCB 设计操作。

此外,Google-Search-MCP 也在这里,它可以执行 Google 搜索并查看页面:

https://github.com/mixelpixx/Google-Search-MCP-Server

KiCAD MCP 项目状态

  • 实现了与 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 操作,并具有全面的错误处理功能
  • 模块化设计:按领域(项目、电路板、组件、路由)组织功能,以实现可维护性和可扩展性

系统要求

  • 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

电路板设计

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 项目
  • 使用可选的新位置保存项目
  • 检索项目元数据和属性

电路板设计

  • 设置精确的电路板尺寸,支持公制和英制单位
  • 添加自定义板轮廓(矩形、圆角矩形、圆形、多边形)
  • 创建和管理具有各种配置的电路板层
  • 添加安装孔、文本注释和其他电路板功能
  • 可视化当前董事会状态

成分

  • 将具有指定封装的组件放置在精确的位置
  • 以网格或圆形图案创建组件阵列
  • 移动、旋转和修改现有组件
  • 对齐并均匀分布组件
  • 具有可自定义属性的重复组件
  • 获取详细的组件属性和列表

路由

  • 创建和管理具有特定属性的网络
  • 在元件焊盘或任意点之间布线
  • 添加过孔,包括盲孔和埋孔
  • 为高速信号创建差分对路由
  • 生成铜箔(接地层、电源层)
  • 使用特定的设计规则定义网络类

设计规则

  • 设置间隙、轨道宽度等全局设计规则。
  • 为不同的网络类定义特定的规则
  • 运行设计规则检查 (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/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

ID: mbakeskoz3