使用说明
KICAD-MCP
一个MCP服务器,用于通过克劳德代码的IPC API控制KiCad 9。实验性——使用风险自负。
需求
- 启用API服务器的KiCad 9(首选项>插件>KiCad API服务器)
- Python>=3.10
- 紫外线
安装
git clone https://github.com/your-org/kicad-mcp
cd kicad-mcp
uv sync
添加到克劳德代码:
claude mcp add kicad -- uv --directory /path/to/kicad-mcp run kicad-mcp
或添加到 .claude/settings.json 手动:
"kicad": {
"command": "uv",
"args": ["--directory", "/path/to/kicad-mcp", "run", "kicad-mcp"]
}
打开A .kicad_pcb 在KiCad中创建文件,然后测试您的连接:
uv run kicad-mcp
运作原理
服务器连接到KiCad的本地UNIX套接字(/tmp/kicad/api.sock)使用 kicad-python 绑定。它将电路板数据和编辑操作作为MCP工具公开,允许Claude读取电路板状态并进行更改,这些更改会立即出现在KiCad编辑器中,并提供完全撤消支持。
所有位置均以毫米为单位。写入操作被封装在一个提交中,因此它们显示为一个撤消步骤。
可用工具
| 工具 | 说明 |
|---|---|
ping |
检查KiCad是否正在运行且可访问 |
get_version |
获取KiCad版本字符串 |
get_board_info |
足迹、轨迹、通孔、网络、区域的汇总计数 |
get_footprints |
列出足迹的位置、层和值;支持引用过滤器 |
get_nets |
按名称和代码列出所有网络 |
get_tracks |
列出所有铜轨道段 |
get_vias |
列出所有通孔 |
get_zones |
列出所有铜矿区 |
get_board_outline |
返回边缘。切割几何图形 |
get_component_connections |
显示每个组件所在的网络以及哪些其他组件共享这些网络 |
move_footprint |
将足迹移动到绝对位置 |
rotate_footprint |
以度为单位设置足迹的绝对旋转 |
batch_move_footprints |
在一个撤消步骤中最多移动约5个足迹 |
create_track |
将铜缆轨道段添加到命名网中 |
remove_items_by_id |
按KiCad项目ID删除板项目 |
refill_zones |
重新填充所有铜区 |
save_board |
将电路板保存到磁盘 |
令牌使用警告
一些工具可以在复杂的电路板上返回大量响应,并消耗大量上下文:
| 工具 | 为什么它可以很大 |
|---|---|
get_component_connections |
返回每个组件的每个网络加上所有共享的网络邻居——输出随O(组件×网络)增长。在致密的板上, 避免没有电话 reference 过滤器. |
get_footprints |
返回所有足迹。使用 reference_filter 缩小结果的论点(例如。 "U", "C")而不是拿走一切。 |
get_tracks |
每个轨道段一个条目——一个完全布线的板可以有数千个条目。 |
get_nets |
每个网一个条目——大型设计可以有数百个条目。更喜欢 get_board_info 快速计数。 |
示例用法
一旦添加到Claude Code中,用自然语言描述你想要什么:
“移动电路板轮廓内的所有组件,并将无源器件分组到它们连接的芯片旁边。”
“将晶体负载盖C3和C4布置到Y1。”
“显示与U1连接的所有内容。”
“重新填充区域并保存电路板。”
建于 克劳德代码
