KiCad MCP服务器
此项目是一个模型上下文协议(MCP)服务器,用于 基卡德.作为使用KiCad官方的MCP服务器 IPC-API公司,它为像Claude这样的AI模型提供了最稳定可靠的方式与KiCad交互,自动化和协助PCB设计和原理图任务。
主要特点
- MCP服务器实现:处理来自MCP客户端的请求。
- KiCad集成:使用以下命令与正在运行的KiCad会话通信
kicad-python图书馆。 - 自动化工作流程:使AI模型能够在KiCad项目中创建、修改和验证原理图和PCB布局。
布线
https://github.com/user-attachments/assets/e2ba57e7-2c77-4c56-a911-c461c77307e4
移动项目
https://github.com/user-attachments/assets/de6c93dc-8808-4321-827e-ebad0556e7b1
增强的董事会分析和行动验证
https://github.com/user-attachments/assets/0fea60de-d012-4b4d-bfa4-dd1b758b2c7f
此服务器具有以下功能 AnalyzeTools 以增强董事会分析。一个关键工具是 get_board_status,其中提供了PCB布局的全面概述,包括屏幕截图。
为了确保稳健可靠的操作,服务器使用 ActionFlowManager此管理器通过自动调用来协调操作的执行 get_board_status 在每个动作之前和之后。此流程为AI模型提供了关键上下文:
- 行动前分析:通过在行动前审查董事会的状态,该模型可以做出更明智的决策。
- 行动后验证:通过比较行动前后董事会的状态,该模型可以直观地确认操作成功并达到预期结果。
这种自动化验证过程显著提高了自动化PCB设计任务的准确性和可靠性。
它能做什么?
使用此MCP服务器,AI模型可以执行以下任务:
- 操纵PCB对象:
- 创建新项目(足迹、轨迹等) - 修改现有项目的属性 - 移动和旋转项目 - 删除不必要的项目
- 分析PCB:
- 获取板上特定类型的所有项目的列表。 - 使用查询板的整体状态信息 get_board_status 进行全面分析。
入门指南
此项目使用 诗歌 管理依赖关系。
1.先决条件:安装 kicad-python
该项目使用 kicad-python 库作为Git子模块。因此,您必须构建并安装 kicad-python 在运行此项目之前。
- 克隆存储库并初始化子模块:
运行git submodule update--init将kicad python的源代码添加为子模块。
git submodule update --init --depth 1- 构建和安装
kicad-python:
导航到 kicad-python 目录,并按照该项目中的说明进行操作 COMPILING.md 文件来构建和安装库。
2.配置环境变量
在运行服务器之前,您需要创建一个 .env 项目根目录中的文件(KiCad-mcp-python/.env).此文件对于依赖KiCad命令行界面(CLI)的工具至关重要,例如 get_board_status 其生成屏幕截图以提供板的视觉背景。它存储了服务器正常运行所需的环境变量。
创建一个名为的文件 .env 并添加以下内容,调整路径以匹配您的系统配置:
KICAD_CLI_PATH=/path/to/your/kicad-cli
PCB_PATHS=/path/to/your/project1.kicad_pcb,/path/to/your/project2.kicad_pcb变量解释:
KICAD_CLI_PATH:KiCad命令行界面(CLI)可执行文件的绝对路径。
- macOS示例: /Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli - Windows示例: C:\Program Files\KiCad\7.0\bin\kicad-cli.exe - Linux示例: /usr/bin/kicad-cli
PCB_PATHS:逗号分隔的绝对路径列表.kicad_pcb您希望MCP服务器能够访问的文件。
3.安装并运行MCP服务器
- 再进行:
曾经 kicad-python 如果已安装,请返回此项目的根目录并运行以下命令以安装其余依赖项:
poetry install- 启用KiCad IPC服务器:
启动KiCad并通过选择启用IPC服务器 工具->外部插件->启动服务器.
- 启动MCP服务器:
使用以下命令启动MCP服务器:
poetry run python main.py服务器现在正在等待来自MCP客户端的连接。
4.MCP客户端配置
要将此服务器与MCP客户端(例如VSCode扩展)一起使用,您需要正确配置服务器执行命令。
- 寻找诗歌虚拟环境诠释者之路:
运行以下命令以查找当前项目的Poetry虚拟环境中安装的Python解释器的完整路径:
poetry env info --path复制命令输出的路径(例如。, /pypoetry/virtualenvs/kicad-mcp-python-xxxxxxxx-py3.10).
- 添加MCP服务器配置:
将服务器信息添加到MCP客户端的配置文件中(例如。, mcp_servers.json)如下:
- command:通过附加以下命令输入解释器的完整路径 /bin/python 转到上面复制的路径。 - args:添加 ["/path/to/your/KiCad-mcp-python/main.py"] 指定要运行的脚本。确保提供完整、绝对的路径 main.py.
配置示例:
{
"servers": [
{
"name": "kicad-mcp-server",
"command": "/pypoetry/virtualenvs/kicad-mcp-python-xxxxxxxx-py3.10/bin/python",
"args": ["/path/to/your/kicad-mcp-python/main.py"],
}
]
}未来计划
- 原理图支持:目前正在开发KiCad中与原理图相关的API,我们计划在开发完成后立即在MCP中实现这些功能。
- 同时进行多项目编辑/移动:我们将实现一次选择、修改或移动多个PCB项目的功能。
- 工作流程改进:我们将改进项目创建和修改等工具的逐步流程,以提供更高效、更直观的API。
更新日志
\[0.2.0\](计划中)
- 实现一次选择、修改或移动多个PCB项目的功能。
- 创建一个提示部分,作为使用工具的指南。
- 更新
get_board_status包括手术前和手术后的板信息以及屏幕截图,以便进行视觉验证。 (0714提交)
\[0.1.0\] - 2025-07-02
- KiCad MCP服务器的初始版本。
- 支持基本的PCB对象操作(创建、修改、移动、删除)。
- 详细的设置说明,包括
kicad-python子模块安装。
