项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,它通过 Python 接口连接到 Altium Designer 电路设计软件。其核心目的是让支持MCP协议的大语言模型(如 Claude for Desktop)能够理解和操作 Altium Designer 中的设计文件(原理图和PCB),从而实现通过自然语言对电路项目进行查询、修改甚至自动化操作。

主要功能点

本服务通过注册一系列工具(Tools)来提供与 Altium Designer 的交互能力:

  • 元件信息查询: 获取设计中所有元件的标识符、属性名称、属性值,或根据标识符获取特定元件的详细数据和引脚信息。
  • 原理图操作: 获取原理图中元件的定位数据;能够根据引脚列表创建新的原理图符号,并可获取符号放置规则或参考现有库符号。
  • PCB布局操作: 获取PCB中的所有网络名称、层信息、设计规则;可以创建网络类;能够获取选中元件的坐标;支持移动元件;提供布局复用工具,用于将一组元件的布局应用到另一组元件。
  • 通用功能: 能够获取当前Altium窗口的截图(支持原理图或PCB视图),以及检查MCP服务器自身的状态。

安装步骤

本服务目前主要在 Windows 操作系统上测试。Altium 脚本中的路径硬编码为 'C:\AltiumMCP',因此建议克隆到该目录。

  1. 克隆仓库: 将项目仓库克隆到 'C:' 目录下,确保项目文件位于 'C:\AltiumMCP'。
  2. 安装 uv: 使用 'uv' 工具管理 Python 依赖。
    • 打开 PowerShell 运行安装命令:
      powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    • 将 uv 的可执行文件路径添加到系统 PATH 环境变量中(通常是 'C:\Users<你的用户名>.local\bin',请根据实际情况调整)。
      set Path=C:\Users\nntra\.local\bin;%Path%
  3. 安装依赖: 打开命令提示符(cmd)或 PowerShell,进入 'C:\AltiumMCP' 目录,运行以下命令安装项目所需的 Python 包:
    uv sync
  4. Altium 脚本: 确保 Altium 脚本项目 ('AltiumScript\Altium_API.PrjScr') 存在于 'C:\AltiumMCP\AltiumScript' 目录下。
  5. 启动服务: 在命令提示符或 PowerShell 中,进入 'C:\AltiumMCP' 目录,通过 uv 运行服务器启动文件:
    uv run server.py
    首次运行服务时,它会尝试自动查找 Altium Designer 安装路径,如果找不到,会提示您手动选择 'X2.EXE' 文件。

服务器配置(用于MCP客户端)

MCP服务器需要通过支持MCP协议的客户端来连接和使用。您需要在客户端的配置文件中指定如何启动这个Altium MCP服务器。以下是配置示例,适用于像 Claude for Desktop 这样的客户端(具体配置方式请参考您的MCP客户端文档):

用户需要在客户端的配置文件(通常是一个 JSON 文件,例如 'claude_desktop_config.json')的 'mcpServers' 部分添加一个条目。例如:

{
    "mcpServers": {
        "altium": {  // 服务器的内部名称,客户端用它来引用该服务器
            "command": "uv", // 用于启动服务器进程的命令
            "args": [ // 命令的参数列表
                "--directory", "C:\\AltiumMCP", // uv 参数:指定工作目录
                "run", "server.py" // uv 参数:运行 server.py 文件
            ]
        }
    }
}

请注意: 客户端实际运行的 'command' 和 'args' 组合起来应该等同于您在安装步骤中用于启动服务的命令行 ('uv --directory C:\AltiumMCP run server.py')。确保 'command' 指向 'uv' 可执行文件(或在系统的PATH中能找到),且 'args' 中的路径与您实际克隆项目的路径一致。

配置完成后,重启您的MCP客户端,客户端应该能检测到并连接到 Altium MCP 服务器。

基本使用方法

  1. 确保 Altium Designer 正在运行,并且打开了您想要交互的电路设计项目(原理图或 PCB)。
  2. 启动 Altium MCP 服务器(按照安装步骤中的方法)。
  3. 启动您的MCP客户端(如 Claude for Desktop)。客户端应该会显示 Altium MCP 集成服务已可用(通常会显示一个图标,如 README 中的锤子图标)。
  4. 在客户端的聊天界面中,使用自然语言向大语言模型提出与您的 Altium 设计相关的请求或问题。大语言模型会识别您的意图,并调用 Altium MCP 服务器提供的相应工具来执行操作或获取信息。
  5. 根据请求,大语言模型会返回工具执行的结果或回答您的问题。对于需要用户交互(如选择元件)的工具,Altium Designer 可能会提示您进行操作。

例如,您可以尝试README中提供的命令示例:

  • "Get me all parts on my design made by Molex" (获取设计中所有Molex制造的元件)
  • "Give me the description and part number of U4" (告诉我元件 U4 的描述和型号)
  • "Get me all length matching rules" (获取所有长度匹配规则)

信息

分类

桌面与硬件