项目简介

MaxMSP MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端应用,旨在连接大型语言模型 (LLM) 与 MaxMSP 编程环境。它允许 LLM 通过标准化的工具接口与 MaxMSP 进行交互, enabling LLM to understand the structure of Max patches and to programmatically generate or modify them.

主要功能点

  • Max Patch 交互: 允许 LLM 通过调用工具在 MaxMSP 中执行各种操作,例如添加、删除、连接或断开对象。
  • 对象属性控制: 支持 LLM 设置 MaxMSP 对象的属性或发送消息,从而动态控制音频或视觉处理流程。
  • Patch 状态获取: 提供工具让 LLM 查询当前 Max Patch 的状态,包括现有对象列表、它们的连接关系、属性值,甚至获取对象在 Patch 中的文本内容。
  • 文档查询: 包含一个工具,允许 LLM 查询 MaxMSP 中特定对象的官方文档,帮助 LLM 理解对象的用途、输入/输出和参数。
  • 跨进程通信: 使用 Socket.IO 在 Python MCP 服务器和 MaxMSP 内部运行的 Node.js/Javascript 脚本之间建立通信桥梁。

安装步骤

  1. 安装 uv 包管理器:
    • macOS 和 Linux: 'curl -LsSf https://astral.sh/uv/install.sh | sh'
    • Windows: 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"'
  2. 克隆仓库:
    • 'git clone https://github.com/tiianhk/MaxMSP-MCP-Server.git'
    • 'cd MaxMSP-MCP-Server'
  3. 创建虚拟环境并安装Python依赖:
    • 'uv venv'
    • 'uv pip install -r requirements.txt'
  4. 配置MCP客户端: 运行安装脚本将服务器配置添加到您的MCP客户端(如Claude或Cursor)配置文件中。
    • 对于 Claude: 'python install.py --client claude'
    • 对于 Cursor: 'python install.py --client cursor'
  5. 在 Max Patch 中安装依赖: 打开仓库中的 'MaxMSP_Agent/demo.maxpat' 文件。在第一个标签页,点击 'script npm version' 确认 npm 已安装,然后点击 'script npm install' 安装所需的 Node.js 依赖。

服务器配置

MCP客户端需要配置如何启动这个MCP服务器。安装脚本 'install.py' 会自动生成并写入以下配置信息到客户端的配置文件中。

  • 服务器名称: MaxMSPMCP
  • 启动命令 (command): mcp
  • 命令参数 (args): run server.py (指示mcp客户端框架执行server.py文件作为MCP服务器)
  • 环境变量 (env):
    • 'PATH': 指向虚拟环境的 'bin' 目录,确保可以找到 'mcp' 命令。
    • 'VIRTUAL_ENV': 指向创建的Python虚拟环境路径。

这些配置信息是JSON格式,由'install.py'脚本生成,并写入到客户端的配置中,用户通常无需手动编辑。例如(这是一个概念性示例,实际由'install.py'生成):

"MaxMSPMCP": {
    "command": "mcp",
    "args": ["run", "/path/to/your/cloned/repo/server.py"],
    "env": {
        "PATH": "/path/to/your/cloned/repo/.venv/bin",
        "VIRTUAL_ENV": "/path/to/your/cloned/repo/.venv"
    }
}

基本使用方法

  1. 启动 MaxMSP MCP 服务器: 配置完成后,您的MCP客户端(如Claude或Cursor)在需要与MaxMSP交互时会自动启动MCP服务器。
  2. 启动 MaxMSP Agent: 在 MaxMSP 中打开 'MaxMSP_Agent/demo.maxpat',切换到第二个标签页,点击 'script start' 消息。这将启动 MaxMSP 内的 Socket.IO 服务器并尝试连接到 Python MCP 服务器。确保 MaxMSP Agent 成功连接。
  3. 通过 LLM 交互: 现在您可以通过支持 MCP 的 LLM 客户端与 MaxMSP 进行交互了。例如,让 LLM 解释当前的 Max Patch,或者要求 LLM 创建一个简单的合成器 Patch。LLM 会调用 MCP 服务器暴露的工具来执行这些操作。

信息

分类

AI与计算