|
KiCad MCP Server 实战:用 AI 辅助 PCB 设计、原理图与布线

KiCad MCP Server 实战:用 AI 辅助 PCB 设计、原理图与布线

2026 年 8 月,GitHub 上 mixelpixx/KiCAD-MCP-Server 已积累超过 1,900 颗星,Seeed-Studio、lamaalrajih 等团队也各自推出了 KiCad MCP 实现。MCP(Model Context Protocol)正在从软件开发的 AI 编程助手,扩展到硬件设计的 AI 辅助 PCB 设计——这意味着你可以用 Claude、Cursor 等 AI 工具直接操作 KiCad,完成原理图分析、PCB 布线、DRC/ERC 检查等工作。

对于 IoT 硬件开发者来说,这是一个重要的信号:AI 不再只能写固件代码,它现在开始帮你画电路板了。本文将带你从零搭建 KiCad + MCP 环境,实战演示 AI 辅助 PCB 设计的全流程。

什么是 KiCad MCP Server?

KiCad MCP Server 是一个实现了 Model Context Protocol 的中间层服务,它让 AI 助手(如 Claude Desktop、Cursor、Windsurf)能够通过标准化的工具接口与 KiCad EDA 软件交互。

核心工作原理

用户(自然语言)→ AI 客户端(Claude/Cursor)→ MCP Server → KiCad 文件/API

MCP Server 将 KiCad 的能力封装为一组 JSON Schema 定义的工具(Tools),AI 客户端通过 MCP 协议调用这些工具。整个过程基于 stdio 通信,不需要额外的网络端口。

三大主流实现

项目Stars工具数侧重点许可证
mixelpixx/KiCAD-MCP-Server1,914146全面 PCB 设计自动化MIT
lamaalrajih/kicad-mcp49430+项目管理与分析MIT
Seeed-Studio/kicad-mcp-server8140+PCB 分析与验证开源

mixelpixx 是目前功能最全面的实现,146 个工具覆盖 13 个类别:原理图编辑、PCB 布局、自动布线(Freerouting 集成)、JLCPCB 元器件查询(250 万+)、Gerber 导出等。

Seeed-Studio 版本专注于 PCB 分析与验证,利用 pcbnew API 实现精确的走线长度分析、信号完整性检查和电源完整性分析,特别适合对信号质量有要求的 IoT 设备设计。

lamaalrajih 版本侧重项目管理和 BOM 生成,支持电路模式识别(自动识别降压/升压/线性稳压器拓扑),适合设计评审场景。

MCP 协议在硬件设计中的价值

为什么硬件设计需要 MCP?

传统硬件设计工作流是高度手动的:工程师在 KiCad 中逐个放置元器件、手动连线、逐条检查 DRC 规则。MCP 的价值在于将 AI 的推理能力引入这个流程:

  1. 原理图分析:AI 可以瞬间理解整个电路拓扑,识别电源域、信号链路、关键器件
  2. 设计审查:AI 自动检查 ERC 规则,发现悬空引脚、电源冲突等常见错误
  3. 布线辅助:AI 分析网表连接关系,建议关键信号的走线策略
  4. BOM 优化:AI 查询 JLCPCB 元器件库,推荐替代料、检查库存状态

这与软件领域的 AI 编程助手 是同一思路——用 AI 接管重复性工作,让工程师专注于设计决策。

MCP vs 传统脚本自动化

KiCad 本身支持 Python 脚本,但 MCP 的优势在于:

对比项Python 脚本MCP Server
交互方式编写代码、调试运行自然语言对话
学习成本需要学 KiCad API零代码,描述需求即可
上下文理解无,每次从头执行AI 理解整个项目上下文
错误处理手动 try/catchAI 自动分析错误并修复
适用场景批量重复操作探索性设计、分析、审查

环境搭建:KiCad + MCP + Claude/Cursor

前置条件

  • KiCad 8.0+(推荐 9.0 或 10.0)
  • Python 3.9+
  • Node.js 18+(部分功能需要)
  • AI 客户端:Claude Desktop、Cursor 或任何 MCP 兼容客户端

方案一:mixelpixx/KiCAD-MCP-Server(推荐入门)

这是功能最全面的实现,适合想要完整 PCB 设计自动化能力的用户。

安装步骤:

# 1. 克隆仓库
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server

# 2. 安装 Python 依赖
pip install -e .

# 3. 安装 Node 依赖(部分功能需要)
npm install

