4.2 KiB
4.2 KiB
KiCad MCP Pro 与 KiCadRoutingTools 协作
用户指定 PCB 设计过程中使用这两个工具。本文件规定分工和工程交接;路由参数的完整说明按需读取本机 kicad-routing-tools 技能。路径或版本变更时核实实际安装,不从旧记录推断能力。
分工与入口
| 工具 | 用途 | 本机入口 |
|---|---|---|
| kicad-mcp-pro | 工程信息、原理图/PCB/规则/叠层核查;能力与授权允许时进行布局及局部编辑;原生检查、审核和制造输出 | 已注册的 mcp__kicad__… 工具;服务程序 D:\AI软件\kicad-mcp-pro\.venv\Scripts\kicad-mcp-pro.exe |
| KiCadRoutingTools | 网络检查、扇出、单端/差分布线、调长、覆铜相关操作、独立连通性与几何 DRC | D:\AI软件\codex-skills\kicad-routing-tools\scripts\krt.ps1 |
| KiCad 原生 CLI/API | 保存后原生回读、填铜与 DRC;两工具未覆盖的必要局部几何处理 | C:\Program Files\KiCad\10.0\bin\kicad-cli.exe;专用 pcbnew Python |
2026-09-14 实测 MCP 3.34.3、KiCad CLI/IPC 10.0.3,服务当时为只读模式;这是环境快照,不能作为以后写操作已启用的依据。调用 kicad_get_version、必要时 kicad_get_server_info 核查能力/模式;用 kicad_set_project 绑定已确认的 PCB/原理图路径,再取工程信息及 project_get_next_action。工具建议不能覆盖用户限定的阶段。发现的工具元数据、调用参数和运行时能力优先于静态工具清单。
KiCadRoutingTools 本机版本 0.22.0,根目录 D:\AI软件\KiCadRoutingTools-0.22.0,Python 为 D:\AI软件\kicad-routing-env\Scripts\python.exe。通过 krt.ps1 使用 KiCad Python 3.11 和正确路径;不要混用 MCP 的 Python 3.13 环境。命令使用绝对路径并对路径、网络通配符加引号;先读相应命令帮助。
同一工程的交接
- 对齐 MCP 活动工程、GUI 实际打开的 PCB、磁盘输入和同名
.kicad_pro/.kicad_dru。已打开一块板不证明它就是请求对象;识别未保存状态,不覆盖用户编辑。 - 用
copy_board.py成套复制到独立候选路径,并确认自定义规则和库依赖齐全。修改限定于授权对象;固定布局任务禁止调用布局优化器移动器件。 - 对同一工程可能写入的 GUI/MCP、CLI 布线、填铜、DRC 和保存串行执行。外部文件更新后重新加载/绑定并读回确认,再做下一次编辑;禁止用 GUI 旧内存板覆盖磁盘新结果。
- 原生工具缺少某类操作时,可在独立副本用版本匹配的 API 或经验证的文件变换完成必要几何工作。保留两工具的工程核查和独立验收,不以自编脚本全面替代它们。
- 某工具或能力不可用时报告具体原因和未执行项,继续无依赖且获授权的工作;不能假称调用成功,也不能将缺失验收记为通过。
路由约束与最终验证
- 指定线宽、线距、过孔时使用适当的
--escalation off。不采用默认降级来获得表面连通,不擅自启用--clearance-ceiling或--relax-drc-severities。即使用--no-fix-drc-settings,仍比较前后工程规则,0.22.0 可能写入输出工程下限。 - 路由结束核查失败、开路、多端网络和实际铜连接,不以 routed 数量表示成功。
- 对最终保存版本执行 KiCadRoutingTools
check_connected.py、按实际项目规则配置的check_drc.py,以及原生 KiCad 填铜后的 DRC。检查独立工具默认跳过的项目,例如焊盘到板边;由原生或其它适用检查覆盖并披露范围。 - MCP 重新绑定最终结果,核对工程、叠层、规则和适用的原理图/PCB 一致性检查。MCP 若调用同一原生 CLI DRC,不算额外一次独立算法验证;不为凑次数重复同一检查。
- 使用 pcbnew 时取运行时层常量/层表,不硬编码 B.Cu 数字 ID;访问过孔线宽等 API 时遵循当前签名,必要时显式传铜层。圆弧必须按圆弧处理,不能由只认识线段的自编检查器静默按弦长或端点切向代替。
报告实际工具/后端、版本、对象哈希、参数、返回状态及检查范围;自动检查、解析模型、信号完整性仿真和实测的结论分别标识。