返回市场
KiCad麦普Python服务器

KiCad麦普Python服务器

作者:Finerestaurant23 星标更新:2025-07-16

项目介绍

技术文档摘要

KiCad MCP 服务器

该项目是一个用于 KiCad 的模型上下文协议(MCP)服务器。作为利用 KiCad 官方 IPC-API 的 MCP 服务器,它提供了最稳定可靠的方式让像 Claude 这样的 AI 模型与 KiCad 交互,自动化并辅助 PCB 设计和原理图任务。

主要功能

  • MCP 服务器实现:处理来自 MCP 客户端的请求。
  • KiCad 集成:使用 kicad-python 库与正在运行的 KiCad 会话通信。
  • 自动化工作流:使 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 查询板的整体状态信息进行综合分析。

快速开始

本项目使用 Poetry 管理依赖项。

1. 先决条件:安装 kicad-python

本项目使用 kicad-python 库作为 Git 子模块。因此,在运行本项目之前,必须构建并安装 kicad-python

  1. 克隆仓库并初始化子模块: 运行 git submodule update --initkicad-python 的源代码添加为子模块。

    git submodule update --init --depth 1
    
  2. 构建并安装 kicad-python: 导航到 kicad-python 目录,并按照该项目的 COMPILING.md 文件中的说明构建并安装库。

2. 配置环境变量

在运行服务器之前,需要在项目根目录 (KiCad-mcp-python/.env) 中创建一个 .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 例子:C:\Program Files\KiCad\7.0\bin\kicad-cli.exe
    • Linux 示例/usr/bin/kicad-cli
  • PCB_PATHS:您希望 MCP 服务器能够访问的 .kicad_pcb 文件的绝对路径的逗号分隔列表。

3. 安装并运行 MCP 服务器

  1. 安装依赖项: 安装 kicad-python 后,返回到本项目的根目录,并运行以下命令以安装剩余的依赖项:

    poetry install
    
  2. 启用 KiCad IPC 服务器: 启动 KiCad 并通过选择 工具 -> 外部插件 -> 启动服务器 来启用 IPC 服务器。

  3. 启动 MCP 服务器: 使用以下命令启动 MCP 服务器:

    poetry run python main.py
    

服务器现在等待来自 MCP 客户端的连接。

4. MCP 客户端配置

要使用此服务器与 MCP 客户端(如 VSCode 扩展)配合使用,需要正确配置服务器执行命令。

  1. 查找 Poetry 虚拟环境解释器路径: 运行以下命令以找到当前项目 Poetry 虚拟环境中安装的 Python 解释器的完整路径:

    poetry env info --path
    

    复制命令输出的路径(例如,/pypoetry/virtualenvs/kicad-mcp-python-xxxxxxxx-py3.10)。

  2. 添加 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,我们计划在开发完成后尽快实现这些功能。
  • 同时编辑/移动多个项目:我们将实现一次选择并修改或移动多个 PCB 项目的功能。
  • 工作流改进:我们将改进工具如项目创建和修改的逐步流程,以提供更高效且直观的 API。

更新日志

[0.2.0] (计划中)

  • 实现一次选择并修改或移动多个 PCB 项目的功能。
  • 创建提示部分,作为使用工具的指南。
  • 更新 get_board_status 以包含操作前后的板信息以及截图进行视觉验证。(0714 提交)

[0.1.0] - 2025-07-02

  • KiCad MCP 服务器的初始发布。
  • 支持基本的 PCB 对象操作(创建、修改、移动、删除)。
  • 包括 kicad-python 子模块安装在内的详细设置说明。