# 4.(可选)安装 Freerouting 用于自动布线
# 下载:https://github.com/freerouting/freerouting/releases
# 确保 Java 运行时已安装

Claude Desktop 配置:

编辑配置文件(路径因系统而异):

{
  "mcpServers": {
    "kicad": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "kicad_mcp_server"],
      "cwd": "/path/to/KiCAD-MCP-Server"
    }
  }
}

配置文件位置:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Claude Code CLI 配置:

claude mcp add kicad -s user -- python -m kicad_mcp_server

Cursor 配置:

在 Cursor 的 Settings → MCP 中添加相同的 JSON 配置即可。

方案二:Seeed-Studio/kicad-mcp-server(推荐分析验证)

如果你主要需要 PCB 分析和验证功能(信号完整性、电源完整性、DRC/ERC),这个版本更专业。

# 1. 克隆仓库
git clone https://github.com/Seeed-Studio/kicad-mcp-server.git
cd kicad-mcp-server

# 2. 使用 KiCad 自带的 Python 安装(关键!pcbnew 模块只在 KiCad Python 中可用)
# Windows: "C:\Program Files\KiCad\9.0\bin\python.exe" -m pip install -e .
# macOS: /Applications/KiCad/KiCad.app/Contents/Frameworks/python3/bin/python3 -m pip install -e .
# Linux: /usr/bin/python3 -m pip install -e .

# 3. 确保 kicad-cli 在 PATH 中
which kicad-cli

配置方式与 mixelpixx 版本相同,只需修改 commandcwd 路径。

方案三:lamaalrajih/kicad-mcp(推荐项目管理)

git clone https://github.com/lamaalrajih/kicad-mcp.git
cd kicad-mcp
make install  # 使用 uv 创建虚拟环境

# 配置环境变量
cp .env.example .env
# 编辑 .env 设置 KICAD_SEARCH_PATHS 为你的 KiCad 项目目录

实战一:AI 辅助画原理图

场景:设计一个 ESP32-C6 最小系统

让我们用 AI 辅助设计一个 ESP32-C6 最小系统原理图。这个场景与我们的 ESP32-C6 Matter 智能家居指南 中的硬件设计部分直接相关。

步骤 1:创建项目

在 Claude 中对话:

用户:创建一个名为 ESP32C6_MinSystem 的 KiCad 项目

AI 调用 create_kicad_project 工具,自动创建项目文件结构(.kicad_pro、.kicad_sch、.kicad_pcb)。

步骤 2:添加核心器件

用户:在原理图中添加以下器件:
- U1: ESP32-C6-MINI-1(主控模组)
- U2: AMS1117-3.3(3.3V LDO 稳压器)
- J1: USB-C 连接器(供电和数据)
- C1-C4: 100nF 去耦电容
- C5: 10uF bulk 电容
- R1-R2: 10kΩ 上拉电阻(用于 I2C)

AI 调用 search_symbols 查找库中的器件符号,然后用 add_component_from_library 逐个添加到原理图。mixelpixx 版本支持约 10,000 个动态加载的符号库。

步骤 3:连接线路

用户:连接以下线路:
- USB-C VBUS → AMS1117 输入
- AMS1117 输出 → ESP32-C6 3V3 引脚
- 所有去耦电容连接到对应电源和 GND
- I2C 上拉电阻连接到 SDA/SCL 线路

AI 调用 add_wire 工具完成连线。

注意:当前原理图编辑功能是实验性的。KiCad 没有提供原理图的 Python API,MCP Server 通过直接操作 S-expression 文件格式实现编辑。建议用 AI 完成初步布局后,在 KiCad GUI 中微调走线和位置。

场景:分析现有原理图

如果你已有一个原理图文件,AI 的分析能力更加实用:

用户:分析 /projects/IoT_Sensor/Board.kicad_sch 中的所有器件,
告诉我电源域分布和关键信号链路

AI 调用 list_schematic_componentslist_schematic_nets,返回完整的器件清单和网表分析。Seeed-Studio 版本还能通过 trace_netlist_connection 追踪特定器件的完整连接路径。

实战二:AI 辅助 PCB 布线

场景:ESP32-C6 开发板 PCB 布局分析

步骤 1:初始化 PCB 布局

用户:设置 PCB 板尺寸为 50mm x 30mm,4 层板,
最小线宽 0.15mm,最小间距 0.15mm

AI 调用 setup_pcb_layout 初始化 PCB 设计规则。

步骤 2:元器件布局建议

