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客户端中运行:
- 连接:
connect_mixer("192.168.1.1")--IP已保存以备将来会话使用 - 命名您的频道:
assign_channel_name(1, "Kick"),assign_bus_name(2, "Drummer") - 控制:
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
