使用说明

项目简介

BOA Control Max MCP服务器是一个桥梁,旨在通过Model Context Protocol (MCP) 标准协议,使得AI工具能够与Autodesk 3ds Max软件进行交互。它允许AI工具,如Cursor等,通过发送符合MCP协议的请求,在3ds Max中执行MaxScript和Python代码,从而实现场景控制、自动化建模等功能。该项目由两部分组成:HTTP服务器作为MCP接口,以及运行在3ds Max内部的TCP服务器,两者协同工作,完成代码的远程执行和结果返回。

主要功能点

  • MCP协议支持: 实现了Model Context Protocol服务器,可以被任何兼容MCP协议的客户端(如Cursor)调用。
  • 远程代码执行: 支持在3ds Max中远程执行 MaxScript 和 Python 代码。
  • 工具注册: 注册了 'executeMxsCode' 和 'executePyCode' 两个工具,允许客户端指定语言和代码内容来执行。
  • 标准化接口: 通过MCP协议提供标准化的接口,方便AI工具集成和调用3ds Max的功能。
  • SSE结果流: 使用Server-Sent Events (SSE) 技术实时推送代码执行结果。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/franciscohermida/boa-control-max.git
    cd boa-control-max
  2. 安装依赖: 确保已安装 Node.js 和 pnpm,然后运行:

    pnpm install
  3. 启动开发服务器:

    pnpm run dev

    这将启动 HTTP 服务器和 MCP 服务器。

  4. 启动 3ds Max TCP 服务器: 在 3ds Max 的 Python 脚本编辑器中执行以下脚本,启动 TCP 服务器:

    import sys
    sys.path.append(r'C:\path\to\boa-control-max\packages\max-server\src\max-utils') # 将 'C:\path\to\boa-control-max' 替换为你的 boa-control-max 仓库的实际路径
    import maxPyTcpServer
    server = maxPyTcpServer.MaxMCPServer()
    server.start()

    注意: 你需要将 'C:\path\to\boa-control-max' 替换为 'boa-control-max' 仓库在你的本地文件系统中的实际路径。为了方便,可以将 'boa-control-max' 仓库放在一个固定的、容易访问的位置。

服务器配置

对于 MCP 客户端(例如 Cursor),你需要配置 MCP 服务器连接信息。以下是一个 '.cursor/mcp.json' 配置示例,你需要根据实际情况进行调整。

{
  "servers": [
    {
      "name": "BOA Control Max MCP Server",
      "command": "pnpm",
      "args": [
        "run",
        "dev"
      ],
      "serverTransport": "stdio"
    }
  ]
}

配置参数说明:

  • 'name': MCP 服务器的名称,可以自定义,用于在客户端中标识服务器。
  • 'command': 启动 MCP 服务器的命令。这里使用 'pnpm',因为项目使用 pnpm 管理包。
  • 'args': 启动命令的参数。 'run dev' 是 'package.json' 中定义的启动开发服务器的脚本。
  • 'serverTransport': 服务器传输协议,这里使用 'stdio' (标准输入/输出),这是 '@modelcontextprotocol/sdk/server/stdio.js' 使用的传输方式。

重要提示: 'command' 和 'args' 需要确保能够正确启动 'packages/max-mcp-server/src/server.ts' 文件中定义的 MCP 服务器。 如果你的环境配置不同,可能需要调整 'command' 和 'args'。 确保在运行 Cursor 等 MCP 客户端之前,已经成功启动了 HTTP 服务器和 3ds Max TCP 服务器。

基本使用方法

  1. 确保 3ds Max 软件已打开,并且 TCP 服务器脚本已经在 3ds Max 的 Python 环境中成功运行。
  2. 启动 BOA Control Max MCP 服务器 (如果尚未启动)。
  3. 在 MCP 客户端(如 Cursor)中启用并配置 "BOA Control Max MCP Server"。
  4. 在 MCP 客户端中,你可以使用注册的工具 'executeMxsCode' 和 'executePyCode' 来执行 MaxScript 或 Python 代码。 例如,在 Cursor 中,你可以使用 '@executeMxsCode' 或 '@executePyCode' 这样的语法,并提供 'code' 参数来指定要执行的代码。

示例 (在 Cursor 中使用):

@executePyCode code="import pymxs; rt = pymxs.runtime; sphere = rt.Sphere(); sphere.radius = 20"  创建一个半径为20的球体

请参考 MCP 客户端的文档,了解如何更详细地使用 MCP 服务器提供的工具。

信息

分类

桌面与硬件