用户:根据原理图连接关系,建议元器件的 PCB 布局位置

mixelpixx 版本的 suggest_placement 工具会分析网表连接关系,给出基于连接密度的布局建议。这对于 IoT 设备常见的紧凑板型设计很有帮助。

步骤 3:自动布线

用户:使用 Freerouting 对这块板进行自动布线

AI 依次调用三个工具:

  1. export_dsn — 导出 Specctra DSN 格式
  2. autoroute — 调用 Freerouting 引擎完成布线
  3. import_ses — 将布线结果导入 KiCad

步骤 4:布线质量分析

用户:分析当前 PCB 的走线情况,检查 USB 差分对的等长匹配

Seeed-Studio 版本的 analyze_pcb_signal_integrity 工具会检查差分对长度匹配、RF 走线阻抗控制等信号完整性指标。analyze_pcb_power_integrity 则分析电源平面覆盖率和过孔分布。

DRC/ERC 自动检查

ERC(电气规则检查)

ERC 检查原理图的电气连接是否正确,是设计审查的第一道关卡:

用户:对当前原理图运行 ERC 检查,列出所有错误

AI 调用 run_erc(通过 kicad-cli),返回详细的违规列表:

  • 悬空引脚(未连接的输入/输出)
  • 电源冲突(多个输出短接)
  • 缺失电源标志
  • 引脚类型不匹配

Seeed-Studio 版本额外提供 detect_pin_conflicts 工具,能在 ERC 运行前预判潜在的引脚冲突。

DRC(设计规则检查)

DRC 检查 PCB 布局是否满足制造和电气规则:

用户:运行 DRC 检查,重点关注间距违规和过孔问题

AI 调用 run_drc,检查结果包括:

  • 铜皮间距不足
  • 走线宽度违规
  • 过孔到板边距离不足
  • 丝印重叠
  • 未连接的网表(ratsnest 残留)

自动化审查流程

一个典型的 AI 辅助设计审查流程:

1. 用户:运行 ERC → AI 发现 3 个悬空引脚
2. 用户:修复这些悬空引脚 → AI 添加适当的下拉/上拉电阻
3. 用户:再次运行 ERC → 通过
4. 用户:运行 DRC → AI 发现 2 处间距违规
5. 用户:调整走线解决间距问题
6. 用户:再次运行 DRC → 通过
7. 用户:生成 BOM → AI 输出完整物料清单

这种迭代式审查比手动检查效率高得多,尤其适合 PCB 设计新手 快速发现和修复常见问题。

与其他硬件 MCP 工具对比

KiCad MCP 不是唯一的硬件设计 MCP 工具。以下是当前主要的硬件 MCP 生态:

工具Stars领域许可证AI 客户端支持
mixelpixx/KiCAD-MCP-Server1,914PCB 设计MITClaude, Cursor, 任意 MCP
neka-nat/freecad-mcp1,8423D 机械设计MITClaude Desktop
lamaalrajih/kicad-mcp494PCB 分析MIT任意 MCP
Seeed-Studio/kicad-mcp-server81PCB 验证开源任意 MCP
Joe-Spencer/fusion-mcp-server48专业 CAD/CAMGPL v3.0Claude, Cursor

KiCad MCP vs FreeCAD MCP

  • FreeCAD MCP(1,842 星)专注于机械设计和 3D 建模,适合外壳、支架等结构设计
  • KiCad MCP 专注于电子设计和 PCB 布局,适合电路板设计
  • 两者互补:完整的 IoT 设备设计通常需要 FreeCAD(结构)+ KiCad(电路)

KiCad MCP vs Fusion 360 MCP

  • Fusion 360 MCP 有 Autodesk 官方支持,但社区采用率较低(48 星)
  • KiCad MCP 完全开源,有多个社区实现,迭代更快
  • Fusion 适合商业级产品设计,KiCad 适合创客和中小团队

未来展望

mixelpixx 正在开发 “Konnect”——一个基于 Rust 的原生 KiCad 10 插件,提供 171 个工具。这将大幅提升性能和稳定性,预计 2026 年下半年发布。

局限性和注意事项

