home / mcp / osc mcp server

OSC MCP Server

Controls Behringer X32/Midas M32 mixers over OSC via UDP for fader, mute, EQ, scenes, and more.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "anteriovieira-osc-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/osc-mcp/dist/index.js"
      ],
      "env": {
        "OSC_HOST": "192.168.1.70",
        "OSC_PORT": "10023"
      }
    }
  }
}

You can control Behringer X32, Midas M32 and similar digital mixers over OSC using this MCP server. It translates natural-language commands into OSC messages, letting you adjust faders, mute, pan, EQ, dynamics, scenes, routing, and more directly from Claude Desktop or other MCP clients. This server keeps your mixer responsive and programmable with a simple, chat-driven workflow.

How to use

Connect your mixer to the same network as your MCP client. Start the OSC MCP Server locally, then configure your MCP client to point to the server. You can issue natural language commands like setting a channel fader, muting channels or buses, adjusting EQ, saving or recalling scenes, and sending any OSC command to the mixer. The server exposes a wide range of controls, from basic fader operations to advanced routing and effect management.

Typical usage patterns include: setting and querying fader levels, muting and unmuting channels or buses, adjusting pan positions, enabling or tuning EQ bands, configuring dynamics, sending channels to buses or aux outputs, recalling or saving scenes, and applying custom OSC commands for features not covered by standard controls.

How to install

Prerequisites you need before installing the OSC MCP Server: Node.js 18 or higher, a digital mixer on your network, and Claude Desktop installed on your workstation.

Step 1: Install dependencies and build the project. Use your terminal to run the following commands in order.

# install dependencies
npm install

# build the project
npm run build

Configuration and usage notes

Environment variables control how the server connects to your mixer. Set OSC_HOST to the mixer's IP address and OSC_PORT to the mixer's OSC port.

OSC_HOST=192.168.1.70
OSC_PORT=10023

Running the server locally

Start the server using the runtime command shown in the setup guidance. You will run a Node.js process that starts the MCP server and keeps the UDP connection to the mixer alive.

npm start

Claude Desktop configuration (example)

Add this to your Claude Desktop config to run the OSC MCP Server as a local stdio process.

{
  "mcpServers": {
      "osc": {
      "command": "node",
      "args": [
        "/path/to/osc-mcp/dist/index.js"
      ],
      "env": {
        "OSC_HOST": "192.168.1.70",
        "OSC_PORT": "10023"
      }
    }
  }
}

Finding your mixer IP address

On your mixer, press the SETUP button, navigate to Network settings, and note the IP address shown.

Available tools

osc_set_fader

Set channel fader level (0.0-1.0)

osc_get_fader

Get current channel fader level

osc_mute_channel

Mute/unmute a channel

osc_get_mute

Get mute status of a channel

osc_set_pan

Set channel pan (-1.0 to 1.0)

osc_get_pan

Get channel pan position

osc_set_channel_name

Set channel name

osc_get_channel_name

Get channel name

osc_set_channel_source

Configure input source

osc_get_channel_source

Get input source

osc_set_eq

Set EQ band gain (-15dB to +15dB)

osc_get_eq

Get EQ band gain

osc_set_eq_frequency

Set EQ band frequency

osc_set_eq_q

Set EQ band Q factor

osc_set_eq_on

Enable/disable EQ

osc_set_gate

Set gate threshold (-80dB to 0dB)

osc_get_gate

Get gate threshold

osc_set_gate_on

Enable/disable gate

osc_set_compressor

Set compressor threshold and ratio

osc_set_compressor_attack

Set compressor attack time

osc_set_compressor_release

Set compressor release time

osc_set_compressor_on

Enable/disable compressor

osc_set_bus_fader

Set bus fader level

osc_get_bus_fader

Get bus fader level

osc_mute_bus

Mute/unmute a bus

osc_set_bus_pan

Set bus pan position

osc_set_bus_name

Set bus name

osc_set_aux_fader

Set aux fader level

osc_get_aux_fader

Get aux fader level

osc_mute_aux

Mute/unmute an aux output

osc_set_aux_pan

Set aux pan position

osc_send_to_bus

Set send level from channel to bus

osc_get_send_to_bus

Get send level from channel to bus

osc_send_to_aux

Set send level from channel to aux

osc_set_main_fader

Set main LR fader level

osc_get_main_fader

Get main LR fader level

osc_mute_main

Mute/unmute main LR mix

osc_set_main_pan

Set main LR pan position

osc_set_matrix_fader

Set matrix fader level

osc_mute_matrix

Mute/unmute a matrix output

osc_set_effect_on

Enable/disable an effect

osc_set_effect_mix

Set effect mix level

osc_set_effect_param

Set effect parameter value

osc_scene_recall

Recall a saved scene (1-100)

osc_scene_save

Save current mixer state as a scene

osc_get_scene_name

Get scene name

osc_get_mixer_status

Get mixer status and info

osc_custom_command

Send custom OSC command to the mixer