mcpField
M
MaxMSP-MCP Server

MaxMSP-MCP Server

Local
github.com/tiianhkMedia & Design285Updated 24w ago

About MaxMSP-MCP Server

An MCP server that lets LLMs read, explain and generate Max patches for Max/MSP/Jitter. The agent can inspect objects in the current patch and subpatch windows and consult official object documentation. This is a third-party implementation and is not made by Cycling '74.

Key features

  1. 01Explains the structure and objects of a Max patch
  2. 02Creates and modifies objects inside a patch
  3. 03Accesses official documentation for Max objects
  4. 04Reads objects in patch and subpatch windows

Use cases

  1. 01Understanding a Max patch written by someone else
  2. 02Generating audio patches such as an FM synth with an LLM
  3. 03Debugging patches and checking object behaviour

MCP support

The project is an MCP server that gives MCP clients the ability to read and modify Max patches, and install.py configures clients such as Claude and Cursor.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Note: An extended version by ersatzben and BenCello can be found at: https://github.com/ersatzben/maxmsp-mcp

MaxMSP-MCP Server

This project uses the Model Context Protocol (MCP) to let LLMs directly understand and generate Max patches.

Understand: LLM Explaining a Max Patch

img Video link. Acknowledgement: the patch being explained is downloaded from here. Text comments in the original file are deleted.

Generate: LLM Making an FM Synth

img Check out the full video where you can listen to the synthesised sounds.

The LLM agent has access to the official documentation of each object, as well as objects in the current patch and subpatch windows, which helps in retrieving and explaining objects, debugging, and verifying their own actions.

Installation

Prerequisites
  • Python 3.8 or newer
  • uv package manager
  • Max 9 or newer (because some of the scripts require the Javascript V8 engine), we have not tested it on Max 8 or earlier versions of Max yet.
Installing the MCP server
  1. Install uv:
# On macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. Clone this repository and open its directory:
git clone https://github.com/tiianhk/MaxMSP-MCP-Server.git
cd MaxMSP-MCP-Server
  1. Start a new environment and install python dependencies:
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
  1. Connect the MCP server to a MCP client (which hosts LLMs):
# Claude:
python install.py --client claude
# or Cursor:
python install.py --client cursor

To use other clients (check the list), you need to download, mannually add the configuration file path to here, and connect by running python install.py --client {your_client_name}.

Installing to a Max patch

Use or copy from MaxMSP_Agent/demo.maxpat. In the first tab, click the script npm version message to verify that npm is installed. Then click script npm install to install the required dependencies. Switch to the second tab to access the agent. Click script start to initiate communication with Python. Once connected, you can interact with the LLM interface to have it explain, modify, or create Max objects within the patch.

Disclaimer

This is a third party implementation and not made by Cycling '74.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.