当前局限

  1. 原理图编辑是实验性的:KiCad 没有原理图 Python API,MCP Server 通过直接操作 S-expression 文件实现编辑。导线连接可能不形成完美的电气连接,视觉对齐也比较基础。修改后需要关闭并重新打开 KiCad 才能看到变化(不支持热重载)。

  2. PCB 分析依赖 pcbnew 模块:完整的 PCB 分析(精确走线长度、信号完整性等)需要 pcbnew 模块,该模块只在 KiCad 自带的 Python 环境中可用。使用系统 Python 安装时只能获得基础数据。

  3. 实时 UI 集成仍在实验阶段:MCP Server 主要通过文件操作与 KiCad 交互,实时同步到 KiCad UI 的功能还不稳定。

  4. 版本兼容性:不同 MCP Server 对 KiCad 版本有不同要求。Seeed-Studio 版本需要 KiCad 8.0+(推荐 9.0/10.0),lamaalrajih 版本需要 KiCad 9.0+。

最佳实践建议

  • 设计工作用 KiCad GUI:元器件放置、关键信号走线等精细操作仍然建议在 KiCad 图形界面中完成
  • 分析和验证用 MCP:ERC/DRC 检查、网表分析、信号完整性检查、BOM 生成等重复性分析工作交给 AI
  • 代码生成用 MCP:设备树(.dts)生成、硬件测试代码生成等是 MCP 的强项
  • 保持 KiCad 和 MCP Server 版本同步更新:社区迭代很快,已知问题(如 SWIG 所有权 bug、net class 丢失等)在新版本中持续修复

总结评价

KiCad MCP Server 代表了 AI 辅助硬件设计的一个重要里程碑。虽然原理图编辑功能仍处于实验阶段,但 PCB 分析、DRC/ERC 检查、BOM 管理和代码生成等功能已经相当实用。

推荐指数

场景推荐度说明
设计审查与 DRC/ERC⭐⭐⭐⭐⭐最高价值场景,AI 分析效率远超手动
BOM 管理与器件查询⭐⭐⭐⭐⭐JLCPCB 250 万+器件库集成,非常实用
信号/电源完整性分析⭐⭐⭐⭐Seeed-Studio 版本表现优秀
原理图编辑⭐⭐实验性功能,建议仅做初步布局
PCB 自动布线⭐⭐⭐Freerouting 集成可用,但复杂板型仍需手动调整
代码生成(设备树/测试)⭐⭐⭐⭐Seeed-Studio 版本独有,嵌入式开发者福音

对于 IoT 硬件开发者,建议从 mixelpixx 版本入门(功能最全),如果需要深度 PCB 分析则搭配 Seeed-Studio 版本使用。随着 Konnect(Rust 原生插件)的发布和 KiCad 官方 IPC API 的成熟,AI 辅助 PCB 设计的体验还会持续提升。


常见问题(FAQ)

Q1:KiCad MCP Server 支持哪些 AI 客户端?

所有 KiCad MCP Server 都遵循 MCP 协议标准,支持任何 MCP 兼容客户端,包括 Claude Desktop、Claude Code CLI、Cursor、Windsurf 等。配置方式相同——在客户端的 MCP 配置文件中添加 KiCad Server 的 stdio 连接信息。

Q2:KiCad MCP Server 能完全替代手动 PCB 设计吗?

不能。当前原理图编辑功能是实验性的,KiCad 没有提供原理图 Python API,MCP Server 通过文件操作实现编辑,不支持热重载。最佳实践是:用 AI 做分析、验证和代码生成,用 KiCad GUI 做精细的设计工作。

Q3:哪个 KiCad MCP Server 版本最适合初学者?

推荐 mixelpixx/KiCAD-MCP-Server(1,914 星)。它功能最全面(146 个工具),社区最活跃,文档最完善。安装也最简单——pip install -e . 即可。如果你主要需要 PCB 信号完整性分析,可以额外安装 Seeed-Studio 版本。

Q4:MCP Server 支持哪些 KiCad 版本?

mixelpixx 和 Seeed-Studio 版本支持 KiCad 8.0+(推荐 9.0 或 10.0)。lamaalrajih 版本需要 KiCad 9.0+。建议使用最新稳定版 KiCad 以获得最佳兼容性。注意 Seeed-Studio 版本的 PCB 分析功能需要使用 KiCad 自带的 Python 环境(pcbnew 模块不可用于系统 Python)。

Q5:KiCad MCP 与 FreeCAD MCP 有什么区别?

两者面向不同的设计领域:KiCad MCP 专注于电子电路和 PCB 设计(原理图、布线、DRC),FreeCAD MCP 专注于机械设计和 3D 建模(零件、装配、外壳)。对于完整的 IoT 设备开发,两者可以互补使用——FreeCAD 设计结构件,KiCad 设计电路板。