KiCAD-MCP-Server
让 Claude 等 AI 助手直接操控 KiCAD 进行 PCB 全流程设计的 MCP 协议服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 Claude 等 AI 助手直接操控 KiCAD 进行 PCB 全流程设计的 MCP 协议服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
KiCAD MCP Server 是一个基于 Anthropic Model Context Protocol(MCP)的服务器,它让 Claude 等 AI 助手能够直接操控 KiCAD 进行电路板设计——用对话的方式完成原理图绘制、PCB 布局、自动布线、BOM 生成等全流程操作。
如果你曾经用过 KiCAD(开源 PCB 设计工具)设计过电路板,一定记得那些繁琐的鼠标点击:从元件库中找到正确封装、逐个摆放、连接导线、配线……一个中等复杂度的 4 层板可能需要数百次操作,涉及数十个工具菜单。
而在大模型(LLM)浪潮席卷编程、写作、客服等领域之后,硬件工程师们自然开始思考:AI 能不能帮我设计电路板? 答案在 2025 年逐渐清晰——可以,但需要一个"翻译层":LLM 输出的是文本/结构化指令,而 KiCAD 接受的是 GUI 操作和 Python API。KiCAD MCP Server 正是这个翻译层,它实现了 MCP 协议(Anthropic 主导的 AI-工具交互开放标准),让 AI 的自然语言指令无缝转化为 KiCAD 的 PCB 设计操作。
项目作者 mixelpixx 自 2024 年开始持续维护,至今已迭代至 v2.2.3,拥有 1200+ GitHub Stars,在 PCB 设计 + AI 工具这一细分领域具有较高的关注度。
这是 KiCAD MCP Server 最令人印象深刻的能力——它将 KiCAD 的操作封装为结构化的 MCP 工具,AI 可以精确调用任意功能。工具按类别组织如下:
| 类别 | 工具数量 | 代表工具 |
|---|---|---|
| 项目管理 | 8 | create_project、open_project、save_project |
| 原理图 | 27+ | add_symbol、wire_connect、add_power_port |
| PCB 布局 | 20+ | place_component、move_component、rotate_component |
| 布线 | 10+ | route_trace、route_pad_to_pad、add_via |
| 设计规则 | 5 | set_design_rules、run_drc |
| 导出 | 12 | export_gerber、export_step、export_bom |
| 元件库 | 8 | search_footprint、load_footprint、search_symbol |
| 自动布线 | 6 | run_freerouting、optimize_routing |
| JLCPCB 集成 | 10+ | search_jlcpcb_parts、order_from_jlcpcb |
| 符号/封装创建 | 12 | create_footprint、create_symbol |
| Datasheet 管理 | 4 | attach_datasheet、fetch_datasheet |
工具数量庞大带来的问题是:把所有 122 个工具的 schema 都塞给 LLM 会极大消耗 token 配额。KiCAD MCP Server 的解决方案是路由器模式(Router Pattern):
list_tool_categories、get_category_tools、execute_tool、search_toolsAI 需要某个专业功能时,先调用路由工具查询类别,再按需执行具体工具。这套设计将 AI 的上下文占用从 122 个工具 schema 大幅削减约 70%,是目前 MCP 工具生态中少见的效率优化实践。
KiCAD MCP Server 通过 Python 层与 KiCAD 交互,支持两种后端:
pcbnew SWIG 绑定,通过文件读写方式操作 PCB 数据。KiCAD 7/8/9 均可使用。项目提供了自动检测逻辑,启动时优先尝试 IPC,失败则回退到 SWIG,用户无感知。
这是我认为最有实用价值的特性之一。项目内置了 JLCPCB 零件库连接器,可搜索 250 万+ 组件,AI 在设计原理图时可以:
download_jlcpcb.py 脚本一键生成生产文件这意味着 AI 辅助设计 → 直接下单生产的闭环,从理论变成可落地的工程流程。
内置 Freerouting autorouter 支持,AI 可以调用 run_freerouting 让算法自动完成 PCB 布线(需要 Java/Docker/Podman 运行时)。对于手动布线困难的 BGA 封装或高密度设计,这一功能大幅提升效率。
项目采用典型的双层架构:
AI Assistant (Claude)
│
│ MCP Protocol (STDIO / JSON-RPC 2.0)
▼
TypeScript MCP Server (src/)
│ spawn Python subprocess, pass JSON
▼
Python KiCAD Interface (python/)
│
├─ swig_backend.py (pcbnew SWIG API)
└─ ipc_backend.py (KiCAD 9.0 IPC API)
│
▼
KiCAD 7/8/9
**TypeScript 层(src/)**负责:
**Python 层(python/)**负责:
kicad_interface.py 是核心入口)关键设计亮点:
@modelcontextprotocol/sdk ^1.21.0,完全遵循 MCP 2025-06-18 规范src/logger.ts),支持 DEBUG/INFO/WARN/ERROR 四级语言构成:TypeScript(MCP 协议层)+ Python(KiCAD 接口层),各占约 50%。
代码规范:项目配置了完整的代码质量工具链:
ESLint + Prettier + TypeScript ESLintblack + mypy + flake8.pre-commit-config.yaml 配置了格式化和类型检查测试覆盖:vitest(TypeScript)+ pytest(Python),package.json 中 test 脚本同时运行两个测试套件,并支持覆盖率报告。这在 MCP Server 类项目中属于相当完整的测试实践。
文档质量:极高。docs/ 目录下有 24+ 个 Markdown 文档,覆盖架构说明、平台安装指南、工具索引、已知问题、路线图等。特别是 mcp-router-guide.md(36KB)和 ROUTER_ARCHITECTURE.md(13KB)详细解释了路由器模式的设计意图,这对于想扩展工具集的开发者非常友好。
MIT 许可证,开源可商用。
项目为每个平台提供了专用安装脚本:
setup-macos.sh(实际上是 Linux 脚本,内容兼容主流发行版)setup-windows.ps1 或 setup-windows-opencode.ps1依赖:Node.js ≥ 18、Python ≥ 3.9、本地安装的 KiCAD 7/8/9。
v2.2.3 的更新日志中提到多个 KiCAD 9 / Windows 特定修复(如 B.Cu 放置冻结、F.Cu 始终返回等),说明跨版本兼容仍是痛点。KiCAD 9 的 API 变化(SWIG 返回值改变、IPC API 行为差异)导致需要大量补丁式代码。
目前 LLM 对 KiCAD 操作指令的理解仍有局限,特别是在多层板、差分对、阻抗控制等高级场景。AI 可能生成违反设计规则的布局,需要工程师审核。
项目不支持 Docker 部署,这意味着团队中每个成员的本地环境都必须手动配置 KiCAD + Node.js + Python,协作场景下环境一致性难以保证。
GitHub 仓库有 25 个 open issues,虽然这说明社区参与活跃,但也反映出一些长期未解决的技术债务和兼容性问题。
KiCAD MCP Server 代表了一个新兴趋势:AI + 垂直领域工具的深度集成。与通用的 AI 编程助手(Cursor、Copilot)不同,它面向硬件设计这一具体场景,将 AI 的推理能力与工程工具的专业性结合。
从技术演进看,项目的发展路径清晰:
随着开源硬件生态(Arduino、Raspberry Pi Pico、ESP32)的持续火热,AI + PCB 设计工具的市场需求会进一步增长。KiCAD MCP Server 目前是该领域 Stars 最多的开源实现,具有先发优势。
KiCAD MCP Server 是 AI 辅助硬件设计领域的标杆级开源项目。它用 MCP 协议架起了 LLM 与 KiCAD 之间的桥梁,通过 122 个结构化工具和智能路由器,让自然语言设计 PCB 从概念走向工程实践。虽然在容器化、多用户协作方面存在局限,但其完整的技术架构、详尽的文档和活跃的社区维护,使其成为研究 AI + EDA 工具集成的最佳实践范本。
推荐指数:⭐⭐⭐⭐(4/5)——扣一分在容器化缺失和版本兼容维护成本。