数字调音台控制服务器

OSC MCP Server是一款通过OSC协议控制Behringer X-Air XR18数字调音台的服务器,提供通道控制、总线管理、EQ调节等功能。

  • by darkwings
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 darkwings/OSC_MCP

使用说明

OSC MCP服务器

MCP服务器,用于通过开放式声音控制(OSC)协议控制Behringer X-Air XR18数字混音器。

特性

  • 18个输入通道 带推子、静音、均衡器(4个频段)和总线发送
  • 6辆公共汽车 (监视器/辅助)带推子和静音
  • 主LR输出 控制
  • 4个外汇槽 具有发送级别和静音功能
  • 符号命名 --按名称(如“Kick”、“Drummer”)而不是数字指代频道和公交车
  • dB到浮点数转换 --以dB为单位工作,服务器处理XR18的非线性推子刻度
  • 持久连接 --服务器会记住会话中的最后一个混音器IP
  • 原始OSC逃生口 对于任何不受支持的命令

先决条件

  • Python>=3.11
  • 紫外线 包管理器
  • 本地网络上的Behringer XR18(或其他X-Air混音器)

安装

git clone https://github.com/darkwings/OSC_MCP.git
cd OSC_MCP
uv sync

运行服务器

# Run via stdio (used by MCP clients)
uv run osc-mcp

# Or use the MCP inspector for interactive testing
uv run mcp dev src/osc_mcp/server.py

添加到MCP客户端

克劳德桌面版

最简单的方法是使用内置的install命令:

uv run mcp install src/osc_mcp/server.py --name "OSC Mixer"

或者,打开Claude Desktop并转到 设置>开发人员>编辑配置,然后添加:

{
  "mcpServers": {
    "osc-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/OSC_MCP", "osc-mcp"]
    }
  }
}

保存后重新启动Claude Desktop。

克劳德代码

claude mcp add osc-mcp -- uv run --directory /absolute/path/to/OSC_MCP osc-mcp

或手动添加到 .mcp.json 或 ~/.claude/mcp.json:

{
  "mcpServers": {
    "osc-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/OSC_MCP", "osc-mcp"]
    }
  }
}

光标

首选 设置>MCP服务器>添加服务器 并使用:

  • 类型标准: stdio
  • 命令: uv run --directory /absolute/path/to/OSC_MCP osc-mcp

通用MCP客户端

任何兼容MCP的客户端都可以使用stdio传输进行连接:

uv run --directory /absolute/path/to/OSC_MCP osc-mcp

替换 /absolute/path/to/OSC_MCP 使用克隆存储库的实际路径。

用法

一旦服务器在MCP客户端中运行:

  1. 连接: connect_mixer("192.168.1.1") --IP已保存以备将来会话使用
  2. 命名您的频道: assign_channel_name(1, "Kick"), assign_bus_name(2, "Drummer")
  3. 控制: set_channel_fader("Kick", -5), set_channel_send_to_bus("Kick", "Drummer", -10)

在后续会话中,服务器会自动重新连接到最后一个已知的混音器IP。如果混音器无法访问(例如不同的网络),则会提示代理请求新的IP。

可用工具

工具 说明
connect_mixer 通过IP:端口连接到混音器
assign_channel_name 命名频道(1-18)
assign_bus_name 命名一辆公交车(1-6)
list_names 显示所有名称分配
set_channel_fader 设置信道电平(dB)
set_channel_mute 将频道静音/取消静音
get_channel_fader 查询当前渠道级别
set_bus_fader 设置总线电平(dB)
set_bus_mute 将公交车静音/取消静音
set_channel_send_to_bus 设置频道→总线发送级别
get_channel_send_to_bus 查询渠道→总线发送级别
set_main_fader 设置主LR级别
set_main_mute 静音/取消静音主LR
set_channel_eq 设置EQ频段参数
set_channel_eq_on 启用/禁用通道均衡器
set_fx_send_fader 设置外汇发送级别
set_fx_send_mute 静音/取消静音FX发送
get_mixer_info 查询混音器信息
send_raw_osc 发送任何原始OSC消息

运行测试

uv run pytest

许可证

Apache许可证2.0