本指南将帮助您设置用于KiCad的模型上下文协议(MCP)服务器。虽然本指南中的示例经常提到Claude Desktop,但该服务器与任何符合MCP标准的客户端兼容。您可以将其与Claude Desktop、您自己的自定义MCP客户端或任何实现Model Context Protocol的应用程序一起使用。
首先,让我们安装依赖项并设置我们的环境:
# 克隆仓库
git clone https://github.com/lamaalrajih/kicad-mcp.git
cd kicad-mcp
# 安装依赖项 – `uv` 将自动创建一个`.venv/` 文件夹
# (在macOS上先安装`uv`: `brew install uv` 或者 `pipx install uv`)
make install
# 可选:激活环境以手动运行命令
source .venv/bin/activate
创建一个.env文件来自定义服务器查找KiCad项目的路径:
# 复制示例环境文件
cp .env.example .env
# 编辑.env文件
vim .env
在.env文件中添加您的自定义项目目录:
# 添加到您的KiCad项目的路径(逗号分隔)
KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects/KiCad
一旦环境设置完成,就可以运行服务器了:
python main.py
现在,让我们配置Claude Desktop以使用我们的MCP服务器:
# 如果不存在,请创建目录
mkdir -p ~/Library/Application\ Support/Claude
# 编辑配置文件
vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"kicad": {
"command": "/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/.venv/bin/python",
"args": [
"/ABSOLUTE/PATH//TO/YOUR/PROJECT/kicad-mcp/main.py"
]
}
}
}
用实际的项目目录路径替换/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp。
关闭并重新打开您的MCP客户端以加载新的配置。
模型上下文协议(MCP)定义了三种主要方式来提供能力:
资源是LLM可以参考的只读数据源:
kicad://projects 返回所有KiCad项目的列表工具是执行操作或计算的功能:
open_project() 启动带有特定项目的KiCad提示是常见交互的可重用模板:
debug_pcb_issues 提示帮助用户解决PCB问题有关资源 vs 工具 vs 提示的更多信息,请参阅MCP文档。
KiCad MCP服务器提供了几个关键功能,每个功能都有详细的文档:
项目管理:列出、检查和打开KiCad项目
PCB设计分析:获取关于您的PCB设计和原理图的见解
网表提取:从原理图中提取和分析元件连接
物料清单(BOM)管理:分析和导出物料清单
示例:"为我的智能手表项目生成BOM" → 创建详细的物料清单
设计规则检查(DRC):使用KiCad CLI运行DRC检查,并跟踪随时间的变化
示例:"在我的电源板上运行DRC并与上周比较" → 显示修复违规情况的进度
PCB可视化:生成PCB布局的视觉表示
电路模式识别:自动识别原理图中的常见电路模式
更多示例和每个功能的详细信息,请参阅文档中的专用指南。您也可以询问LLM它有哪些可用工具!
虽然我们的文档经常展示如下示例:
显示我项目的DRC报告 /Users/username/Documents/KiCad/my_project/my_project.kicad_pro
您不需要键入文件的完整路径!LLM可以理解更自然的语言请求。
例如,您可以简单地问:
你能检查一下我的Arduino屏蔽项目是否有任何设计规则违规吗?
或者:
我正在处理温度传感器电路。你能识别它使用了什么模式吗?
LLM会理解您的意图,并从KiCad MCP服务器请求相关信息。如果需要澄清您指的是哪个项目,它会提问。
每个功能的详细文档都在docs/目录下:
KiCad MCP服务器可以通过环境变量或.env文件进行配置:
| 环境变量 | 描述 | 示例 |
|---|---|---|
KICAD_SEARCH_PATHS | 要搜索KiCad项目的目录的逗号分隔列表 | ~/pcb,~/Electronics,~/Projects |
KICAD_USER_DIR | 覆盖默认的KiCad用户目录 | ~/Documents/KiCadProjects |
KICAD_APP_PATH | 覆盖默认的KiCad应用程序路径 | /Applications/KiCad7/KiCad.app |
详情请参阅配置指南。
KiCad MCP服务器组织成模块化结构:
kicad-mcp/
├── README.md # 项目文档
├── main.py # 运行服务器的入口点
├── requirements.txt # Python依赖项
├── .env.example # 示例环境配置
├── kicad_mcp/ # 主包目录
│ ├── __init__.py
│ ├── server.py # MCP服务器设置
│ ├── config.py # 配置常量和设置
│ ├── context.py # 生命周期管理和共享上下文
│ ├── resources/ # 资源处理器
│ ├── tools/ # 工具处理器
│ ├── prompts/ # 提示模板
│ └── utils/ # 实用函数
├── docs/ # 文档
└── tests/ # 单元测试
要向KiCad MCP服务器添加新功能,请遵循以下步骤:
详情请参阅开发指南。
如果您遇到问题:
服务器未出现在MCP客户端中:
mcp包服务器错误:
~/Library/Logs/Claude/mcp-server-kicad.log(服务器特定日志)~/Library/Logs/Claude/mcp.log(通用MCP日志)工作目录问题:
.env文件中始终使用绝对路径详情请参阅故障排除指南。
如果仍然无法解决问题,请在Github上提交问题。
想为KiCad MCP服务器做出贡献吗?这里有一些方法可以帮助改进这个项目:
主要贡献领域:
详情请参阅贡献指南。
有兴趣贡献吗?这里有一些未来开发的想法:
此项目在MIT许可下开源。