Overview
What is ardour-mcp?
ardour-mcp is an MCP (Model Context Protocol) server that provides an interface for controlling the Ardour digital audio workstation via Open Sound Control (OSC) messages. It translates MCP requests into Ardour-specific OSC commands and sends them to a running Ardour instance. The project is under active development and includes a stdio_client_tester binary for testing.
How to use ardour-mcp?
Ensure Rust is installed, Ardour (6.x, 7.x, 8.x, or 9.x) is running, and OSC is enabled in Ardour’s preferences with the listen port set to 3819 (default). Build with cargo build inside the MCP/ardour_mcp_server directory, then run cargo run --bin ardour_mcp_server or the built executable. To test, run cargo run --bin stdio-client-tester while Ardour is running and the server is not running separately (the tester launches it as a child process).
Key features of ardour-mcp
- Control Ardour transport (play, stop, locate, speed).
- Manage tracks (mute, solo, record enable, gain, trim).
- Execute general Ardour menu actions via
/ardour/access_action. - Read Ardour playback state and other status.
- MCP-compliant interface for easy integration.
- Includes a stdio client tester for validation.
Use cases of ardour-mcp
- Automating Ardour transport and track operations from scripts or external tools.
- Integrating Ardour with AI assistants or chat-based workflows via MCP.
- Building custom remote control systems for Ardour sessions.
- Testing and prototyping Ardour OSC commands without manual interaction.
- Extending Ardour functionality by chaining multiple MCP tools.
FAQ from ardour-mcp
What versions of Ardour are supported?
Supported versions are Ardour 6.x, 7.x, 8.x, and 9.x.
How do I configure OSC in Ardour?
In Ardour, go to Edit > Preferences > Control Surfaces, enable "OSC", and set the "Listen Port (UDP)" to 3819 (or update the server configuration if using a different port).
How can I test if the server is working correctly?
Run the stdio_client_tester binary (via cargo run --bin stdio-client-tester). Ensure Ardour is running and the server is not already running – the tester launches the server as a child process.
Is there a list of implemented OSC commands?
Yes, see MCP/ardour_mcp_server/doc/osc_ardour_list.md for a list of implemented OSC commands and their corresponding MCP tools. The file doc/index.html contains a reference of Ardour’s general OSC capabilities, though not all commands there are directly implemented as distinct tools (many are accessible via access_action).
What is the default OSC port and address used by the server?
By default, the server sends OSC messages to 127.0.0.1:3819. The Ardour OSC control surface must listen on that port.