关于 ardour-mcp
ardour-mcp 是一个仍在积极开发中的 MCP 服务,通过 OSC 控制运行中的 Ardour 数字音频工作站。它面向希望从外部应用或脚本自动化播放、轨道和菜单操作的用户。
主要功能
- 01控制播放、停止、定位和速度
- 02管理轨道静音、独奏及录音状态
- 03调整轨道增益和电平
- 04执行 Ardour 通用菜单操作
- 05读取播放状态等信息
适用场景
- 01从外部脚本控制 Ardour 传输
- 02自动调整轨道状态和电平
- 03读取 Ardour 当前播放状态
- 04使用 stdio_client_tester 测试连接
MCP 相关
该服务将 MCP 请求转换为 OSC 消息并发送给运行中的 Ardour,为 MCP 客户端提供传输、轨道管理、菜单操作和状态读取工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Ardour MCP 服务
(正在积极开发中)
英语 | 俄语
英语
概述
ardour_mcp_server 是一个实现 Model Context Protocol(MCP)的服务,可通过 Open Sound Control(OSC)消息提供控制 Ardour(数字音频工作站)的接口。它允许外部应用程序或脚本与 Ardour 交互、自动执行任务并扩展其功能。
此服务会监听 MCP 请求,将其转换为 Ardour 专用的 OSC 消息,并发送给正在运行的 Ardour 实例。它还包含一个 stdio_client_tester 二进制文件,用于测试服务的功能。
功能
- 控制 Ardour 传输(播放、停止、定位、速度等)。
- 管理音轨(静音、独奏、启用录音、增益、微调)。
- 通过
/ardour/access_action执行 Ardour 的常规菜单操作。 - 读取 Ardour 状态(例如,播放状态)。
- 符合 MCP 规范的接口,便于集成。
前置条件
- Rust:确保已安装 Rust。可从 rust-lang.org 获取。
- Ardour:正在运行的 Ardour 6.x、7.x、8.x 或 9.x 实例。
- Ardour OSC 配置:
- 在 Ardour 中,前往
Edit > Preferences > Control Surfaces。 - 启用“OSC”。
- 确保“Listen Port (UDP)”设为
3819(如果使用其他端口,请更新服务配置)。 - 默认情况下,服务会向
127.0.0.1:3819发送消息。
- 在 Ardour 中,前往
构建服务
- 进入
MCP/ardour_mcp_server目录:cd MCP/ardour_mcp_server - 构建服务和测试工具:
也可以构建发布版本以获得更好的性能:cargo build
二进制文件将位于cargo build --releasetarget/debug/或target/release/中。
运行服务
可以直接运行服务:
cargo run --bin ardour_mcp_server
或者,构建后运行可执行文件:
./target/debug/ardour_mcp_server
# or ./target/release/ardour_mcp_server
服务将启动并等待 MCP 连接(例如,来自 stdio_client_tester 的连接)。
运行客户端测试工具
stdio_client_tester 通过标准输入/输出与服务通信。这是测试服务是否能与 Ardour 正确交互的好方法。
- 确保 Ardour 正在运行且已配置 OSC。
- 确保没有单独运行
ardour_mcp_server,因为测试工具会将其作为子进程启动。 - 运行测试工具:
测试工具的日志位于cargo run --bin stdio-client-testerMCP/ardour_mcp_server/logs/stdio_client_tester.log。 由测试工具运行时,服务的日志位于MCP/ardour_mcp_server/logs/ardour_mcp_server.log。
已实现的 OSC 命令
如需查看已实现的 OSC 命令及其对应的 MCP 工具列表,请参阅 doc/osc_ardour_list.md。
文件 doc/index.html 包含 Ardour 常规 OSC 功能的参考资料,内容摘自 Ardour 官方手册。请注意,index.html 中列出的命令并非全部都作为独立工具直接在此服务中实现;许多命令可通过通用的 access_action 工具调用。
俄语
概述
ardour_mcp_server 是一个实现 Model Context Protocol(MCP)的服务,可通过 Open Sound Control(OSC)消息提供控制数字音频工作站 Ardour 的接口。它允许外部应用程序或脚本与 Ardour 交互、自动执行任务并扩展其功能。
服务会接收 MCP 请求,将其转换为 Ardour 专用的 OSC 消息,并发送给正在运行的 Ardour 实例。项目还包含一个可执行文件 stdio_client_tester,用于测试服务的功能。
Возможности
- Управление транспортом Ardour (воспроизведение, остановка, перемотка, скорость и т.д.).
- Управление дорожками (mute, solo, включение записи, усиление, подстройка уровня).
- Выполнение общих действий из меню Ardour через
/ardour/access_action. - Чтение состояния Ardour (например, состояние воспроизведения).
- Интерфейс, совместимый с MCP, для легкой интеграции.
Требования
- Rust: Убедитесь, что у вас установлен Rust. Его можно скачать с rust-lang.org.
- Ardour: Запущенный экземпляр Ardour 6.x, 7.x, 8.x или 9.x.
- Настройка OSC в Ardour:
- В Ardour перейдите в
Edit > Preferences > Control Surfaces(илиПравка > Параметры > Управляющие устройства). - Включите "OSC".
- Убедитесь, что "Listen Port (UDP)" (Порт приема UDP) установлен на
3819(или обновите конфигурацию сервера, если используете другой порт). - По умолчанию сервер отправляет сообщения на
127.0.0.1:3819.
- В Ardour перейдите в
Сборка сервера
- Перейдите в директорию
MCP/ardour_mcp_server:cd MCP/ardour_mcp_server - Соберите сервер и тестер:
Вы также можете выполнить сборку в релизном режиме для лучшей производительности:cargo build
Исполняемые файлы будут находиться вcargo build --releasetarget/debug/илиtarget/release/.
Запуск сервера
Вы можете запустить сервер напрямую с помощью:
cargo run --bin ardour_mcp_server
Или, после сборки, запустите исполняемый файл:
./target/debug/ardour_mcp_server
# или ./target/release/ardour_mcp_server
Сервер запустится и будет ожидать MCP-соединений (например, от stdio_client_tester).
Запуск клиент-тестера
stdio_client_tester взаимодействует с сервером через стандартные потоки ввода/вывода. Это хороший способ проверить, корректно ли сервер взаимодействует с Ardour.
- Убедитесь, что Ardour запущен и настроен для OSC.
- Убедитесь, что
ardour_mcp_serverне запущен отдельно, так как тестер запустит его как дочерний процесс. - Запустите тестер:
Логи тестера будут находиться вcargo run --bin stdio-client-testerMCP/ardour_mcp_server/logs/stdio_client_tester.log. Логи сервера (при запуске через тестер) будут находиться вMCP/ardour_mcp_server/logs/ardour_mcp_server.log.
Реализованные OSC-команды
Список реализованных OSC-команд и соответствующих им MCP-инструментов смотрите в файле doc/osc_ardour_list.md.
Файл doc/index.html содержит справочную информацию об общих возможностях OSC в Ardour, извлеченную из официального руководства Ardour. Обратите внимание, что не все команды, перечисленные в index.html, напрямую реализованы как отдельные инструменты в этом сервере; ко многим из них можно получить доступ с помощью универсального инструмента access_action.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。