项目简介

MCP-FreeCAD集成服务器是一个基于 模型上下文协议 (MCP) 构建的应用后端,它充当人工智能助手与FreeCAD CAD软件之间的桥梁。通过此服务器,AI助手可以标准化地访问FreeCAD的功能和数据,实现智能化的CAD设计和操作。

主要功能点

  • 资源管理: 提供对FreeCAD CAD模型资源的访问和管理能力。
  • 工具注册与执行: 注册并允许AI助手调用FreeCAD的各种工具,例如创建几何体、模型操作、测量分析等。
  • 多种连接方式: 支持多种连接FreeCAD的方法,包括Socket服务器、CLI桥接和Mock连接,适应不同的使用场景。
  • 可配置性: 通过'config.json'文件灵活配置服务器参数和工具启用状态。
  • 兼容MCP客户端: 遵循MCP协议标准,可与任何兼容MCP协议的客户端(如Cursor IDE、AI助手等)进行交互。

安装步骤

  1. 安装 FreeCAD: 确保您的系统上已安装 FreeCAD 软件,并可以从命令行访问 'freecad' 命令。您可以从 FreeCAD 官网下载并安装:https://www.freecad.org/

  2. 安装 Python 依赖: 在您的Python环境中安装 'modelcontextprotocol' 库,这是运行MCP服务器所必需的依赖。打开终端并执行以下命令:

    pip install modelcontextprotocol

服务器配置

MCP服务器需要通过配置文件 'config.json' 进行配置。以下是一个示例配置,您可以根据需要进行修改:

{
    "server": {
        "name": "freecad-mcp-server",
        "version": "0.1.0"
    },
    "freecad": {
        "connection_method": "auto", // 连接FreeCAD的方法,可选 "auto", "server", "bridge", "mock",默认为 "auto"
        "host": "localhost",          // 当 connection_method 为 "server" 时,FreeCAD 服务器的主机地址
        "port": 12345,                // 当 connection_method 为 "server" 时,FreeCAD 服务器的端口
        "freecad_path": "freecad"     // 当 connection_method 为 "bridge" 时,FreeCAD 可执行文件的路径
    },
    "tools": { // 可选:控制启用的工具组
        "enable_smithery": true,
        "enable_primitives": true,
        "enable_model_manipulation": true,
        "enable_export_import": true,
        "enable_measurement": true,
        "enable_code_generator": true
    }
}

MCP客户端配置示例 (以JSON格式提供,用于配置MCP客户端连接到此服务器)

{
  "serverName": "freecad-mcp-server",  // MCP服务器名称,与config.json中的 server.name 一致
  "command": "./freecad_mcp_server.py", // MCP服务器启动命令 (根据实际脚本路径修改)
  "args": [],                            // 启动参数,默认为空
  "transport": "stdio"                   // 传输协议,默认为 stdio
}

请注意: MCP客户端需要配置 'command' 字段为 MCP服务器启动脚本的路径 ('./freecad_mcp_server.py'),以及传输协议 'transport: "stdio"'。'args' 字段在默认情况下为空,您可能需要根据实际情况添加额外的启动参数。

基本使用方法

  1. 启动 MCP 服务器: 打开终端,导航到 'freecad_mcp_server.py' 文件所在的目录,并执行以下命令启动服务器:

    ./freecad_mcp_server.py

    服务器将开始运行,并监听来自MCP客户端的连接。

  2. 连接 MCP 客户端: 使用任何兼容 MCP 协议的客户端连接到服务器。例如,使用 MCP 客户端工具,您可以执行类似以下的命令:

    mcp client connect stdio --command "./freecad_mcp_server.py"

    或者,如果您的客户端支持配置文件,请使用上面提供的 JSON 配置示例进行配置。

  3. 与 FreeCAD 交互: 通过 MCP 客户端,您可以向 MCP-FreeCAD 集成服务器发送请求,例如:

    • 列出可用工具: 查询服务器支持的工具列表。
    • 执行工具: 调用 FreeCAD 的工具来创建、修改 CAD 模型。
    • 获取资源: 获取 FreeCAD 文档、对象等资源的信息。

    例如,您可以指示 AI 助手创建一个铁砧模型:

    用户:请在 FreeCAD 中创建一个铁砧模型。
    助手:好的,我将使用 'smithery.create_anvil' 工具。
    [工具调用: smithery.create_anvil]
    [工具结果: {"anvil_id": "Anvil", "message": "已创建铁砧...", "success": true}]
    助手:我已经创建了铁砧模型。它具有默认尺寸。您想自定义它还是导出它?

信息

分类

桌面与硬件