Build and drive Max/MSP patches from Claude - OSC-over-UDP MCP server + skill (thispatcher dynamic patching, no externals, no mxj).
Build a whole patch at once from a graph. The patch is laid out automatically (no overlaps, flow top-to-bottom) and wired, then verifies and reports any connection that did not take.
Delete every object this server created (one delete per name).
Wire from_name:outlet -> to_name:inlet (0-indexed, left to right).
Create a [button] (bang) at (x, y). Returns its name.
Create a text comment at (x, y). Returns its name. Place comments BESIDE the object they label, never on top of an object.
Create a message box containing `text` at (x, y). Returns its name.
Create a number box at (x, y). float_box=True gives a [flonum], else an integer [number]. Returns its name.
Create a Max object box [maxclass args...] at (x, y). Returns its scripting name (e.g. obj_3). maxclass is the class itself (cycle~, *~), never the literal word 'object'. Example: max_create_object("cycle~", ["440"]).
Create a [slider] at (x, y). Returns its name.
Create a [toggle] at (x, y). Returns its name.
Delete a single object by name.
Remove the connection from_name:outlet -> to_name:inlet.
Look up an object's official reference (arguments, inlets, outlets, attributes, messages).
List the objects this server has created.
Mandatory first call. Returns the orientation guide and unlocks the other tools. Requires max/mcp_host.maxpat open in Max.
Read the live patch: every object (name, class, text) and connection, including hand-added objects.
Forward a message (args...) to a [receive <name>] / [r <name>] already present in the patch. Used to drive a running patch.
Start or stop global audio DSP.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 12 | 2026-07-28+ | v2 |